From 378fe10557b5bf4a7025759cc1fb96c0fd80a614 Mon Sep 17 00:00:00 2001
From: Ervin Molnar <58359015+molnarerwin@users.noreply.github.com>
Date: Fri, 22 Nov 2024 11:58:27 +0200
Subject: [PATCH 01/12] Added seeding for Provinces
---
composer.json | 2 +-
src/Contracts/Requests/CreateProvince.php | 1 +
src/Http/Controllers/CountryController.php | 10 ++++-
src/Http/Controllers/ProvinceController.php | 38 +++++++++++++------
src/Http/Requests/CreateProvince.php | 18 +++++++--
src/resources/views/country/show.blade.php | 5 ++-
src/resources/views/province/_index.blade.php | 8 ++++
7 files changed, 65 insertions(+), 17 deletions(-)
diff --git a/composer.json b/composer.json
index 5b56219..b1e5074 100644
--- a/composer.json
+++ b/composer.json
@@ -20,7 +20,7 @@
"ext-json": "*",
"konekt/concord": "^1.15",
"konekt/customer": "^3.0",
- "konekt/address": "^3.0",
+ "konekt/address": "^3.4",
"konekt/user": "^3.0",
"konekt/acl": "^2.0",
"konekt/menu": "^1.9",
diff --git a/src/Contracts/Requests/CreateProvince.php b/src/Contracts/Requests/CreateProvince.php
index 1687b5c..c66a8d7 100644
--- a/src/Contracts/Requests/CreateProvince.php
+++ b/src/Contracts/Requests/CreateProvince.php
@@ -8,4 +8,5 @@
interface CreateProvince extends BaseRequest
{
+ public function wantsToSeed(): bool;
}
diff --git a/src/Http/Controllers/CountryController.php b/src/Http/Controllers/CountryController.php
index b94630f..16c6a56 100644
--- a/src/Http/Controllers/CountryController.php
+++ b/src/Http/Controllers/CountryController.php
@@ -9,6 +9,7 @@
use Konekt\Address\Contracts\Country;
use Konekt\Address\Models\CountryProxy;
use Konekt\Address\Seeds\Countries;
+use Konekt\Address\Seeds\ProvinceSeeders;
use Konekt\AppShell\Contracts\Requests\CreateCountry;
use Konekt\AppShell\Contracts\Requests\UpdateCountry;
@@ -59,7 +60,14 @@ public function store(CreateCountry $request): RedirectResponse
public function show(Country $country): View
{
- return view('appshell::country.show', ['country' => $country]);
+ if ($country->provinces->isEmpty()) {
+ $availableProvinceSeeders = ProvinceSeeders::availableSeedersOfCountry($country->id);
+ }
+
+ return view('appshell::country.show', [
+ 'country' => $country,
+ 'availableProvinceSeeders' => $availableProvinceSeeders ?? [],
+ ]);
}
public function edit(Country $country): View
diff --git a/src/Http/Controllers/ProvinceController.php b/src/Http/Controllers/ProvinceController.php
index b80bf13..e342d6d 100644
--- a/src/Http/Controllers/ProvinceController.php
+++ b/src/Http/Controllers/ProvinceController.php
@@ -8,8 +8,10 @@
use Illuminate\Http\RedirectResponse;
use Konekt\Address\Contracts\Country;
use Konekt\Address\Contracts\Province;
+use Konekt\Address\Contracts\ProvinceSeeder;
use Konekt\Address\Models\ProvinceProxy;
use Konekt\Address\Models\ProvinceTypeProxy;
+use Konekt\Address\Seeds\ProvinceSeeders;
use Konekt\AppShell\Contracts\Requests\CreateProvince;
use Konekt\AppShell\Contracts\Requests\UpdateProvince;
@@ -30,17 +32,31 @@ public function create(Country $country): View
public function store(Country $country, CreateProvince $request): RedirectResponse
{
try {
- $province = ProvinceProxy::create(
- array_merge(
- $request->validated(),
- ['country_id' => $country->id]
- )
- );
-
- flash()->success(__(':name has been added to :country', [
- 'name' => $province->name,
- 'country' => $country->name
- ]));
+ if ($request->wantsToSeed()) {
+ if ($country->provinces->isNotEmpty()) {
+ flash()->error(__('Can not generate the data, because the list of provinces is not empty'));
+
+ return redirect()->back()->withInput();
+ }
+
+ /** @var ProvinceSeeder $seeder */
+ $seeder = ProvinceSeeders::make($request->getSeederId());
+ $seeder->run();
+
+ flash()->success(__('The provinces have been created'));
+ } else {
+ $province = ProvinceProxy::create(
+ array_merge(
+ $request->validated(),
+ ['country_id' => $country->id]
+ )
+ );
+
+ flash()->success(__(':name has been added to :country', [
+ 'name' => $province->name,
+ 'country' => $country->name
+ ]));
+ }
} catch (\Exception $e) {
flash()->error(__('Error: :msg', ['msg' => $e->getMessage()]));
diff --git a/src/Http/Requests/CreateProvince.php b/src/Http/Requests/CreateProvince.php
index 849f3d3..ce6a9a6 100644
--- a/src/Http/Requests/CreateProvince.php
+++ b/src/Http/Requests/CreateProvince.php
@@ -7,6 +7,7 @@
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Konekt\Address\Models\ProvinceTypeProxy;
+use Konekt\Address\Seeds\ProvinceSeeders;
use Konekt\AppShell\Contracts\Requests\CreateProvince as CreateProvinceContract;
class CreateProvince extends FormRequest implements CreateProvinceContract
@@ -16,9 +17,9 @@ public function rules(): array
$country = $this->route('country');
return [
- 'name' => 'required|string|max:255',
+ 'name' => 'required_without:seed|string|max:255',
'code' => [
- 'required',
+ 'required_without:seed',
'string',
'max:16',
'uppercase',
@@ -26,7 +27,7 @@ public function rules(): array
return $query->where('country_id', $country->id);
}),
],
- 'type' => ['required', 'string', 'max:255', Rule::in(ProvinceTypeProxy::values())],
+ 'type' => ['required_without:seed', 'string', 'max:255', Rule::in(ProvinceTypeProxy::values())],
'parent_id' => [
'sometimes',
'nullable',
@@ -35,9 +36,20 @@ public function rules(): array
return $query->where('country_id', $country->id);
}),
],
+ 'seed' => ['sometimes', 'string', Rule::in(ProvinceSeeders::ids())]
];
}
+ public function wantsToSeed(): bool
+ {
+ return $this->has('seed');
+ }
+
+ public function getSeederId()
+ {
+ return $this->input('seed');
+ }
+
public function attributes(): array
{
return [
diff --git a/src/resources/views/country/show.blade.php b/src/resources/views/country/show.blade.php
index 3327842..c302f8a 100644
--- a/src/resources/views/country/show.blade.php
+++ b/src/resources/views/country/show.blade.php
@@ -12,7 +12,10 @@
{{ __('Provinces') }}
- @include('appshell::province._index', ['provinces' => $country->provinces])
+ @include('appshell::province._index', [
+ 'provinces' => $country->provinces,
+ 'availableProvinceSeeders' => $availableProvinceSeeders,
+ ])
@stop
diff --git a/src/resources/views/province/_index.blade.php b/src/resources/views/province/_index.blade.php
index 9e03024..0924dc9 100644
--- a/src/resources/views/province/_index.blade.php
+++ b/src/resources/views/province/_index.blade.php
@@ -13,6 +13,14 @@
@endforeach
@can('create provinces')
+ @foreach($availableProvinceSeeders as $id => $class)
+ {!! Form::open(['route' => ['appshell.province.store', [$country, 'seed' => $id]], 'class' => 'd-inline']) !!}
+
+ {{ __('Generate :seeder', ['seeder' => ucfirst(Str::replace('_', ' ', Str::snake($id)))]) }}
+
+ {!! Form::close() !!}
+ @endforeach
+
{!! icon('+') !!}
From 3115962e528753a34c4e8076b749776375847e30 Mon Sep 17 00:00:00 2001
From: Ervin Molnar <58359015+molnarerwin@users.noreply.github.com>
Date: Fri, 22 Nov 2024 12:05:01 +0200
Subject: [PATCH 02/12] Changed an icon in Province show page
---
src/resources/views/province/show.blade.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/resources/views/province/show.blade.php b/src/resources/views/province/show.blade.php
index 83c3046..9e7ee34 100644
--- a/src/resources/views/province/show.blade.php
+++ b/src/resources/views/province/show.blade.php
@@ -16,7 +16,7 @@
@section('content')
-
+
{{ $province->name }}
From 9a09fb6c04c339bcfec5ef67bd9401f7d2fe498d Mon Sep 17 00:00:00 2001
From: Ervin Molnar <58359015+molnarerwin@users.noreply.github.com>
Date: Fri, 22 Nov 2024 12:14:05 +0200
Subject: [PATCH 03/12] Minor UI fixes on the Country show page
---
src/resources/views/province/_index.blade.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/resources/views/province/_index.blade.php b/src/resources/views/province/_index.blade.php
index 0924dc9..ed71248 100644
--- a/src/resources/views/province/_index.blade.php
+++ b/src/resources/views/province/_index.blade.php
@@ -1,12 +1,12 @@
@foreach($provinces as $province)
@can('edit provinces')
-
@else
-
+
{{ $province->name }}
@endcan
@@ -21,7 +21,7 @@
{!! Form::close() !!}
@endforeach
-
+
{!! icon('+') !!}
@endcan
From 96333b44a969335e2e7cd8ff41f5a418cae82c78 Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Fri, 22 Nov 2024 15:06:36 +0200
Subject: [PATCH 04/12] Apply suggestions from code review
---
src/Contracts/Requests/CreateProvince.php | 2 ++
src/Http/Requests/CreateProvince.php | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/Contracts/Requests/CreateProvince.php b/src/Contracts/Requests/CreateProvince.php
index c66a8d7..303feb2 100644
--- a/src/Contracts/Requests/CreateProvince.php
+++ b/src/Contracts/Requests/CreateProvince.php
@@ -9,4 +9,6 @@
interface CreateProvince extends BaseRequest
{
public function wantsToSeed(): bool;
+
+ public function getSeederId(): ?string;
}
diff --git a/src/Http/Requests/CreateProvince.php b/src/Http/Requests/CreateProvince.php
index ce6a9a6..9e679ac 100644
--- a/src/Http/Requests/CreateProvince.php
+++ b/src/Http/Requests/CreateProvince.php
@@ -45,7 +45,7 @@ public function wantsToSeed(): bool
return $this->has('seed');
}
- public function getSeederId()
+ public function getSeederId(): ?string
{
return $this->input('seed');
}
From aade0433379859178fe2428d40eefbbb71be8f51 Mon Sep 17 00:00:00 2001
From: StyleCI Bot
Date: Fri, 22 Nov 2024 13:06:43 +0000
Subject: [PATCH 05/12] Apply fixes from StyleCI
---
src/Contracts/Requests/CreateProvince.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Contracts/Requests/CreateProvince.php b/src/Contracts/Requests/CreateProvince.php
index 303feb2..8f7e091 100644
--- a/src/Contracts/Requests/CreateProvince.php
+++ b/src/Contracts/Requests/CreateProvince.php
@@ -9,6 +9,6 @@
interface CreateProvince extends BaseRequest
{
public function wantsToSeed(): bool;
-
+
public function getSeederId(): ?string;
}
From 68bc70bd13ae7d791cd93b47c1bcef23b35f3f2b Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 12:48:08 +0200
Subject: [PATCH 06/12] Removed surplus code
---
src/resources/views/country/index.blade.php | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/src/resources/views/country/index.blade.php b/src/resources/views/country/index.blade.php
index 409b4e8..da0e600 100644
--- a/src/resources/views/country/index.blade.php
+++ b/src/resources/views/country/index.blade.php
@@ -7,8 +7,7 @@
@push('page-actions')
@if($countries->isEmpty())
{!! Form::open(['route' => ['appshell.country.store', ['seed' => 1]], 'class' => 'd-inline']) !!}
-
+
{{ __('Generate all countries') }}
{!! Form::close() !!}
@@ -25,12 +24,3 @@
@stop
-
-@push('scripts')
-
-@endpush
From b493db49641bb6992d95c5dc791dac537bb6b227 Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 12:48:57 +0200
Subject: [PATCH 07/12] Added PHP 8.4 to the CI
---
.github/workflows/tests.yml | 2 +-
Changelog.md | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 7ee3e19..5c60b63 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -11,7 +11,7 @@ jobs:
timeout-minutes: 10
strategy:
matrix:
- php: ['8.2', '8.3']
+ php: ['8.2', '8.3', '8.4']
laravel: ['10.0', '10.48', '11.0', '11.14']
name: PHP ${{ matrix.php }} Laravel ${{ matrix.laravel }}
steps:
diff --git a/Changelog.md b/Changelog.md
index 4212dd3..997bd49 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -6,6 +6,7 @@
- Added CRUD for Countries and Provinces
- Added the `globe` icon
- Added support for setting `empty.html` on the table widget
+- Added PHP 8.4 support
## 4.3.0
##### 2024-10-29
From 54839b4ded8dda01be53624f866172bc21cefa98 Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 12:52:59 +0200
Subject: [PATCH 08/12] Bump Laravel to v11.33 in CI
---
.github/workflows/tests.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 5c60b63..cce1165 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
php: ['8.2', '8.3', '8.4']
- laravel: ['10.0', '10.48', '11.0', '11.14']
+ laravel: ['10.0', '10.48', '11.0', '11.33']
name: PHP ${{ matrix.php }} Laravel ${{ matrix.laravel }}
steps:
- name: Checkout
From b51aedf07aa59704d4216d7f00adf7635864e1b7 Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 14:06:38 +0200
Subject: [PATCH 09/12] Added the flag icon
---
Changelog.md | 2 +-
src/Icons/AppShellIcons.php | 1 +
src/Icons/FontAwesome6IconTheme.php | 1 +
src/Icons/FontAwesome6ProIconTheme.php | 1 +
src/Icons/FontAwesomeIconTheme.php | 1 +
src/Icons/LineIconsTheme.php | 1 +
src/Icons/LucideIconTheme.php | 1 +
src/Icons/TablerIconTheme.php | 1 +
src/Icons/ZmdiIconTheme.php | 1 +
9 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Changelog.md b/Changelog.md
index 997bd49..a80fe39 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -4,7 +4,7 @@
##### 2024-XX-YY
- Added CRUD for Countries and Provinces
-- Added the `globe` icon
+- Added the `globe` and `flag` icons
- Added support for setting `empty.html` on the table widget
- Added PHP 8.4 support
diff --git a/src/Icons/AppShellIcons.php b/src/Icons/AppShellIcons.php
index 763bb88..34a6a46 100644
--- a/src/Icons/AppShellIcons.php
+++ b/src/Icons/AppShellIcons.php
@@ -72,4 +72,5 @@ final class AppShellIcons
public const FILE = 'file';
public const COMMENT = 'comment';
public const GLOBE = 'globe';
+ public const FLAG = 'flag';
}
diff --git a/src/Icons/FontAwesome6IconTheme.php b/src/Icons/FontAwesome6IconTheme.php
index 06d4ffa..a35fbfe 100644
--- a/src/Icons/FontAwesome6IconTheme.php
+++ b/src/Icons/FontAwesome6IconTheme.php
@@ -82,6 +82,7 @@ class FontAwesome6IconTheme implements IconTheme
AppShellIcons::FILE => 'file',
AppShellIcons::COMMENT => 'comment',
AppShellIcons::GLOBE => 'earth-africa',
+ AppShellIcons::FLAG => 'flag',
];
public static function getName(): string
diff --git a/src/Icons/FontAwesome6ProIconTheme.php b/src/Icons/FontAwesome6ProIconTheme.php
index 4140688..dbf546d 100644
--- a/src/Icons/FontAwesome6ProIconTheme.php
+++ b/src/Icons/FontAwesome6ProIconTheme.php
@@ -88,6 +88,7 @@ class FontAwesome6ProIconTheme implements IconTheme
AppShellIcons::FILE => 'file',
AppShellIcons::COMMENT => 'comment-lines',
AppShellIcons::GLOBE => 'earth-africa',
+ AppShellIcons::FLAG => 'flag-swallowtail',
];
public function __construct()
diff --git a/src/Icons/FontAwesomeIconTheme.php b/src/Icons/FontAwesomeIconTheme.php
index a9d3faf..141874d 100644
--- a/src/Icons/FontAwesomeIconTheme.php
+++ b/src/Icons/FontAwesomeIconTheme.php
@@ -82,6 +82,7 @@ class FontAwesomeIconTheme implements IconTheme
AppShellIcons::FILE => 'file',
AppShellIcons::COMMENT => 'comment-dots',
AppShellIcons::GLOBE => 'globe-africa',
+ AppShellIcons::FLAG => 'flag',
];
public static function getName(): string
diff --git a/src/Icons/LineIconsTheme.php b/src/Icons/LineIconsTheme.php
index 8cd0e15..269d56d 100644
--- a/src/Icons/LineIconsTheme.php
+++ b/src/Icons/LineIconsTheme.php
@@ -81,6 +81,7 @@ class LineIconsTheme implements IconTheme
AppShellIcons::FILE => 'empty-file',
AppShellIcons::COMMENT => 'comments-alt-2',
AppShellIcons::GLOBE => 'world',
+ AppShellIcons::FLAG => 'flag-alt',
];
public static function getName(): string
diff --git a/src/Icons/LucideIconTheme.php b/src/Icons/LucideIconTheme.php
index cb2fc6d..87ad8cd 100644
--- a/src/Icons/LucideIconTheme.php
+++ b/src/Icons/LucideIconTheme.php
@@ -81,6 +81,7 @@ class LucideIconTheme implements IconTheme
AppShellIcons::FILE => 'file',
AppShellIcons::COMMENT => 'message-square-text',
AppShellIcons::GLOBE => 'globe',
+ AppShellIcons::FLAG => 'flag',
];
public static function getName(): string
diff --git a/src/Icons/TablerIconTheme.php b/src/Icons/TablerIconTheme.php
index 28d3e29..f1a39eb 100644
--- a/src/Icons/TablerIconTheme.php
+++ b/src/Icons/TablerIconTheme.php
@@ -81,6 +81,7 @@ class TablerIconTheme implements IconTheme
AppShellIcons::FILE => 'file',
AppShellIcons::COMMENT => 'message',
AppShellIcons::GLOBE => 'world',
+ AppShellIcons::FLAG => 'flag-3',
];
public static function getName(): string
diff --git a/src/Icons/ZmdiIconTheme.php b/src/Icons/ZmdiIconTheme.php
index 5dceed5..4dd0a50 100644
--- a/src/Icons/ZmdiIconTheme.php
+++ b/src/Icons/ZmdiIconTheme.php
@@ -81,6 +81,7 @@ class ZmdiIconTheme implements IconTheme
AppShellIcons::FILE => 'file',
AppShellIcons::COMMENT => 'comment',
AppShellIcons::GLOBE => 'globe',
+ AppShellIcons::FLAG => 'flag',
];
public static function getName(): string
From 463d732b8cddcc667ea946d691e72d1f225a1a1e Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 14:44:53 +0200
Subject: [PATCH 10/12] Province UI improvements
---
src/Http/Controllers/CountryController.php | 7 +-
src/Http/Controllers/ProvinceController.php | 2 +-
src/resources/views/province/_index.blade.php | 27 +++-----
src/resources/views/province/show.blade.php | 65 +++++++------------
4 files changed, 41 insertions(+), 60 deletions(-)
diff --git a/src/Http/Controllers/CountryController.php b/src/Http/Controllers/CountryController.php
index 16c6a56..d54a897 100644
--- a/src/Http/Controllers/CountryController.php
+++ b/src/Http/Controllers/CountryController.php
@@ -60,13 +60,16 @@ public function store(CreateCountry $request): RedirectResponse
public function show(Country $country): View
{
+ $availableProvinceSeeders = [];
if ($country->provinces->isEmpty()) {
- $availableProvinceSeeders = ProvinceSeeders::availableSeedersOfCountry($country->id);
+ foreach (ProvinceSeeders::availableSeedersOfCountry($country->id) as $id => $class) {
+ $availableProvinceSeeders[$id] = $class::getName();
+ }
}
return view('appshell::country.show', [
'country' => $country,
- 'availableProvinceSeeders' => $availableProvinceSeeders ?? [],
+ 'availableProvinceSeeders' => $availableProvinceSeeders,
]);
}
diff --git a/src/Http/Controllers/ProvinceController.php b/src/Http/Controllers/ProvinceController.php
index e342d6d..59d46fe 100644
--- a/src/Http/Controllers/ProvinceController.php
+++ b/src/Http/Controllers/ProvinceController.php
@@ -43,7 +43,7 @@ public function store(Country $country, CreateProvince $request): RedirectRespon
$seeder = ProvinceSeeders::make($request->getSeederId());
$seeder->run();
- flash()->success(__('The provinces have been created'));
+ flash()->success(__(':name have been successfully created', ['name' => $seeder::getName()]));
} else {
$province = ProvinceProxy::create(
array_merge(
diff --git a/src/resources/views/province/_index.blade.php b/src/resources/views/province/_index.blade.php
index ed71248..b707dee 100644
--- a/src/resources/views/province/_index.blade.php
+++ b/src/resources/views/province/_index.blade.php
@@ -1,27 +1,20 @@
@foreach($provinces as $province)
- @can('edit provinces')
-
-
- {{ $province->name }}
-
-
- @else
-
- {{ $province->name }}
-
- @endcan
+
+ {{ $province->name }}
+
@endforeach
@can('create provinces')
- @foreach($availableProvinceSeeders as $id => $class)
+ @foreach($availableProvinceSeeders as $id => $name)
{!! Form::open(['route' => ['appshell.province.store', [$country, 'seed' => $id]], 'class' => 'd-inline']) !!}
-
- {{ __('Generate :seeder', ['seeder' => ucfirst(Str::replace('_', ' ', Str::snake($id)))]) }}
+
+ {{ __('Generate :seeder_name', ['seeder_name' => $name]) }}
{!! Form::close() !!}
@endforeach
-
- {!! icon('+') !!}
-
+
@endcan
diff --git a/src/resources/views/province/show.blade.php b/src/resources/views/province/show.blade.php
index 9e7ee34..872b085 100644
--- a/src/resources/views/province/show.blade.php
+++ b/src/resources/views/province/show.blade.php
@@ -8,19 +8,19 @@
@endpush
@section('content')
-
+
{{ $province->name }}
- {{ __('Province') }}
+ {{ $province->type->label() }}
@@ -37,46 +37,31 @@
- {{ $province->type->label() }}
-
-
- {{ __('Type') }}
-
-
-
-
-
-
-
-
- {{ __('Parent') }}
-
- @if ($province->parent)
-
-
- {{ $province->parent->name }}
-
-
+ @if (null !== $province->parent)
+ user()?->can('view provinces')) {
+ true => sprintf('%s', route('appshell.province.show', [$province->country, $province->parent]), $province->parent->name),
+ default => $province->parent->name,
+ };
+ ?>
+ {!! __('Subunit of :parent', ['parent' => $parentName]) !!}
@else
- {{ __('No parent available.') }}
+ {{ __('No higher level') }}
@endif
-
-
- {{ __('Children') }}
+
+ @if($province->children->count())
+ {{ __('Subdivisions') }}:
+ {{ $province->children->take(3)->implode('name', ' | ') }}
+ @else
+ {{ __('no subordinate provinces') }}
+ @endif
- @if ($province->children && $province->children->count() > 0)
- @foreach ($province->children as $child)
-
-
- {{ $child->name }}
-
-
- @endforeach
- @else
- {{ __('No children available.') }}
- @endif
-
+ @if($province->children->count() > 3)
+ | {{ __('+ :num more...', ['num' => $province->children->count() - 3]) }}
+ @endif
+
+
@stop
From 82e0a374dbccf46133cb59640a831130acd1cca4 Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 14:46:52 +0200
Subject: [PATCH 11/12] Table empty.html option doc
---
docs/widgets-table.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/widgets-table.md b/docs/widgets-table.md
index 10104f9..4c226d2 100644
--- a/docs/widgets-table.md
+++ b/docs/widgets-table.md
@@ -8,6 +8,7 @@
[
'empty' => [
'text' => __('This is a text that gets shown if the dataset for the table is empty')
+ 'html' => 'This is a string that gets rendered as-is without escaping'
]
]
```
From 1268f51a196ae2f1e324fe6e40f458b05acad2a4 Mon Sep 17 00:00:00 2001
From: Attila Fulop <1162360+fulopattila122@users.noreply.github.com>
Date: Sat, 23 Nov 2024 14:49:20 +0200
Subject: [PATCH 12/12] Release v4.4.0
---
Changelog.md | 4 ++--
docs/installation.md | 2 +-
src/resources/manifest.php | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Changelog.md b/Changelog.md
index a80fe39..e7aab4e 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,7 +1,7 @@
# AppShell Changelog
-## Unreleased
-##### 2024-XX-YY
+## 4.4.0
+##### 2024-11-23
- Added CRUD for Countries and Provinces
- Added the `globe` and `flag` icons
diff --git a/docs/installation.md b/docs/installation.md
index 8b28548..4a8afc9 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -44,7 +44,7 @@ Now you should see this:
+----+---------------------+------+----------+------------------+-----------------+
| # | Name | Kind | Version | Id | Namespace |
+----+---------------------+------+----------+------------------+-----------------+
-| 1. | Konekt AppShell Box | Box | 4.3.0 | konekt.app_shell | Konekt\AppShell |
+| 1. | Konekt AppShell Box | Box | 4.4.0 | konekt.app_shell | Konekt\AppShell |
+----+---------------------+------+----------+------------------+-----------------+
```
diff --git a/src/resources/manifest.php b/src/resources/manifest.php
index 7040f5c..8c93746 100644
--- a/src/resources/manifest.php
+++ b/src/resources/manifest.php
@@ -4,5 +4,5 @@
return [
'name' => 'AppShell',
- 'version' => '4.3.0'
+ 'version' => '4.4.0'
];