From b005c7677eadca9b7374cd90eafe3fb5519ddf71 Mon Sep 17 00:00:00 2001 From: salam Date: Sat, 6 Sep 2025 17:56:57 +0200 Subject: [PATCH] add konto und konto optionen --- ARTISAN.md | 9 ++ ToDo.md | 1 - .../Gutachters/GutachterResource.php | 70 +++++++++ .../Gutachters/Pages/CreateGutachter.php | 11 ++ .../Gutachters/Pages/EditGutachter.php | 23 +++ .../Gutachters/Pages/ListGutachters.php | 19 +++ .../Gutachters/Schemas/GutachterForm.php | 16 ++ .../Gutachters/Tables/GutachtersTable.php | 36 +++++ .../Kontooptionens/KontooptionenResource.php | 61 ++++++++ .../Pages/CreateKontooptionen.php | 11 ++ .../Pages/EditKontooptionen.php | 19 +++ .../Pages/ListKontooptionens.php | 19 +++ .../Schemas/KontooptionenForm.php | 16 ++ .../Tables/KontooptionensTable.php | 33 ++++ .../Resources/Kontos/KontoResource.php | 61 ++++++++ .../Resources/Kontos/Pages/CreateKonto.php | 11 ++ .../Resources/Kontos/Pages/EditKonto.php | 19 +++ .../Resources/Kontos/Pages/ListKontos.php | 19 +++ .../Resources/Kontos/Schemas/KontoForm.php | 16 ++ .../Resources/Kontos/Tables/KontosTable.php | 40 +++++ .../Permissions/Pages/CreatePermission.php | 11 ++ .../Permissions/Pages/EditPermission.php | 19 +++ .../Permissions/Pages/ListPermissions.php | 19 +++ .../Permissions/PermissionResource.php | 63 ++++++++ .../Permissions/Schemas/PermissionForm.php | 16 ++ .../Permissions/Tables/PermissionsTable.php | 31 ++++ .../Resources/Users/Pages/CreateUser.php | 11 ++ .../Resources/Users/Pages/EditUser.php | 23 +++ .../Resources/Users/Pages/ListUsers.php | 19 +++ .../Resources/Users/Schemas/UserForm.php | 16 ++ .../Resources/Users/Tables/UsersTable.php | 37 +++++ app/Filament/Resources/Users/UserResource.php | 75 +++++++++ app/Models/Gutachter.php | 11 ++ app/Models/Konto.php | 10 ++ app/Models/Kontooptionen.php | 10 ++ app/Models/Permission.php | 10 ++ app/Models/Role.php | 10 ++ app/Models/User.php | 4 +- app/Policies/GutachterPolicy.php | 108 +++++++++++++ app/Policies/KontoPolicy.php | 108 +++++++++++++ app/Policies/KontooptionenPolicy.php | 108 +++++++++++++ app/Policies/PermissionPolicy.php | 108 +++++++++++++ app/Policies/UserPolicy.php | 144 +++++++++++++++++ app/Providers/AppServiceProvider.php | 4 + app/Providers/Filament/AdminPanelProvider.php | 2 +- composer.json | 2 + composer.lock | 146 +++++++++++++++++- config/multitenancy.php | 123 +++++++++++++++ ...0001_01_01_000000__create_kontos_table.php | 37 +++++ .../0001_01_01_000000_create_users_table.php | 3 + ...5_09_05_131323_create_gutachter_tables.php | 34 ++++ ..._06_143006_create_kontooptionens_table.php | 31 ++++ database/seeders/DatabaseSeeder.php | 2 + database/seeders/KontoSeeder.php | 21 +++ database/seeders/KontooptionenSeeder.php | 22 +++ .../seeders/RolesAndPermissionsSeeder.php | 10 +- .../filament-shield/ar/filament-shield.php | 80 ++++++++++ .../filament-shield/ckb/filament-shield.php | 80 ++++++++++ .../filament-shield/cs/filament-shield.php | 80 ++++++++++ .../filament-shield/de/filament-shield.php | 80 ++++++++++ .../filament-shield/en/filament-shield.php | 83 ++++++++++ .../filament-shield/es/filament-shield.php | 80 ++++++++++ .../filament-shield/fa/filament-shield.php | 80 ++++++++++ .../filament-shield/fr/filament-shield.php | 80 ++++++++++ .../filament-shield/hu/filament-shield.php | 80 ++++++++++ .../filament-shield/hy/filament-shield.php | 80 ++++++++++ .../filament-shield/id/filament-shield.php | 80 ++++++++++ .../filament-shield/it/filament-shield.php | 80 ++++++++++ .../filament-shield/ja/filament-shield.php | 80 ++++++++++ .../filament-shield/ka/filament-shield.php | 80 ++++++++++ .../filament-shield/km/filament-shield.php | 80 ++++++++++ .../filament-shield/ko/filament-shield.php | 80 ++++++++++ .../filament-shield/ku/filament-shield.php | 80 ++++++++++ .../filament-shield/lv/filament-shield.php | 80 ++++++++++ .../filament-shield/nl/filament-shield.php | 80 ++++++++++ .../filament-shield/pl/filament-shield.php | 83 ++++++++++ .../filament-shield/pt_BR/filament-shield.php | 79 ++++++++++ .../filament-shield/pt_PT/filament-shield.php | 80 ++++++++++ .../filament-shield/ro/filament-shield.php | 80 ++++++++++ .../filament-shield/ru/filament-shield.php | 80 ++++++++++ .../filament-shield/sk/filament-shield.php | 80 ++++++++++ .../filament-shield/sq/filament-shield.php | 80 ++++++++++ .../filament-shield/tr/filament-shield.php | 80 ++++++++++ .../filament-shield/uk/filament-shield.php | 80 ++++++++++ .../filament-shield/vi/filament-shield.php | 80 ++++++++++ .../filament-shield/zh_CN/filament-shield.php | 80 ++++++++++ .../filament-shield/zh_TW/filament-shield.php | 80 ++++++++++ resources/views/login-links.blade.php | 6 + setup.sh | 4 + 89 files changed, 4406 insertions(+), 7 deletions(-) create mode 100644 ARTISAN.md delete mode 100644 ToDo.md create mode 100644 app/Filament/Resources/Gutachters/GutachterResource.php create mode 100644 app/Filament/Resources/Gutachters/Pages/CreateGutachter.php create mode 100644 app/Filament/Resources/Gutachters/Pages/EditGutachter.php create mode 100644 app/Filament/Resources/Gutachters/Pages/ListGutachters.php create mode 100644 app/Filament/Resources/Gutachters/Schemas/GutachterForm.php create mode 100644 app/Filament/Resources/Gutachters/Tables/GutachtersTable.php create mode 100644 app/Filament/Resources/Kontooptionens/KontooptionenResource.php create mode 100644 app/Filament/Resources/Kontooptionens/Pages/CreateKontooptionen.php create mode 100644 app/Filament/Resources/Kontooptionens/Pages/EditKontooptionen.php create mode 100644 app/Filament/Resources/Kontooptionens/Pages/ListKontooptionens.php create mode 100644 app/Filament/Resources/Kontooptionens/Schemas/KontooptionenForm.php create mode 100644 app/Filament/Resources/Kontooptionens/Tables/KontooptionensTable.php create mode 100644 app/Filament/Resources/Kontos/KontoResource.php create mode 100644 app/Filament/Resources/Kontos/Pages/CreateKonto.php create mode 100644 app/Filament/Resources/Kontos/Pages/EditKonto.php create mode 100644 app/Filament/Resources/Kontos/Pages/ListKontos.php create mode 100644 app/Filament/Resources/Kontos/Schemas/KontoForm.php create mode 100644 app/Filament/Resources/Kontos/Tables/KontosTable.php create mode 100644 app/Filament/Resources/Permissions/Pages/CreatePermission.php create mode 100644 app/Filament/Resources/Permissions/Pages/EditPermission.php create mode 100644 app/Filament/Resources/Permissions/Pages/ListPermissions.php create mode 100644 app/Filament/Resources/Permissions/PermissionResource.php create mode 100644 app/Filament/Resources/Permissions/Schemas/PermissionForm.php create mode 100644 app/Filament/Resources/Permissions/Tables/PermissionsTable.php create mode 100644 app/Filament/Resources/Users/Pages/CreateUser.php create mode 100644 app/Filament/Resources/Users/Pages/EditUser.php create mode 100644 app/Filament/Resources/Users/Pages/ListUsers.php create mode 100644 app/Filament/Resources/Users/Schemas/UserForm.php create mode 100644 app/Filament/Resources/Users/Tables/UsersTable.php create mode 100644 app/Filament/Resources/Users/UserResource.php create mode 100644 app/Models/Gutachter.php create mode 100644 app/Models/Konto.php create mode 100644 app/Models/Kontooptionen.php create mode 100644 app/Models/Permission.php create mode 100644 app/Models/Role.php create mode 100644 app/Policies/GutachterPolicy.php create mode 100644 app/Policies/KontoPolicy.php create mode 100644 app/Policies/KontooptionenPolicy.php create mode 100644 app/Policies/PermissionPolicy.php create mode 100644 app/Policies/UserPolicy.php create mode 100644 config/multitenancy.php create mode 100644 database/migrations/0001_01_01_000000__create_kontos_table.php create mode 100644 database/migrations/2025_09_05_131323_create_gutachter_tables.php create mode 100644 database/migrations/2025_09_06_143006_create_kontooptionens_table.php create mode 100644 database/seeders/KontoSeeder.php create mode 100644 database/seeders/KontooptionenSeeder.php create mode 100644 lang/vendor/filament-shield/ar/filament-shield.php create mode 100644 lang/vendor/filament-shield/ckb/filament-shield.php create mode 100644 lang/vendor/filament-shield/cs/filament-shield.php create mode 100644 lang/vendor/filament-shield/de/filament-shield.php create mode 100644 lang/vendor/filament-shield/en/filament-shield.php create mode 100644 lang/vendor/filament-shield/es/filament-shield.php create mode 100644 lang/vendor/filament-shield/fa/filament-shield.php create mode 100644 lang/vendor/filament-shield/fr/filament-shield.php create mode 100644 lang/vendor/filament-shield/hu/filament-shield.php create mode 100644 lang/vendor/filament-shield/hy/filament-shield.php create mode 100644 lang/vendor/filament-shield/id/filament-shield.php create mode 100644 lang/vendor/filament-shield/it/filament-shield.php create mode 100644 lang/vendor/filament-shield/ja/filament-shield.php create mode 100644 lang/vendor/filament-shield/ka/filament-shield.php create mode 100644 lang/vendor/filament-shield/km/filament-shield.php create mode 100644 lang/vendor/filament-shield/ko/filament-shield.php create mode 100644 lang/vendor/filament-shield/ku/filament-shield.php create mode 100644 lang/vendor/filament-shield/lv/filament-shield.php create mode 100644 lang/vendor/filament-shield/nl/filament-shield.php create mode 100644 lang/vendor/filament-shield/pl/filament-shield.php create mode 100644 lang/vendor/filament-shield/pt_BR/filament-shield.php create mode 100644 lang/vendor/filament-shield/pt_PT/filament-shield.php create mode 100644 lang/vendor/filament-shield/ro/filament-shield.php create mode 100644 lang/vendor/filament-shield/ru/filament-shield.php create mode 100644 lang/vendor/filament-shield/sk/filament-shield.php create mode 100644 lang/vendor/filament-shield/sq/filament-shield.php create mode 100644 lang/vendor/filament-shield/tr/filament-shield.php create mode 100644 lang/vendor/filament-shield/uk/filament-shield.php create mode 100644 lang/vendor/filament-shield/vi/filament-shield.php create mode 100644 lang/vendor/filament-shield/zh_CN/filament-shield.php create mode 100644 lang/vendor/filament-shield/zh_TW/filament-shield.php create mode 100644 resources/views/login-links.blade.php diff --git a/ARTISAN.md b/ARTISAN.md new file mode 100644 index 0000000..0e675e7 --- /dev/null +++ b/ARTISAN.md @@ -0,0 +1,9 @@ +a make:model Customer -ms + +a make:filament-resource Customer + +php artisan make:model ModelName -m // creates migration too +php artisan make:model ModelName -c // creates controller too +php artisan make:model ModelName -f // also creates a factory +php artisan make:model ModelName -s // also creates a database seeder +php artisan make:model ModelName -mfcs // creates migration, factory, controller and seeder diff --git a/ToDo.md b/ToDo.md deleted file mode 100644 index 4b0cfbe..0000000 --- a/ToDo.md +++ /dev/null @@ -1 +0,0 @@ -Logo size login and menu + Brandname diff --git a/app/Filament/Resources/Gutachters/GutachterResource.php b/app/Filament/Resources/Gutachters/GutachterResource.php new file mode 100644 index 0000000..83a098b --- /dev/null +++ b/app/Filament/Resources/Gutachters/GutachterResource.php @@ -0,0 +1,70 @@ + ListGutachters::route('/'), + 'create' => CreateGutachter::route('/create'), + 'edit' => EditGutachter::route('/{record}/edit'), + ]; + } + + public static function getRecordRouteBindingEloquentQuery(): Builder + { + return parent::getRecordRouteBindingEloquentQuery() + ->withoutGlobalScopes([ + SoftDeletingScope::class, + ]); + } + + public static function getNavigationBadge(): ?string + { + return parent::getEloquentQuery()->count(); + } +} diff --git a/app/Filament/Resources/Gutachters/Pages/CreateGutachter.php b/app/Filament/Resources/Gutachters/Pages/CreateGutachter.php new file mode 100644 index 0000000..2ecd2e8 --- /dev/null +++ b/app/Filament/Resources/Gutachters/Pages/CreateGutachter.php @@ -0,0 +1,11 @@ +components([ + // + ]); + } +} diff --git a/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php b/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php new file mode 100644 index 0000000..8365a8b --- /dev/null +++ b/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php @@ -0,0 +1,36 @@ +columns([ + TextColumn::make('name'), + ]) + ->filters([ + TrashedFilter::make(), + ]) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ForceDeleteBulkAction::make(), + RestoreBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Kontooptionens/KontooptionenResource.php b/app/Filament/Resources/Kontooptionens/KontooptionenResource.php new file mode 100644 index 0000000..1332fd3 --- /dev/null +++ b/app/Filament/Resources/Kontooptionens/KontooptionenResource.php @@ -0,0 +1,61 @@ + ListKontooptionens::route('/'), + 'create' => CreateKontooptionen::route('/create'), + 'edit' => EditKontooptionen::route('/{record}/edit'), + ]; + } + + public static function getNavigationBadge(): ?string + { + return parent::getEloquentQuery()->count(); + } +} diff --git a/app/Filament/Resources/Kontooptionens/Pages/CreateKontooptionen.php b/app/Filament/Resources/Kontooptionens/Pages/CreateKontooptionen.php new file mode 100644 index 0000000..74e297e --- /dev/null +++ b/app/Filament/Resources/Kontooptionens/Pages/CreateKontooptionen.php @@ -0,0 +1,11 @@ +components([ + // + ]); + } +} diff --git a/app/Filament/Resources/Kontooptionens/Tables/KontooptionensTable.php b/app/Filament/Resources/Kontooptionens/Tables/KontooptionensTable.php new file mode 100644 index 0000000..da5d75e --- /dev/null +++ b/app/Filament/Resources/Kontooptionens/Tables/KontooptionensTable.php @@ -0,0 +1,33 @@ +columns([ + TextColumn::make('name')->description(fn ($record): string => $record->description), + TextColumn::make('number_user')->alignCenter()->badge(), + TextColumn::make('number_gutachter')->alignCenter()->badge(), + ]) + ->filters([ + // + ]) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Kontos/KontoResource.php b/app/Filament/Resources/Kontos/KontoResource.php new file mode 100644 index 0000000..a46ce38 --- /dev/null +++ b/app/Filament/Resources/Kontos/KontoResource.php @@ -0,0 +1,61 @@ + ListKontos::route('/'), + 'create' => CreateKonto::route('/create'), + 'edit' => EditKonto::route('/{record}/edit'), + ]; + } + + public static function getNavigationBadge(): ?string + { + return parent::getEloquentQuery()->count(); + } +} diff --git a/app/Filament/Resources/Kontos/Pages/CreateKonto.php b/app/Filament/Resources/Kontos/Pages/CreateKonto.php new file mode 100644 index 0000000..da54b34 --- /dev/null +++ b/app/Filament/Resources/Kontos/Pages/CreateKonto.php @@ -0,0 +1,11 @@ +components([ + // + ]); + } +} diff --git a/app/Filament/Resources/Kontos/Tables/KontosTable.php b/app/Filament/Resources/Kontos/Tables/KontosTable.php new file mode 100644 index 0000000..c7cc066 --- /dev/null +++ b/app/Filament/Resources/Kontos/Tables/KontosTable.php @@ -0,0 +1,40 @@ +columns([ + TextColumn::make('gender')->label('Geschlecht'), + TextColumn::make('title')->label('Title'), + TextColumn::make('first_name')->label('Vorname'), + TextColumn::make('last_name')->label('Nachname'), + TextColumn::make('company')->label('Firma'), + TextColumn::make('address')->label('Adresse'), + TextColumn::make('place')->label('Ort'), + TextColumn::make('code')->label('PLZ'), + TextColumn::make('phone')->label('Telefon'), + TextColumn::make('uid_number')->label('UID Nummer'), + ]) + ->filters([ + // + ]) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Permissions/Pages/CreatePermission.php b/app/Filament/Resources/Permissions/Pages/CreatePermission.php new file mode 100644 index 0000000..b961c6e --- /dev/null +++ b/app/Filament/Resources/Permissions/Pages/CreatePermission.php @@ -0,0 +1,11 @@ + ListPermissions::route('/'), + 'create' => CreatePermission::route('/create'), + 'edit' => EditPermission::route('/{record}/edit'), + ]; + } + + public static function getNavigationBadge(): ?string + { + return parent::getEloquentQuery()->count(); + } +} diff --git a/app/Filament/Resources/Permissions/Schemas/PermissionForm.php b/app/Filament/Resources/Permissions/Schemas/PermissionForm.php new file mode 100644 index 0000000..931137f --- /dev/null +++ b/app/Filament/Resources/Permissions/Schemas/PermissionForm.php @@ -0,0 +1,16 @@ +components([ + // + ]); + } +} diff --git a/app/Filament/Resources/Permissions/Tables/PermissionsTable.php b/app/Filament/Resources/Permissions/Tables/PermissionsTable.php new file mode 100644 index 0000000..ce22307 --- /dev/null +++ b/app/Filament/Resources/Permissions/Tables/PermissionsTable.php @@ -0,0 +1,31 @@ +columns([ + TextColumn::make('name'), + ]) + ->filters([ + // + ]) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Users/Pages/CreateUser.php b/app/Filament/Resources/Users/Pages/CreateUser.php new file mode 100644 index 0000000..125b3ff --- /dev/null +++ b/app/Filament/Resources/Users/Pages/CreateUser.php @@ -0,0 +1,11 @@ +components([ + // + ]); + } +} diff --git a/app/Filament/Resources/Users/Tables/UsersTable.php b/app/Filament/Resources/Users/Tables/UsersTable.php new file mode 100644 index 0000000..1a9251d --- /dev/null +++ b/app/Filament/Resources/Users/Tables/UsersTable.php @@ -0,0 +1,37 @@ +columns([ + TextColumn::make('name'), + // + ]) + ->filters([ + TrashedFilter::make(), + ]) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ForceDeleteBulkAction::make(), + RestoreBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php new file mode 100644 index 0000000..8f9ccc4 --- /dev/null +++ b/app/Filament/Resources/Users/UserResource.php @@ -0,0 +1,75 @@ + ListUsers::route('/'), + 'create' => CreateUser::route('/create'), + 'edit' => EditUser::route('/{record}/edit'), + ]; + } + + public static function getRecordRouteBindingEloquentQuery(): Builder + { + return parent::getRecordRouteBindingEloquentQuery() + ->withoutGlobalScopes([ + SoftDeletingScope::class, + ]); + } + + public static function getNavigationBadge(): ?string + { + return parent::getEloquentQuery()->count(); + } +} diff --git a/app/Models/Gutachter.php b/app/Models/Gutachter.php new file mode 100644 index 0000000..136dc78 --- /dev/null +++ b/app/Models/Gutachter.php @@ -0,0 +1,11 @@ +can('view_any_gutachters::gutachter'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Gutachter $gutachter): bool + { + return $user->can('view_gutachters::gutachter'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_gutachters::gutachter'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Gutachter $gutachter): bool + { + return $user->can('update_gutachters::gutachter'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Gutachter $gutachter): bool + { + return $user->can('delete_gutachters::gutachter'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_gutachters::gutachter'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Gutachter $gutachter): bool + { + return $user->can('force_delete_gutachters::gutachter'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_gutachters::gutachter'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Gutachter $gutachter): bool + { + return $user->can('restore_gutachters::gutachter'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_gutachters::gutachter'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Gutachter $gutachter): bool + { + return $user->can('replicate_gutachters::gutachter'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_gutachters::gutachter'); + } +} diff --git a/app/Policies/KontoPolicy.php b/app/Policies/KontoPolicy.php new file mode 100644 index 0000000..3e04415 --- /dev/null +++ b/app/Policies/KontoPolicy.php @@ -0,0 +1,108 @@ +can('view_any_kontos::konto'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Konto $konto): bool + { + return $user->can('view_kontos::konto'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_kontos::konto'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Konto $konto): bool + { + return $user->can('update_kontos::konto'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Konto $konto): bool + { + return $user->can('delete_kontos::konto'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_kontos::konto'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Konto $konto): bool + { + return $user->can('force_delete_kontos::konto'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_kontos::konto'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Konto $konto): bool + { + return $user->can('restore_kontos::konto'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_kontos::konto'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Konto $konto): bool + { + return $user->can('replicate_kontos::konto'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_kontos::konto'); + } +} diff --git a/app/Policies/KontooptionenPolicy.php b/app/Policies/KontooptionenPolicy.php new file mode 100644 index 0000000..f79439d --- /dev/null +++ b/app/Policies/KontooptionenPolicy.php @@ -0,0 +1,108 @@ +can('view_any_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Kontooptionen $kontooptionen): bool + { + return $user->can('view_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Kontooptionen $kontooptionen): bool + { + return $user->can('update_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Kontooptionen $kontooptionen): bool + { + return $user->can('delete_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Kontooptionen $kontooptionen): bool + { + return $user->can('force_delete_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Kontooptionen $kontooptionen): bool + { + return $user->can('restore_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Kontooptionen $kontooptionen): bool + { + return $user->can('replicate_kontooptionens::kontooptionen'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_kontooptionens::kontooptionen'); + } +} diff --git a/app/Policies/PermissionPolicy.php b/app/Policies/PermissionPolicy.php new file mode 100644 index 0000000..7a8a4e4 --- /dev/null +++ b/app/Policies/PermissionPolicy.php @@ -0,0 +1,108 @@ +can('view_any_permissions::permission'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, Permission $permission): bool + { + return $user->can('view_permissions::permission'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->can('create_permissions::permission'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Permission $permission): bool + { + return $user->can('update_permissions::permission'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Permission $permission): bool + { + return $user->can('delete_permissions::permission'); + } + + /** + * Determine whether the user can bulk delete. + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_permissions::permission'); + } + + /** + * Determine whether the user can permanently delete. + */ + public function forceDelete(User $user, Permission $permission): bool + { + return $user->can('force_delete_permissions::permission'); + } + + /** + * Determine whether the user can permanently bulk delete. + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_permissions::permission'); + } + + /** + * Determine whether the user can restore. + */ + public function restore(User $user, Permission $permission): bool + { + return $user->can('restore_permissions::permission'); + } + + /** + * Determine whether the user can bulk restore. + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_permissions::permission'); + } + + /** + * Determine whether the user can replicate. + */ + public function replicate(User $user, Permission $permission): bool + { + return $user->can('replicate_permissions::permission'); + } + + /** + * Determine whether the user can reorder. + */ + public function reorder(User $user): bool + { + return $user->can('reorder_permissions::permission'); + } +} diff --git a/app/Policies/UserPolicy.php b/app/Policies/UserPolicy.php new file mode 100644 index 0000000..a64e950 --- /dev/null +++ b/app/Policies/UserPolicy.php @@ -0,0 +1,144 @@ +can('view_any_users::user'); + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @return bool + */ + public function view(User $user): bool + { + return $user->can('view_users::user'); + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return bool + */ + public function create(User $user): bool + { + return $user->can('create_users::user'); + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @return bool + */ + public function update(User $user): bool + { + return $user->can('update_users::user'); + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @return bool + */ + public function delete(User $user): bool + { + return $user->can('delete_users::user'); + } + + /** + * Determine whether the user can bulk delete. + * + * @param \App\Models\User $user + * @return bool + */ + public function deleteAny(User $user): bool + { + return $user->can('delete_any_users::user'); + } + + /** + * Determine whether the user can permanently delete. + * + * @param \App\Models\User $user + * @return bool + */ + public function forceDelete(User $user): bool + { + return $user->can('force_delete_users::user'); + } + + /** + * Determine whether the user can permanently bulk delete. + * + * @param \App\Models\User $user + * @return bool + */ + public function forceDeleteAny(User $user): bool + { + return $user->can('force_delete_any_users::user'); + } + + /** + * Determine whether the user can restore. + * + * @param \App\Models\User $user + * @return bool + */ + public function restore(User $user): bool + { + return $user->can('restore_users::user'); + } + + /** + * Determine whether the user can bulk restore. + * + * @param \App\Models\User $user + * @return bool + */ + public function restoreAny(User $user): bool + { + return $user->can('restore_any_users::user'); + } + + /** + * Determine whether the user can bulk restore. + * + * @param \App\Models\User $user + * @return bool + */ + public function replicate(User $user): bool + { + return $user->can('replicate_users::user'); + } + + /** + * Determine whether the user can reorder. + * + * @param \App\Models\User $user + * @return bool + */ + public function reorder(User $user): bool + { + return $user->can('reorder_users::user'); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index e8808bc..45059ae 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -27,6 +27,10 @@ class AppServiceProvider extends ServiceProvider 'primary' => '#47847f', ]); + FilamentView::registerRenderHook( + PanelsRenderHook::AUTH_LOGIN_FORM_BEFORE, fn (): View => view('login-links'), + ); + FilamentView::registerRenderHook( PanelsRenderHook::AUTH_LOGIN_FORM_AFTER, fn (): View => view('login-text'), ); diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 520c2b3..a889e68 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -38,7 +38,7 @@ class AdminPanelProvider extends PanelProvider ->default() ->renderHook( PanelsRenderHook::GLOBAL_SEARCH_BEFORE, - fn (): string => auth()->user()->hasRole('tenancy_switch') ? Blade::render('@livewire(\'tenancy-switch\')') : false + fn (): string => auth()->user()->hasRole('gutachter_switch') ? Blade::render('@livewire(\'tenancy-switch\')') : false ) ->maxContentWidth(Width::ScreenExtraLarge) // ->sidebarCollapsibleOnDesktop() diff --git a/composer.json b/composer.json index 6f688e2..d0337c4 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,8 @@ "laravel/tinker": "^2.10.1", "livewire/livewire": "^3.6", "mallardduck/blade-lucide-icons": "^1.23", + "spatie/laravel-login-link": "^1.6", + "spatie/laravel-multitenancy": "^4.0", "swisnl/filament-backgrounds": "^2.0", "ysfkaya/filament-phone-input": "^4.0@beta" }, diff --git a/composer.lock b/composer.lock index c0f41de..2e37842 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a3716cae8aaa07ceaee3c4cfd7a546c6", + "content-hash": "bad50230eed48fcdbd195c9d49310cfa", "packages": [ { "name": "agencetwogether/hookshelper", @@ -5754,6 +5754,150 @@ ], "time": "2024-05-17T09:06:10+00:00" }, + { + "name": "spatie/laravel-login-link", + "version": "1.6.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-login-link.git", + "reference": "8fd82ccafcf6ee9fbc033b7b273d44e5f6fd5ca4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-login-link/zipball/8fd82ccafcf6ee9fbc033b7b273d44e5f6fd5ca4", + "reference": "8fd82ccafcf6ee9fbc033b7b273d44e5f6fd5ca4", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^10.0|^11.0|^12.0", + "php": "^8.0", + "spatie/laravel-package-tools": "^1.9.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.8", + "nunomaduro/collision": "^7.0|^8.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.34|^3.7", + "pestphp/pest-plugin-laravel": "^1.1|^2.3|^3.1", + "spatie/laravel-ray": "^1.26", + "spatie/pest-plugin-snapshots": "^1.1|^2.1", + "spatie/phpunit-snapshot-assertions": "^4.2.12|^5.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LoginLink\\LoginLinkServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\LoginLink\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "Quickly login to your local environment", + "homepage": "https://github.com/spatie/laravel-login-link", + "keywords": [ + "laravel", + "laravel-login-link", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/laravel-login-link/tree/1.6.3" + }, + "time": "2025-04-16T13:42:34+00:00" + }, + { + "name": "spatie/laravel-multitenancy", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-multitenancy.git", + "reference": "7b43b33a4e4194157949470a04effc64b8bac2a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-multitenancy/zipball/7b43b33a4e4194157949470a04effc64b8bac2a3", + "reference": "7b43b33a4e4194157949470a04effc64b8bac2a3", + "shasum": "" + }, + "require": { + "illuminate/support": "^11.0|^12.0", + "php": "^8.2", + "spatie/laravel-package-tools": "^1.9" + }, + "require-dev": { + "laravel/legacy-factories": "^1.0.4", + "laravel/octane": "^2.5|dev-develop", + "laravel/serializable-closure": "^1.1|^2.0", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest": "^2.34|^3.7", + "spatie/valuestore": "^1.2" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Multitenancy": "Spatie\\Multitenancy\\MultitenancyFacade" + }, + "providers": [ + "Spatie\\Multitenancy\\MultitenancyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\Multitenancy\\": "src", + "Spatie\\Multitenancy\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "http://spatie.be", + "role": "Developer" + } + ], + "description": "Make your Laravel app usable by multiple tenants", + "homepage": "https://github.com/spatie/laravel-multitenancy", + "keywords": [ + "laravel-multitenancy", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-multitenancy/issues", + "source": "https://github.com/spatie/laravel-multitenancy/tree/4.0.5" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-05-12T09:56:03+00:00" + }, { "name": "spatie/laravel-package-tools", "version": "1.92.7", diff --git a/config/multitenancy.php b/config/multitenancy.php new file mode 100644 index 0000000..59d239f --- /dev/null +++ b/config/multitenancy.php @@ -0,0 +1,123 @@ + null, + + /* + * These fields are used by tenant:artisan command to match one or more tenant. + */ + 'tenant_artisan_search_fields' => [ + 'id', + ], + + /* + * These tasks will be performed when switching tenants. + * + * A valid task is any class that implements Spatie\Multitenancy\Tasks\SwitchTenantTask + */ + 'switch_tenant_tasks' => [ + // \Spatie\Multitenancy\Tasks\PrefixCacheTask::class, + // \Spatie\Multitenancy\Tasks\SwitchTenantDatabaseTask::class, + // \Spatie\Multitenancy\Tasks\SwitchRouteCacheTask::class, + ], + + /* + * This class is the model used for storing configuration on tenants. + * + * It must extend `Spatie\Multitenancy\Models\Tenant::class` or + * implement `Spatie\Multitenancy\Contracts\IsTenant::class` interface + */ + 'tenant_model' => Tenant::class, + + /* + * If there is a current tenant when dispatching a job, the id of the current tenant + * will be automatically set on the job. When the job is executed, the set + * tenant on the job will be made current. + */ + 'queues_are_tenant_aware_by_default' => true, + + /* + * The connection name to reach the tenant database. + * + * Set to `null` to use the default connection. + */ + 'tenant_database_connection_name' => null, + + /* + * The connection name to reach the landlord database. + */ + 'landlord_database_connection_name' => null, + + /* + * This key will be used to associate the current tenant in the context + */ + 'current_tenant_context_key' => 'tenantId', + + /* + * This key will be used to bind the current tenant in the container. + */ + 'current_tenant_container_key' => 'currentTenant', + + /* + * Set it to `true` if you like to cache the tenant(s) routes + * in a shared file using the `SwitchRouteCacheTask`. + */ + 'shared_routes_cache' => false, + + /* + * You can customize some of the behavior of this package by using your own custom action. + * Your custom action should always extend the default one. + */ + 'actions' => [ + 'make_tenant_current_action' => MakeTenantCurrentAction::class, + 'forget_current_tenant_action' => ForgetCurrentTenantAction::class, + 'make_queue_tenant_aware_action' => MakeQueueTenantAwareAction::class, + 'migrate_tenant' => MigrateTenantAction::class, + ], + + /* + * You can customize the way in which the package resolves the queueable to a job. + * + * For example, using the package laravel-actions (by Loris Leiva), you can + * resolve JobDecorator to getAction() like so: JobDecorator::class => 'getAction' + */ + 'queueable_to_job' => [ + SendQueuedMailable::class => 'mailable', + SendQueuedNotifications::class => 'notification', + CallQueuedClosure::class => 'closure', + CallQueuedListener::class => 'class', + BroadcastEvent::class => 'event', + ], + + /* + * Jobs tenant aware even if these don't implement the TenantAware interface. + */ + 'tenant_aware_jobs' => [ + // ... + ], + + /* + * Jobs not tenant aware even if these don't implement the NotTenantAware interface. + */ + 'not_tenant_aware_jobs' => [ + // ... + ], +]; diff --git a/database/migrations/0001_01_01_000000__create_kontos_table.php b/database/migrations/0001_01_01_000000__create_kontos_table.php new file mode 100644 index 0000000..bb3ca52 --- /dev/null +++ b/database/migrations/0001_01_01_000000__create_kontos_table.php @@ -0,0 +1,37 @@ +id(); + $table->string('title')->nullable(); + $table->string('gender')->nullable(); + $table->string('first_name'); + $table->string('last_name'); + $table->string('company'); + $table->string('address')->nullable(); + $table->string('place')->nullable(); + $table->string('code')->nullable(); + $table->string('phone')->nullable(); + $table->string('uid_number')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('kontos'); + } +}; diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 906ee67..3b6b83c 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -13,10 +13,13 @@ return new class extends Migration { Schema::create('users', function (Blueprint $table) { $table->id(); + $table->foreignId('konto_id')->constrained()->cascadeOnDelete(); + $table->string('gender')->nullable(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); + $table->boolean('super_admin')->default(0); $table->rememberToken(); $table->timestamp('app_verified_at')->nullable(); $table->timestamp('deleted_at')->nullable(); diff --git a/database/migrations/2025_09_05_131323_create_gutachter_tables.php b/database/migrations/2025_09_05_131323_create_gutachter_tables.php new file mode 100644 index 0000000..bf2c1c4 --- /dev/null +++ b/database/migrations/2025_09_05_131323_create_gutachter_tables.php @@ -0,0 +1,34 @@ +id(); + $table->string('name')->nullable(); + $table->string('logo')->nullable(); + $table->string('address')->nullable(); + $table->string('place')->nullable(); + $table->string('code')->nullable(); + $table->string('phone')->nullable(); + $table->timestamp('deleted_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('gutachters'); + } +}; diff --git a/database/migrations/2025_09_06_143006_create_kontooptionens_table.php b/database/migrations/2025_09_06_143006_create_kontooptionens_table.php new file mode 100644 index 0000000..dc6028c --- /dev/null +++ b/database/migrations/2025_09_06_143006_create_kontooptionens_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('name')->nullable(); + $table->string('description')->nullable(); + $table->integer('number_user')->default(1); + $table->integer('number_gutachter')->default(1); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('kontooptionens'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index d27dca9..e2e7a4f 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -12,7 +12,9 @@ class DatabaseSeeder extends Seeder public function run(): void { $this->call([ + KontoSeeder::class, RolesAndPermissionsSeeder::class, + KontooptionenSeeder::class, ]); } } diff --git a/database/seeders/KontoSeeder.php b/database/seeders/KontoSeeder.php new file mode 100644 index 0000000..fe0f66f --- /dev/null +++ b/database/seeders/KontoSeeder.php @@ -0,0 +1,21 @@ + 'gutachter', 'guard_name' => 'web'], ['name' => 'super_admin', 'guard_name' => 'web'], - ['name' => 'tenancy_switch', 'guard_name' => 'web'], + ['name' => 'gutachter_switch', 'guard_name' => 'web'], ], ['name'] ); $user = User::factory()->create([ + 'konto_id' => '1', + 'gender' => 'Herr', 'name' => 'Hermann Telser', 'email' => 'ht@webwerkstatt.tirol', 'password' => Hash::make('salam'), @@ -28,12 +30,16 @@ class RolesAndPermissionsSeeder extends Seeder 'email_verified_at' => now(), ]); $user->assignRole('super_admin'); - $user->assignRole('tenancy_switch'); + $user->assignRole('gutachter_switch'); $user = User::factory()->create([ + 'konto_id' => '1', + 'gender' => 'Frau', 'name' => 'Yvonne Bormes', 'email' => 'yvonne.bormes@ztkammer.at', 'password' => Hash::make('yvonne'), + 'app_verified_at' => now(), + 'email_verified_at' => now(), ]); $user->assignRole('gutachter'); } diff --git a/lang/vendor/filament-shield/ar/filament-shield.php b/lang/vendor/filament-shield/ar/filament-shield.php new file mode 100644 index 0000000..8adae59 --- /dev/null +++ b/lang/vendor/filament-shield/ar/filament-shield.php @@ -0,0 +1,80 @@ + 'العنوان', + 'column.guard_name' => 'اسم الحارس', + 'column.roles' => 'الأدوار', + 'column.permissions' => 'الصلاحيات', + 'column.updated_at' => 'تاريخ التحديث', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'العنوان', + 'field.guard_name' => 'اسم الحارس', + 'field.permissions' => 'الصلاحيات', + 'field.select_all.name' => 'تحديد الكل', + 'field.select_all.message' => 'تفعيل كافة الصلاحيات لهذا الدور', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'إدارة الوصول', + 'nav.role.label' => 'الأدوار', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'دور', + 'resource.label.roles' => 'الأدوار', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'الأقسام', + 'resources' => 'المصادر', + 'widgets' => 'الأجزاء', + 'pages' => 'الصفحات', + 'custom' => 'صلاحيات مخصصة', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'أنت غير مخول، لديك صلاحية للوصول', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'عرض', + 'view_any' => 'عرض الكل', + 'create' => 'إضافة', + 'update' => 'تعديل', + 'delete' => 'حذف', + 'delete_any' => 'حذف الكل', + 'force_delete' => 'إجبار الحذف', + 'force_delete_any' => ' إجبار حذف أي', + 'reorder' => 'إعادة ترتيب', + 'restore' => 'استرجاع', + 'restore_any' => 'استرجاع الكل', + 'replicate' => 'استنساخ', + ], +]; diff --git a/lang/vendor/filament-shield/ckb/filament-shield.php b/lang/vendor/filament-shield/ckb/filament-shield.php new file mode 100644 index 0000000..85a4014 --- /dev/null +++ b/lang/vendor/filament-shield/ckb/filament-shield.php @@ -0,0 +1,80 @@ + 'ناو', + 'column.guard_name' => 'ناوی گوارد', + 'column.roles' => 'ڕۆڵەکان', + 'column.permissions' => 'پێرمشنەکان', + 'column.updated_at' => 'نوێکردنەوە لە', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'ناو', + 'field.guard_name' => 'ناوی گوارد', + 'field.permissions' => 'پێرمشنەکان', + 'field.select_all.name' => 'دیاری کردنی هەموو', + 'field.select_all.message' => 'هەموو پێرمشنەکان چالاک بکە کە لە ئێستادا چالاک کراوە بۆ ئەم ڕۆڵە', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'فیڵەمێنت شیڵد', + 'nav.role.label' => 'ڕۆڵەکان', + 'nav.role.icon' => 'heroicon-o-users', + 'resource.label.role' => 'ڕۆڵ', + 'resource.label.roles' => 'ڕۆڵەکان', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'یەکەکان', + 'resources' => 'سەرچاوەکان', + 'widgets' => 'ویجتەکان', + 'pages' => 'پەیجەکان', + 'custom' => 'پێرمشنی تایبەت', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'تۆ مۆڵەتی چوونە ژوورەوەت نییە', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'بینین', + 'view_any' => 'بینینی هەریەک', + 'create' => 'دروستکردن', + 'update' => 'نوێکردنەوە', + 'delete' => 'سڕینەوە', + 'delete_any' => 'سڕینەوەی هەریەک', + 'force_delete' => 'سڕینەوەی تەواو', + 'force_delete_any' => 'سڕینەوەی تەواوی هەریەک', + 'restore' => 'گێڕاندنەوە', + 'reorder' => 'ڕیزکردن', + 'restore_any' => 'گێڕاندنەوەی هەریەک', + 'replicate' => 'دووبارەکردنەوە', + ], +]; diff --git a/lang/vendor/filament-shield/cs/filament-shield.php b/lang/vendor/filament-shield/cs/filament-shield.php new file mode 100644 index 0000000..9e25e8f --- /dev/null +++ b/lang/vendor/filament-shield/cs/filament-shield.php @@ -0,0 +1,80 @@ + 'Název', + 'column.guard_name' => 'Název guardu', + 'column.roles' => 'Role', + 'column.permissions' => 'Oprávnění', + 'column.updated_at' => 'Změněno dne', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Název', + 'field.guard_name' => 'Název guardu', + 'field.permissions' => 'Oprávnění', + 'field.select_all.name' => 'Vybrat vše', + 'field.select_all.message' => 'Povolit všechny oprávnení právě Dostupné pro tuto roli', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Role', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Role', + 'resource.label.roles' => 'Role', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entity', + 'resources' => 'Zdroje', + 'widgets' => 'Widgety', + 'pages' => 'Stránky', + 'custom' => 'Vlastní oprávnění', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Nemáte oprávnění k přístupu', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Zobrazit', + 'view_any' => 'Zobrazit jakýkoliv', + 'create' => 'Vyvořit', + 'update' => 'Upravit', + 'delete' => 'Smazat', + 'delete_any' => 'Smazat jakýkoliv', + 'force_delete' => 'Trvale smazat', + 'force_delete_any' => 'Trvale smazat jakýkoliv', + 'restore' => 'Obnovit', + 'reorder' => 'Změnit pořadí', + 'restore_any' => 'Obnovit jakýkoliv', + 'replicate' => 'Duplikovat', + ], +]; diff --git a/lang/vendor/filament-shield/de/filament-shield.php b/lang/vendor/filament-shield/de/filament-shield.php new file mode 100644 index 0000000..c0221f9 --- /dev/null +++ b/lang/vendor/filament-shield/de/filament-shield.php @@ -0,0 +1,80 @@ + 'Guard-Name', + 'column.name' => 'Name', + 'column.permissions' => 'Berechtigungen', + 'column.roles' => 'Rollen', + 'column.updated_at' => 'Aktualisiert am', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.guard_name' => 'Guard-Name', + 'field.name' => 'Name', + 'field.permissions' => 'Berechtigungen', + 'field.select_all.message' => 'Aktivierung aller Berechtigungen, die derzeit für diese Rolle aktiviert sind', + 'field.select_all.name' => 'Alle auswählen', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Interne Administration', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'nav.role.label' => 'Rollen', + 'resource.label.role' => 'Rolle', + 'resource.label.roles' => 'Rollen', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entitäten', + 'resources' => 'Ressourcen', + 'widgets' => 'Widgets', + 'pages' => 'Seiten', + 'custom' => 'benutzerdefinierte Berechtigungen', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Sie haben keine Zugangsberechtigung', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Anzeigen', + 'view_any' => 'Alle anzeigen', + 'create' => 'Erstellen', + 'update' => 'Bearbeiten', + 'delete' => 'Löschen', + 'delete_any' => 'Alle löschen', + 'force_delete' => 'Endgültig löschen', + 'force_delete_any' => 'Alle endgültig löschen', + // 'reorder' => 'Reorder', + // 'replicate' => 'Replicate', + 'restore' => 'Wiederherstellen', + 'restore_any' => 'Alle wiederherstellen', + ], +]; diff --git a/lang/vendor/filament-shield/en/filament-shield.php b/lang/vendor/filament-shield/en/filament-shield.php new file mode 100644 index 0000000..7016ef0 --- /dev/null +++ b/lang/vendor/filament-shield/en/filament-shield.php @@ -0,0 +1,83 @@ + 'Name', + 'column.guard_name' => 'Guard Name', + 'column.team' => 'Team', + 'column.roles' => 'Roles', + 'column.permissions' => 'Permissions', + 'column.updated_at' => 'Updated At', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Name', + 'field.guard_name' => 'Guard Name', + 'field.permissions' => 'Permissions', + 'field.team' => 'Team', + 'field.team.placeholder' => 'Select a team ...', + 'field.select_all.name' => 'Select All', + 'field.select_all.message' => 'Enables/Disables all Permissions for this role', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Roles', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Role', + 'resource.label.roles' => 'Roles', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entities', + 'resources' => 'Resources', + 'widgets' => 'Widgets', + 'pages' => 'Pages', + 'custom' => 'Custom Permissions', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'You do not have permission to access', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'View', + 'view_any' => 'View Any', + 'create' => 'Create', + 'update' => 'Update', + 'delete' => 'Delete', + 'delete_any' => 'Delete Any', + 'force_delete' => 'Force Delete', + 'force_delete_any' => 'Force Delete Any', + 'restore' => 'Restore', + 'reorder' => 'Reorder', + 'restore_any' => 'Restore Any', + 'replicate' => 'Replicate', + ], +]; diff --git a/lang/vendor/filament-shield/es/filament-shield.php b/lang/vendor/filament-shield/es/filament-shield.php new file mode 100644 index 0000000..5993e10 --- /dev/null +++ b/lang/vendor/filament-shield/es/filament-shield.php @@ -0,0 +1,80 @@ + 'Nombre', + 'column.guard_name' => 'Guard', + 'column.roles' => 'Roles', + 'column.permissions' => 'Permisos', + 'column.updated_at' => 'Actualizado el', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nombre', + 'field.guard_name' => 'Guard', + 'field.permissions' => 'Permisos', + 'field.select_all.name' => 'Seleccionar todos', + 'field.select_all.message' => 'Habilitar todos los permisos actualmente habilitados para este rol', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Roles', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rol', + 'resource.label.roles' => 'Roles', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entidades', + 'resources' => 'Recursos', + 'widgets' => 'Widgets', + 'pages' => 'Páginas', + 'custom' => 'Permisos personalizados', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Usted no tiene permiso de acceso', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Ver un registro en particular', + 'view_any' => 'Ver el listado de registros', + 'create' => 'Crear', + 'update' => 'Actualizar', + 'delete' => 'Eliminar un registro en particular', + 'delete_any' => 'Eliminar varios registros a la vez', + 'force_delete' => 'Forzar elminación de un registro en particular', + 'force_delete_any' => 'Forzar eliminación de varios registros', + 'restore' => 'Restaurar un registro en particular', + 'reorder' => 'Reordenar', + 'restore_any' => 'Restaurar varios registros', + 'replicate' => 'Replicar', + ], +]; diff --git a/lang/vendor/filament-shield/fa/filament-shield.php b/lang/vendor/filament-shield/fa/filament-shield.php new file mode 100644 index 0000000..b1b9927 --- /dev/null +++ b/lang/vendor/filament-shield/fa/filament-shield.php @@ -0,0 +1,80 @@ + 'نام', + 'column.guard_name' => 'نام گارد', + 'column.roles' => 'نقش‌ها', + 'column.permissions' => 'دسترسی‌ها', + 'column.updated_at' => 'به‌روزشده در', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'نام', + 'field.guard_name' => 'نام گارد', + 'field.permissions' => 'دسترسی‌ها', + 'field.select_all.name' => 'انتخاب همه', + 'field.select_all.message' => 'تمام دسترسی‌های فعال فعلی را برای این نقش فعال کن.', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'نقش‌ها', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'نقش', + 'resource.label.roles' => 'نقش‌ها', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'موجودیت‌ها', + 'resources' => 'منابع', + 'widgets' => 'ویجت‌ها', + 'pages' => 'صفحات', + 'custom' => 'دسترسی‌های سفارشی', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'شما اجازه دسترسی ندارید.', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'نمایش', + 'view_any' => 'نمایش همه', + 'create' => 'ایجاد', + 'update' => 'ویرایش', + 'delete' => 'حذف', + 'delete_any' => 'حذف همه', + 'force_delete' => 'حذف اجباری', + 'force_delete_any' => 'حذف اجباری همه', + 'restore' => 'بازیابی', + 'replicate' => 'تکثیر', + 'reorder' => 'مرتب‌سازی', + 'restore_any' => 'بازیابی همه', + ], +]; diff --git a/lang/vendor/filament-shield/fr/filament-shield.php b/lang/vendor/filament-shield/fr/filament-shield.php new file mode 100644 index 0000000..f673672 --- /dev/null +++ b/lang/vendor/filament-shield/fr/filament-shield.php @@ -0,0 +1,80 @@ + 'Nom', + 'column.guard_name' => 'Nom du Guard', + 'column.roles' => 'Rôles', + 'column.permissions' => 'Permissions', + 'column.updated_at' => 'Mis à jour à', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nom', + 'field.guard_name' => 'Nom du Guard', + 'field.permissions' => 'Permissions', + 'field.select_all.name' => 'Tout sélectionner', + 'field.select_all.message' => 'Activer toutes les autorisations pour ce rôle', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Rôles', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rôle', + 'resource.label.roles' => 'Rôles', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Section', + 'resources' => 'Ressources', + 'widgets' => 'Widgets', + 'pages' => 'Pages', + 'custom' => 'Permissions personnalisées', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Vous n\'avez pas la permission d\'accéder', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Voir', + 'view_any' => 'Voir tout', + 'create' => 'Créer', + 'update' => 'Mettre à jour', + 'delete' => 'Supprimer', + 'delete_any' => 'Supprimer tout', + 'force_delete' => 'Forcer la suppression', + 'force_delete_any' => 'Forcer la suppression de tout', + 'restore' => 'Restaurer', + 'replicate' => 'Répliquer', + 'reorder' => 'Réordonner', + 'restore_any' => 'Restaurer tout', + ], +]; diff --git a/lang/vendor/filament-shield/hu/filament-shield.php b/lang/vendor/filament-shield/hu/filament-shield.php new file mode 100644 index 0000000..9cb40a1 --- /dev/null +++ b/lang/vendor/filament-shield/hu/filament-shield.php @@ -0,0 +1,80 @@ + 'Név', + 'column.guard_name' => 'Guard név', + 'column.roles' => 'Jogosultságok', + 'column.permissions' => 'Engedélyek', + 'column.updated_at' => 'Frissítve', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Név', + 'field.guard_name' => 'Guard név', + 'field.permissions' => 'Engedélyek', + 'field.select_all.name' => 'Összes kijelölése', + 'field.select_all.message' => 'Engedélyezze az összes jelenleg bekapcsolt engedélyt a szerepkör számára.', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Rendszer', + 'nav.role.label' => 'Jogosultságok', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Jogosultság', + 'resource.label.roles' => 'Jogosultságok', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entitások', + 'resources' => 'Erőforrások', + 'widgets' => 'Widgetek', + 'pages' => 'Oldalak', + 'custom' => 'Egyedi jogosultságok', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Nincs megfelelő hozzáférésed', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Megtekintés', + 'view_any' => 'Összes megtekintése', + 'create' => 'Létrehozás', + 'update' => 'Módosítás', + 'delete' => 'Törlés', + 'delete_any' => 'Összes törlése', + 'force_delete' => 'Végleges törlés', + 'force_delete_any' => 'Összes végeles törlése', + 'restore' => 'Helyreállítás', + 'reorder' => 'Sorbarendezés', + 'restore_any' => 'Összes helyreállítása', + 'replicate' => 'Másolás', + ], +]; diff --git a/lang/vendor/filament-shield/hy/filament-shield.php b/lang/vendor/filament-shield/hy/filament-shield.php new file mode 100644 index 0000000..a148589 --- /dev/null +++ b/lang/vendor/filament-shield/hy/filament-shield.php @@ -0,0 +1,80 @@ + 'Անվանում', + 'column.guard_name' => 'Գուարդի անվանում', + 'column.roles' => 'Դերեր', + 'column.permissions' => 'Թույլտվություններ', + 'column.updated_at' => 'Թարմացվել է', + + /* + |------------------------------------------------- ------------------------- + | Form Fields + |------------------------------------------------- ------------------------- + */ + + 'field.name' => 'Անվանում', + 'field.guard_name' => 'Գուարդի անվանում', + 'field.permissions' => 'Թույլտվություններ', + 'field.select_all.name' => 'Ընտրել բոլորը', + 'field.select_all.message' => 'Միացնել բոլոր թույլտվությունները, որոնք Հասանելի են այս դերի համար', + + /* + |------------------------------------------------- ------------------------- + | Navigation & Resource + |------------------------------------------------- ------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Դերեր', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Դեր', + 'resource.label.roles' => 'Դերեր', + + /* + |------------------------------------------------- ------------------------- + | Section & Tabs + |------------------------------------------------- ------------------------- + */ + + 'section' => 'Սուբյեկտներ', + 'resources' => 'Ռեսուրսներ', + 'widgets' => 'Վիդջեթներ', + 'pages' => 'Էջեր', + 'custom' => 'Օգտագործողի թույլտվություններ', + + /* + |------------------------------------------------- ------------------------- + | Messages + |------------------------------------------------- ------------------------- + */ + + 'forbidden' => 'Դուք հասանելիություն չունեք', + + /* + |------------------------------------------------- ------------------------- + | Resource Permissions' Labels + |------------------------------------------------- ------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Դիտել', + 'view_any' => 'Դիտել ցանկացած', + 'create' => 'Ստեղծել', + 'update' => 'Թարմացնել', + 'delete' => 'Ջնջել', + 'delete_any' => 'Ջնջել ցանկացած', + 'force_delete' => 'Ստիպել ջնջել', + 'force_delete_any' => 'Ստիպել ջնջել ցանկացածը', + 'restore' => 'Վերականգնել', + 'reorder' => 'Վերադասավորել', + 'restore_any' => 'Վերադասավորել ցանկացածը', + 'replicate' => 'Կրկնօրինակել', + ], +]; diff --git a/lang/vendor/filament-shield/id/filament-shield.php b/lang/vendor/filament-shield/id/filament-shield.php new file mode 100644 index 0000000..c4bd62c --- /dev/null +++ b/lang/vendor/filament-shield/id/filament-shield.php @@ -0,0 +1,80 @@ + 'Nama', + 'column.guard_name' => 'Nama Penjaga', + 'column.roles' => 'Peran', + 'column.permissions' => 'Izin', + 'column.updated_at' => 'Dirubah', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nama', + 'field.guard_name' => 'Nama Penjaga', + 'field.permissions' => 'Izin', + 'field.select_all.name' => 'Pilih Semua', + 'field.select_all.message' => 'Aktifkan semua izin yang Tersedia untuk Peran ini.', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Pelindung', + 'nav.role.label' => 'Peran', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Peran', + 'resource.label.roles' => 'Peran', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entitas', + 'resources' => 'Sumber Daya', + 'widgets' => 'Widget', + 'pages' => 'Halaman', + 'custom' => 'Izin Kustom', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Kamu tidak punya izin akses', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Lihat', + 'view_any' => 'Lihat Apa Saja', + 'create' => 'Buat', + 'update' => 'Perbarui', + 'delete' => 'Hapus', + 'delete_any' => 'Hapus Apa Saja', + 'force_delete' => 'Paksa Hapus', + 'force_delete_any' => 'Paksa Hapus Apa Saja', + 'restore' => 'Pulihkan', + 'replicate' => 'Replikasi', + 'reorder' => 'Susun Ulang', + 'restore_any' => 'Pulihkan Apa Saja', + ], +]; diff --git a/lang/vendor/filament-shield/it/filament-shield.php b/lang/vendor/filament-shield/it/filament-shield.php new file mode 100644 index 0000000..ae5b795 --- /dev/null +++ b/lang/vendor/filament-shield/it/filament-shield.php @@ -0,0 +1,80 @@ + 'Nome', + 'column.guard_name' => 'Nome Guard', + 'column.roles' => 'Ruoli', + 'column.permissions' => 'Permessi', + 'column.updated_at' => 'Aggiornato a', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nome', + 'field.guard_name' => 'Nome Guard', + 'field.permissions' => 'Permessi', + 'field.select_all.name' => 'Seleziona Tutto', + 'field.select_all.message' => 'Abilita tutti i Permessi attualmente Abilitati per questo ruolo', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Ruoli', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Ruolo', + 'resource.label.roles' => 'Ruoli', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entities', + 'resources' => 'Resources', + 'widgets' => 'Widgets', + 'pages' => 'Pages', + 'custom' => 'Permessi Personalizzati', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Non hai i permessi di accesso', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + // 'resource_permission_prefixes_labels' => [ + // 'view' => 'View', + // 'view_any' => 'View Any', + // 'create' => 'Create', + // 'update' => 'Update', + // 'delete' => 'Delete', + // 'delete_any' => 'Delete Any', + // 'force_delete' => 'Force Delete', + // 'force_delete_any' => 'Force Delete Any', + // 'restore' => 'Restore', + // 'replicate' => 'Replicate', + // 'reorder' => 'Reorder', + // 'restore_any' => 'Restore Any', + // ], +]; diff --git a/lang/vendor/filament-shield/ja/filament-shield.php b/lang/vendor/filament-shield/ja/filament-shield.php new file mode 100644 index 0000000..81b3111 --- /dev/null +++ b/lang/vendor/filament-shield/ja/filament-shield.php @@ -0,0 +1,80 @@ + '名前', + 'column.guard_name' => 'ガード名', + 'column.roles' => 'ロール', + 'column.permissions' => 'パーミッション', + 'column.updated_at' => '更新日時', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => '名前', + 'field.guard_name' => 'ガード名', + 'field.permissions' => 'パーミッション', + 'field.select_all.name' => 'すべて選択', + 'field.select_all.message' => 'このロールに対して現在有効となっているすべての権限を有効にします。', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'ロール', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'ロール', + 'resource.label.roles' => 'ロール', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'エンティティ', + 'resources' => 'リソース', + 'widgets' => 'ウィジェット', + 'pages' => 'ページ', + 'custom' => 'カスタムパーミッション', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'アクセスするパーミッションがありません。', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => '表示', + 'view_any' => 'どれでも表示', + 'create' => '作成', + 'update' => '更新', + 'delete' => '削除', + 'delete_any' => 'どれでも削除', + 'force_delete' => '強制削除', + 'force_delete_any' => 'どれでも強制削除', + 'restore' => 'リストア', + 'reorder' => '並べ直し', + 'restore_any' => 'どれでもリストア', + 'replicate' => 'レプリカ', + ], +]; diff --git a/lang/vendor/filament-shield/ka/filament-shield.php b/lang/vendor/filament-shield/ka/filament-shield.php new file mode 100644 index 0000000..5c11e57 --- /dev/null +++ b/lang/vendor/filament-shield/ka/filament-shield.php @@ -0,0 +1,80 @@ + 'სახელი', + 'column.guard_name' => 'გუარდის სახელი', + 'column.roles' => 'როლები', + 'column.permissions' => 'ნებართვები', + 'column.updated_at' => 'განახლების თარიღი', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'სახელი', + 'field.guard_name' => 'გუარდის სახელი', + 'field.permissions' => 'ნებართვები', + 'field.select_all.name' => 'ყველას მონიშვნა', + 'field.select_all.message' => 'ჩართეთ ყველა ნებართვა, რომელიც ამჟამად ჩართულია ამ როლისთვის', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'როლები', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'როლი', + 'resource.label.roles' => 'როლები', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'ერთეულები', + 'resources' => 'რესურსები', + 'widgets' => 'ვიდჯეტები', + 'pages' => 'გვერდები', + 'custom' => 'მომხმარებლის ნებართვები', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'თქვენ არ გაქვთ წვდომის ნებართვა', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'ნახვა', + 'view_any' => 'ნებისმიერის ნახვა', + 'create' => 'შექმნა', + 'update' => 'განახლება', + 'delete' => 'წაშლა', + 'delete_any' => 'ნებისმიერის წაშლა', + 'force_delete' => 'იძულებითი წაშლა', + 'force_delete_any' => 'ნებისმიერის იძულებითი წაშლა', + 'restore' => 'აღდგენა', + 'reorder' => 'გადალაგება', + 'restore_any' => 'ნებისმიერის აღდგენა', + 'replicate' => 'დუბლირება', + ], +]; diff --git a/lang/vendor/filament-shield/km/filament-shield.php b/lang/vendor/filament-shield/km/filament-shield.php new file mode 100644 index 0000000..3ba5406 --- /dev/null +++ b/lang/vendor/filament-shield/km/filament-shield.php @@ -0,0 +1,80 @@ + 'ឈ្មោះ', + 'column.guard_name' => 'ឈ្មោះអ្នកមើល', + 'column.roles' => 'តួនាទី', + 'column.permissions' => 'ការអនុញ្ញាតិ', + 'column.updated_at' => 'បានធ្វើបច្ចុប្បន្នភាពនៅ', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'ឈ្មោះ', + 'field.guard_name' => 'ឈ្មោះអ្នកមើល', + 'field.permissions' => 'ការអនុញ្ញាតិ', + 'field.select_all.name' => 'ជ្រើសរើសទាំងអស់', + 'field.select_all.message' => 'បើកការអនុញ្ញាតទាំងអស់ដែលបច្ចុប្បន្នត្រូវបាន បើកដំណើរការ សម្រាប់តួនាទីនេះ។', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'តួនាទី', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'តួនាទី', + 'resource.label.roles' => 'តួនាទី', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'អង្គភាព', + 'resources' => 'ប្រភព', + 'widgets' => 'តារាង', + 'pages' => 'ទំព័រ', + 'custom' => 'ការអនុញ្ញាតផ្ទាល់ខ្លួន', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'អ្នកមិនមានសិទ្ធិចូលប្រើទេ។', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'មើល', + 'view_any' => 'មើលសន្ទស្សន៍', + 'create' => 'បង្កើត', + 'update' => 'ធ្វើបច្ចុប្បន្នភាព', + 'delete' => 'លុប', + 'delete_any' => 'លុបទាំងបាច់', + 'force_delete' => 'បង្ខំ​លុប', + 'force_delete_any' => 'បង្ខំលុបណាមួយ។', + 'restore' => 'ស្តារ', + 'restore_any' => 'ស្តារណាមួយ។', + 'reorder' => 'តម្រៀបឡើងវិញ', + 'replicate' => 'ចម្លង', + ], +]; diff --git a/lang/vendor/filament-shield/ko/filament-shield.php b/lang/vendor/filament-shield/ko/filament-shield.php new file mode 100644 index 0000000..4ae48d3 --- /dev/null +++ b/lang/vendor/filament-shield/ko/filament-shield.php @@ -0,0 +1,80 @@ + '이름', + 'column.guard_name' => '가드 이름', + 'column.roles' => '역할', + 'column.permissions' => '권한', + 'column.updated_at' => '최근 업데이트', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => '이름', + 'field.guard_name' => '가드 이름', + 'field.permissions' => '권한', + 'field.select_all.name' => '전체 선택', + 'field.select_all.message' => '현재 이 역할에 대해 활성화된 모든 권한을 활성화', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => '역할', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => '역할', + 'resource.label.roles' => '역할들', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => '섹션', + 'resources' => '리소스', + 'widgets' => '위젯', + 'pages' => '페이지', + 'custom' => '사용자 정의 권한', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => '접근 권한이 없습니다', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => '보기', + 'view_any' => '모두 보기', + 'create' => '생성', + 'update' => '업데이트', + 'delete' => '삭제', + 'delete_any' => '모두 삭제', + 'force_delete' => '강제 삭제', + 'force_delete_any' => '모두 강제 삭제', + 'restore' => '복구', + 'reorder' => '재정렬', + 'restore_any' => '모두 복구', + 'replicate' => '복제', + ], +]; diff --git a/lang/vendor/filament-shield/ku/filament-shield.php b/lang/vendor/filament-shield/ku/filament-shield.php new file mode 100644 index 0000000..85a4014 --- /dev/null +++ b/lang/vendor/filament-shield/ku/filament-shield.php @@ -0,0 +1,80 @@ + 'ناو', + 'column.guard_name' => 'ناوی گوارد', + 'column.roles' => 'ڕۆڵەکان', + 'column.permissions' => 'پێرمشنەکان', + 'column.updated_at' => 'نوێکردنەوە لە', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'ناو', + 'field.guard_name' => 'ناوی گوارد', + 'field.permissions' => 'پێرمشنەکان', + 'field.select_all.name' => 'دیاری کردنی هەموو', + 'field.select_all.message' => 'هەموو پێرمشنەکان چالاک بکە کە لە ئێستادا چالاک کراوە بۆ ئەم ڕۆڵە', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'فیڵەمێنت شیڵد', + 'nav.role.label' => 'ڕۆڵەکان', + 'nav.role.icon' => 'heroicon-o-users', + 'resource.label.role' => 'ڕۆڵ', + 'resource.label.roles' => 'ڕۆڵەکان', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'یەکەکان', + 'resources' => 'سەرچاوەکان', + 'widgets' => 'ویجتەکان', + 'pages' => 'پەیجەکان', + 'custom' => 'پێرمشنی تایبەت', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'تۆ مۆڵەتی چوونە ژوورەوەت نییە', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'بینین', + 'view_any' => 'بینینی هەریەک', + 'create' => 'دروستکردن', + 'update' => 'نوێکردنەوە', + 'delete' => 'سڕینەوە', + 'delete_any' => 'سڕینەوەی هەریەک', + 'force_delete' => 'سڕینەوەی تەواو', + 'force_delete_any' => 'سڕینەوەی تەواوی هەریەک', + 'restore' => 'گێڕاندنەوە', + 'reorder' => 'ڕیزکردن', + 'restore_any' => 'گێڕاندنەوەی هەریەک', + 'replicate' => 'دووبارەکردنەوە', + ], +]; diff --git a/lang/vendor/filament-shield/lv/filament-shield.php b/lang/vendor/filament-shield/lv/filament-shield.php new file mode 100644 index 0000000..1f90b92 --- /dev/null +++ b/lang/vendor/filament-shield/lv/filament-shield.php @@ -0,0 +1,80 @@ + 'Nosaukums', + 'column.guard_name' => 'Sargs', + 'column.roles' => 'Lomas', + 'column.permissions' => 'Tiesības', + 'column.updated_at' => 'Atjaunots', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nosaukums', + 'field.guard_name' => 'Sargs', + 'field.permissions' => 'Tiesības', + 'field.select_all.name' => 'Atzīmēt visu', + 'field.select_all.message' => 'Aktivizēt visas pieejamās tiesības šai lomai', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Tiesības', + 'nav.role.label' => 'Lomas', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Loma', + 'resource.label.roles' => 'Lomas', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Vienības', + 'resources' => 'Resursi', + 'widgets' => 'Logrīki', + 'pages' => 'Lapas', + 'custom' => 'Speciālās tiesības', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Jums nav pietiekamu tiesību šī resursa apskatei.', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Skatīt', + 'view_any' => 'Skatīt visu', + 'create' => 'Izveidot', + 'update' => 'Atjaunot', + 'delete' => 'Dzēst', + 'delete_any' => 'Dzēst visu', + 'force_delete' => 'Piespiedu dzēšana', + 'force_delete_any' => 'Piespiedu dzēšana visam', + 'restore' => 'Atjaunot', + 'reorder' => 'Pārkārtot', + 'restore_any' => 'Atjaunot visu', + 'replicate' => 'Replicēt', + ], +]; diff --git a/lang/vendor/filament-shield/nl/filament-shield.php b/lang/vendor/filament-shield/nl/filament-shield.php new file mode 100644 index 0000000..a26b6c6 --- /dev/null +++ b/lang/vendor/filament-shield/nl/filament-shield.php @@ -0,0 +1,80 @@ + 'Naam', + 'column.guard_name' => 'Guard Naam', + 'column.roles' => 'Rollen', + 'column.permissions' => 'Permissies', + 'column.updated_at' => 'Aangepast op', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Naam', + 'field.guard_name' => 'Guard Naam', + 'field.permissions' => 'Permissies', + 'field.select_all.name' => 'Selecteer alles', + 'field.select_all.message' => 'Zet alle permissies aan, die momenteel aangevinkt staan voor deze rol.', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Rollen', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rol', + 'resource.label.roles' => 'Rollen', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entiteiten', + 'resources' => 'Resources', + 'widgets' => 'Widgets', + 'pages' => 'Pagina\'s', + 'custom' => 'Andere permissies', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Je hebt geen toegang', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Bekijken', + 'view_any' => 'Bekijk elke', + 'create' => 'Aanmaken', + 'update' => 'Bewerken', + 'delete' => 'Verwijderen', + 'delete_any' => 'Verwijder elke', + 'force_delete' => 'Forceer verwijderen', + 'force_delete_any' => 'Forceer verwijderen elke', + 'restore' => 'Herstellen', + 'restore_any' => 'Herstel elke', + 'replicate' => 'Repliceren', + // 'reorder' => 'Reorder', + ], +]; diff --git a/lang/vendor/filament-shield/pl/filament-shield.php b/lang/vendor/filament-shield/pl/filament-shield.php new file mode 100644 index 0000000..636e4d9 --- /dev/null +++ b/lang/vendor/filament-shield/pl/filament-shield.php @@ -0,0 +1,83 @@ + 'Nazwa', + 'column.guard_name' => 'Nazwa Guarda', + 'column.team' => 'Zespół', + 'column.roles' => 'Role', + 'column.permissions' => 'Uprawnienia', + 'column.updated_at' => 'Data aktualizacji', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nazwa', + 'field.guard_name' => 'Nazwa Guarda', + 'field.permissions' => 'Uprawnienia', + 'field.team' => 'Zespół', + 'field.team.placeholder' => 'Wybierz zespół...', + 'field.select_all.name' => 'Zaznacz wszystko', + 'field.select_all.message' => 'Włącza/wyłącza wszystkie uprawnienia dla tej roli', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Role', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rola', + 'resource.label.roles' => 'Role', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Komponenty', + 'resources' => 'Zasoby', + 'widgets' => 'Widgety', + 'pages' => 'Strony', + 'custom' => 'Własne uprawnienia', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Nie masz uprawnień do dostępu', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Podgląd', + 'view_any' => 'Podgląd dowolnego', + 'create' => 'Tworzenie', + 'update' => 'Edycja', + 'delete' => 'Usuwanie', + 'delete_any' => 'Usuwanie dowolnego', + 'force_delete' => 'Wymuszone usunięcie', + 'force_delete_any' => 'Wymuszone usunięcie dowolnego', + 'restore' => 'Przywracanie', + 'restore_any' => 'Przywracanie dowolnego', + 'reorder' => 'Zmienianie kolejności', + 'replicate' => 'Duplikowanie', + ], +]; diff --git a/lang/vendor/filament-shield/pt_BR/filament-shield.php b/lang/vendor/filament-shield/pt_BR/filament-shield.php new file mode 100644 index 0000000..cc1014c --- /dev/null +++ b/lang/vendor/filament-shield/pt_BR/filament-shield.php @@ -0,0 +1,79 @@ + 'Nome', + 'column.guard_name' => 'Guard', + 'column.roles' => 'Funções', + 'column.permissions' => 'Permissões', + 'column.updated_at' => 'Alterado em', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nome', + 'field.guard_name' => 'Guard', + 'field.permissions' => 'Permissões', + 'field.select_all.name' => 'Selecionar todos', + 'field.select_all.message' => 'Habilitar todas as permissões para essa função', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Funções', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Função', + 'resource.label.roles' => 'Funções', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + 'section' => 'Entidades', + 'resources' => 'Recursos', + 'widgets' => 'Widgets', + 'pages' => 'Páginas', + 'custom' => 'Permissões customizadas', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Você não tem permissão para acessar', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + // 'resource_permission_prefixes_labels' => [ + // 'view' => 'View', + // 'view_any' => 'View Any', + // 'create' => 'Create', + // 'update' => 'Update', + // 'delete' => 'Delete', + // 'delete_any' => 'Delete Any', + // 'force_delete' => 'Force Delete', + // 'force_delete_any' => 'Force Delete Any', + // 'restore' => 'Restore', + // 'reorder' => 'Reorder', + // 'restore_any' => 'Restore Any', + // 'replicate' => 'Replicate', + // ], +]; diff --git a/lang/vendor/filament-shield/pt_PT/filament-shield.php b/lang/vendor/filament-shield/pt_PT/filament-shield.php new file mode 100644 index 0000000..0caf064 --- /dev/null +++ b/lang/vendor/filament-shield/pt_PT/filament-shield.php @@ -0,0 +1,80 @@ + 'Nome', + 'column.guard_name' => 'Nome da Protecção', + 'column.roles' => 'Funções', + 'column.permissions' => 'Permissões', + 'column.updated_at' => 'Actualizado em', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Nome', + 'field.guard_name' => 'Nome da Protecção', + 'field.permissions' => 'Permissões', + 'field.select_all.name' => 'Selecionar Todos', + 'field.select_all.message' => 'Selecionar todas as Permissões Activas para esta função', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Funções', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Função', + 'resource.label.roles' => 'Funções', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entidades', + 'resources' => 'Recursos', + 'widgets' => 'Widgets', + 'pages' => 'Páginas', + 'custom' => 'Permissões Personalizadas', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Não possui permissões para aceder', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Visualizar', + 'view_any' => 'Visualizar Tudo', + 'create' => 'Criar', + 'update' => 'Actualizar', + 'delete' => 'Eliminar', + 'delete_any' => 'Eliminar Tudo', + 'force_delete' => 'Eliminar Permanentemente', + 'force_delete_any' => 'Eliminar Permanentemente Tudo', + 'restore' => 'Restaurar', + 'reorder' => 'Reordenar', + 'restore_any' => 'Restaurar Tudo', + 'replicate' => 'Replicar', + ], +]; diff --git a/lang/vendor/filament-shield/ro/filament-shield.php b/lang/vendor/filament-shield/ro/filament-shield.php new file mode 100644 index 0000000..d245e4e --- /dev/null +++ b/lang/vendor/filament-shield/ro/filament-shield.php @@ -0,0 +1,80 @@ + 'Număr', + 'column.guard_name' => 'Numele paznicului', + 'column.roles' => 'Roluri', + 'column.permissions' => 'Permisiuni', + 'column.updated_at' => 'Actualizat la', + + /* + |------------------------------------------------- ------------------------- + | Form Fields + |------------------------------------------------- ------------------------- + */ + + 'field.name' => 'Nume', + 'field.guard_name' => 'Numele paznicului', + 'field.permissions' => 'Permisiuni', + 'field.select_all.name' => 'Selectați tot', + 'field.select_all.message' => 'Activați toate permisiunile în prezent Activate pentru acest rol', + + /* + |------------------------------------------------- ------------------------- + | Navigation & Resources + |------------------------------------------------- ------------------------- + */ + + 'nav.group' => 'Scut', + 'nav.role.label' => 'Roluri', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rol', + 'resource.label.roles' => 'Roluri', + + /* + |------------------------------------------------- ------------------------- + | Section & Tabs + |------------------------------------------------- ------------------------- + */ + + 'section' => 'Entități', + 'resources' => 'Resurse', + 'widgets' => 'Widget-uri', + 'pages' => 'Pagini', + 'custom' => 'Permisiuni personalizate', + + /* + |------------------------------------------------- ------------------------- + | Posts + |------------------------------------------------- ------------------------- + */ + + 'forbidden' => 'Nu aveți permisiunea de a accesa', + + /* + |------------------------------------------------- ------------------------- + | Resource Permissions' Labels + |------------------------------------------------- ------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Vizualizare', + 'view_any' => 'Vedeți orice', + 'create' => 'Creează', + 'update' => 'Actualizare', + 'delete' => 'Șterge', + 'delete_any' => 'Șterge orice', + 'force_delete' => 'Forțat ștergerea', + 'force_delete_any' => 'Forțat ștergerea oricărei', + 'restore' => 'Restaurare', + 'reorder' => 'Reordonare', + 'restore_any' => 'Restaurează orice', + 'replicate' => 'Replicare', + ], +]; diff --git a/lang/vendor/filament-shield/ru/filament-shield.php b/lang/vendor/filament-shield/ru/filament-shield.php new file mode 100644 index 0000000..3dcb671 --- /dev/null +++ b/lang/vendor/filament-shield/ru/filament-shield.php @@ -0,0 +1,80 @@ + 'Имя', + 'column.guard_name' => 'Имя гварда', + 'column.roles' => 'Роли', + 'column.permissions' => 'Разрешения', + 'column.updated_at' => 'Обновлено', + + /* + |------------------------------------------------- ------------------------- + | Form Fields + |------------------------------------------------- ------------------------- + */ + + 'field.name' => 'Имя', + 'field.guard_name' => 'Имя гварда', + 'field.permissions' => 'Разрешения', + 'field.select_all.name' => 'Выбрать все', + 'field.select_all.message' => 'Включить все разрешения, которые Доступны для этой роли', + + /* + |------------------------------------------------- ------------------------- + | Navigation & Resource + |------------------------------------------------- ------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Роли', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Роль', + 'resource.label.roles' => 'Роли', + + /* + |------------------------------------------------- ------------------------- + | Section & Tabs + |------------------------------------------------- ------------------------- + */ + + 'section' => 'Сути', + 'resources' => 'Ресурсы', + 'widgets' => 'Виджеты', + 'pages' => 'Страницы', + 'custom' => 'Пользовательские разрешения', + + /* + |------------------------------------------------- ------------------------- + | Messages + |------------------------------------------------- ------------------------- + */ + + 'forbidden' => 'У вас нет доступа', + + /* + |------------------------------------------------- ------------------------- + | Resource Permissions' Labels + |------------------------------------------------- ------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Просмотр', + 'view_any' => 'Может смотреть любое', + 'create' => 'Создание', + 'update' => 'Обновление', + 'delete' => 'Удаление', + 'delete_any' => 'Может удалить любой', + 'force_delete' => 'Принудительно удалить', + 'force_delete_any' => 'Может принудительно удалить любой', + 'restore' => 'Восстановление', + 'reorder' => 'Изменение порядка', + 'restore_any' => 'Может восстановить любой', + 'replicate' => 'Копировать', + ], +]; diff --git a/lang/vendor/filament-shield/sk/filament-shield.php b/lang/vendor/filament-shield/sk/filament-shield.php new file mode 100644 index 0000000..548d500 --- /dev/null +++ b/lang/vendor/filament-shield/sk/filament-shield.php @@ -0,0 +1,80 @@ + 'Meno', + 'column.guard_name' => 'Názov ochrany', + 'column.roles' => 'Roly', + 'column.permissions' => 'Oprávnenia', + 'column.updated_at' => 'Aktualizované', + + /* + |-------------------------------------------------------------------------- + | Polia formulára + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Meno', + 'field.guard_name' => 'Názov ochrany', + 'field.permissions' => 'Oprávnenia', + 'field.select_all.name' => 'Vybrať všetko', + 'field.select_all.message' => 'Povoliť všetky oprávnenia aktuálne Povolené pre túto rolu', + + /* + |-------------------------------------------------------------------------- + | Navigácia & Zdroje + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Roly', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rola', + 'resource.label.roles' => 'Roly', + + /* + |-------------------------------------------------------------------------- + | Sekcie & Karty + |-------------------------------------------------------------------------- + */ + + 'section' => 'Entity', + 'resources' => 'Zdroje', + 'widgets' => 'Widgety', + 'pages' => 'Stránky', + 'custom' => 'Vlastné oprávnenia', + + /* + |-------------------------------------------------------------------------- + | Správy + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Nemáte oprávnenie na prístup', + + /* + |-------------------------------------------------------------------------- + | Štítky oprávnení zdrojov + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Zobraziť', + 'view_any' => 'Zobraziť všetko', + 'create' => 'Vytvoriť', + 'update' => 'Aktualizovať', + 'delete' => 'Odstrániť', + 'delete_any' => 'Odstrániť všetko', + 'force_delete' => 'Natrvalo odstrániť', + 'force_delete_any' => 'Natrvalo odstrániť všetko', + 'restore' => 'Obnoviť', + 'reorder' => 'Preusporiadať', + 'restore_any' => 'Obnoviť všetko', + 'replicate' => 'Replikovať', + ], +]; diff --git a/lang/vendor/filament-shield/sq/filament-shield.php b/lang/vendor/filament-shield/sq/filament-shield.php new file mode 100644 index 0000000..b4dc19f --- /dev/null +++ b/lang/vendor/filament-shield/sq/filament-shield.php @@ -0,0 +1,80 @@ + 'Emri', + 'column.guard_name' => 'Emri i rojes', + 'column.roles' => 'Rolet', + 'column.permissions' => 'Lejet', + 'column.updated_at' => 'Përditësuar në', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Emri', + 'field.guard_name' => 'Emri i rojes', + 'field.permissions' => 'Lejet', + 'field.select_all.name' => 'Zgjidh të gjitha', + 'field.select_all.message' => 'Aktivizo të gjitha lejet aktualisht Aktivizuar për këtë rol', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Rolet', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rol', + 'resource.label.roles' => 'Rolet', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Seksioni', + 'resources' => 'Burimet', + 'widgets' => 'Widgets', + 'pages' => 'Faqet', + 'custom' => 'Lejet e personalizuara', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Nuk ke leje për të hyrë', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Shiko', + 'view_any' => 'Shiko çdo', + 'create' => 'Krijo', + 'update' => 'Përditëso', + 'delete' => 'Fshi', + 'delete_any' => 'Fshi çdo', + 'force_delete' => 'Fshije me forcë', + 'force_delete_any' => 'Fshije me forcë çdo', + 'restore' => 'Rikthe', + 'reorder' => 'Rirendit', + 'restore_any' => 'Rikthe çdo', + 'replicate' => 'Ripërsërit', + ], +]; diff --git a/lang/vendor/filament-shield/tr/filament-shield.php b/lang/vendor/filament-shield/tr/filament-shield.php new file mode 100644 index 0000000..a66c460 --- /dev/null +++ b/lang/vendor/filament-shield/tr/filament-shield.php @@ -0,0 +1,80 @@ + 'Ad', + 'column.guard_name' => 'Koruma Adı', + 'column.roles' => 'Roller', + 'column.permissions' => 'İzinler', + 'column.updated_at' => 'Güncellenme Tarihi', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Ad', + 'field.guard_name' => 'Koruma Adı', + 'field.permissions' => 'İzinler', + 'field.select_all.name' => 'Tümünü Seç', + 'field.select_all.message' => 'Bu rol için şu anda Etkin olan tüm İzinleri etkinleştirin', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Kalkan', + 'nav.role.label' => 'Roller', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rol', + 'resource.label.roles' => 'Roller', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Varlıklar', + 'resources' => 'Kaynaklar', + 'widgets' => 'Araçlar', + 'pages' => 'Sayfalar', + 'custom' => 'Özel İzinler', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Erişim izniniz yok', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Görüntüle', + 'view_any' => 'Herhangi birini görüntüle', + 'create' => 'Oluştur', + 'update' => 'Güncelle', + 'delete' => 'Sil', + 'delete_any' => 'Herhangi Birini Sil', + 'force_delete' => 'Kalıcı Sil', + 'force_delete_any' => 'Herhangi Birini Kalıcı Sil', + 'restore' => 'Geri Yükle', + 'reorder' => 'Sırala', + 'restore_any' => 'Herhangi Birini Geri Yükle', + 'replicate' => 'Kopyala/Çoğalt', + ], +]; diff --git a/lang/vendor/filament-shield/uk/filament-shield.php b/lang/vendor/filament-shield/uk/filament-shield.php new file mode 100644 index 0000000..db2a970 --- /dev/null +++ b/lang/vendor/filament-shield/uk/filament-shield.php @@ -0,0 +1,80 @@ + 'Назва', + 'column.guard_name' => 'Назва гварда', + 'column.roles' => 'Ролі', + 'column.permissions' => 'Дозволи', + 'column.updated_at' => 'Оновлено', + + /* + |------------------------------------------------- ------------------------- + | Form Fields + |------------------------------------------------- ------------------------- + */ + + 'field.name' => 'Назва', + 'field.guard_name' => 'Назва гварда', + 'field.permissions' => 'Дозволи', + 'field.select_all.name' => 'Вибрати все', + 'field.select_all.message' => 'Включити всі дозволи, які Доступні для цієї ролі', + + /* + |------------------------------------------------- ------------------------- + | Navigation & Resource + |------------------------------------------------- ------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Ролі', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Роль', + 'resource.label.roles' => 'Ролі', + + /* + |------------------------------------------------- ------------------------- + | Section & Tabs + |------------------------------------------------- ------------------------- + */ + + 'section' => 'Сутності', + 'resources' => 'Ресурси', + 'widgets' => 'Віджети', + 'pages' => 'Сторінки', + 'custom' => 'Користувальницькі дозволи', + + /* + |------------------------------------------------- ------------------------- + | Messages + |------------------------------------------------- ------------------------- + */ + + 'forbidden' => 'У вас немає доступу', + + /* + |------------------------------------------------- ------------------------- + | Resource Permissions' Labels + |------------------------------------------------- ------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Перегляд', + 'view_any' => 'Перегляд будь-якого', + 'create' => 'Створити', + 'update' => 'Оновити', + 'delete' => 'Видалити', + 'delete_any' => 'Видалити будь-яке', + 'force_delete' => 'Примусове видалення', + 'force_delete_any' => 'Примусове видалення будь-якого', + 'restore' => 'Відновити', + 'reorder' => 'Змінити порядок', + 'restore_any' => 'Відновити будь-яке', + 'replicate' => 'Копіювати', + ], +]; diff --git a/lang/vendor/filament-shield/vi/filament-shield.php b/lang/vendor/filament-shield/vi/filament-shield.php new file mode 100644 index 0000000..986e95e --- /dev/null +++ b/lang/vendor/filament-shield/vi/filament-shield.php @@ -0,0 +1,80 @@ + 'Tên', + 'column.guard_name' => 'Tên guard', + 'column.roles' => 'Vai trò', + 'column.permissions' => 'Quyền', + 'column.updated_at' => 'Cập nhật lúc', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Tên', + 'field.guard_name' => 'Tên guard', + 'field.permissions' => 'Quyền', + 'field.select_all.name' => 'Chọn tất cả', + 'field.select_all.message' => 'Bật tất cả Quyền hiện tại Đã bật cho vai trò này', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Vai trò', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Vai trò', + 'resource.label.roles' => 'Vai trò', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Thực thể', + 'resources' => 'Tài nguyên', + 'widgets' => 'Widget', + 'pages' => 'Trang', + 'custom' => 'Quyền tùy chỉnh', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Bạn không có quyền để truy cập.', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Xem', + 'view_any' => 'Xem bất kỳ', + 'create' => 'Tạo', + 'update' => 'Cập nhật', + 'delete' => 'Xóa', + 'delete_any' => 'Xóa bất kỳ', + 'force_delete' => 'Xóa vĩnh viễn', + 'force_delete_any' => 'Xóa vĩnh viễn bất kỳ', + 'restore' => 'Khôi phục', + 'reorder' => 'Sắp xếp lại', + 'restore_any' => 'Khôi phục bất kỳ', + 'replicate' => 'Nhân bản', + ], +]; diff --git a/lang/vendor/filament-shield/zh_CN/filament-shield.php b/lang/vendor/filament-shield/zh_CN/filament-shield.php new file mode 100644 index 0000000..2a40504 --- /dev/null +++ b/lang/vendor/filament-shield/zh_CN/filament-shield.php @@ -0,0 +1,80 @@ + '角色名', + 'column.guard_name' => '守卫', + 'column.roles' => '角色', + 'column.permissions' => '权限', + 'column.updated_at' => '更新时间', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => '角色名', + 'field.guard_name' => '守卫', + 'field.permissions' => '权限', + 'field.select_all.name' => '全选', + 'field.select_all.message' => '启用当前为该角色 启用的 所有权限', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => '角色', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => '角色', + 'resource.label.roles' => '角色', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => '实体', + 'resources' => '资源', + 'widgets' => '小组件', + 'pages' => '页面', + 'custom' => '自定义', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => '无权访问', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => '详情', + 'view_any' => '列表', + 'create' => '创建', + 'update' => '编辑', + 'delete' => '删除', + 'delete_any' => '批量删除', + 'force_delete' => '永久删除', + 'force_delete_any' => '批量永久删除', + 'restore' => '恢复', + 'reorder' => '重新排序', + 'restore_any' => '批量恢复', + 'replicate' => '复制', + ], +]; diff --git a/lang/vendor/filament-shield/zh_TW/filament-shield.php b/lang/vendor/filament-shield/zh_TW/filament-shield.php new file mode 100644 index 0000000..8896fb7 --- /dev/null +++ b/lang/vendor/filament-shield/zh_TW/filament-shield.php @@ -0,0 +1,80 @@ + '角色名', + 'column.guard_name' => '守衛', + 'column.roles' => '角色', + 'column.permissions' => '權限', + 'column.updated_at' => '更新時間', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => '角色名', + 'field.guard_name' => '守衛', + 'field.permissions' => '權限', + 'field.select_all.name' => '全選', + 'field.select_all.message' => '啟用當前為該角色 啟用的 所有權限', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => '角色', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => '角色', + 'resource.label.roles' => '角色', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => '實體', + 'resources' => '資源', + 'widgets' => '小工具', + 'pages' => '頁面', + 'custom' => '自訂', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => '無權訪問', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => '檢視', + 'view_any' => '列表', + 'create' => '建立', + 'update' => '編輯', + 'delete' => '刪除', + 'delete_any' => '批量刪除', + 'force_delete' => '永久刪除', + 'force_delete_any' => '批量永久刪除', + 'restore' => '還原', + 'reorder' => '重新排序', + 'restore_any' => '批量還原', + 'replicate' => '複製', + ], +]; diff --git a/resources/views/login-links.blade.php b/resources/views/login-links.blade.php new file mode 100644 index 0000000..f9078c4 --- /dev/null +++ b/resources/views/login-links.blade.php @@ -0,0 +1,6 @@ +
+ @env('local') + + + @endenv +
diff --git a/setup.sh b/setup.sh index 25937fb..005a5a5 100755 --- a/setup.sh +++ b/setup.sh @@ -31,6 +31,9 @@ case "$1" in "6") php artisan filament:assets ;; +"7") + php artisan shield:setup + ;; *) echo "" echo "--------------------------" @@ -42,6 +45,7 @@ case "$1" in echo "4 => chown -R apache:apache ." echo "5 => a storage:link" echo "6 => a filament:assets . copy to prod" + echo "7 => a shield:setup with tenancy" echo "--------------------------" echo "" ;;