Masters and Transaction changes
This commit is contained in:
218
config/filament-spatie-roles-permissions.php
Normal file
218
config/filament-spatie-roles-permissions.php
Normal file
@@ -0,0 +1,218 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'resources' => [
|
||||
'PermissionResource' => \Althinect\FilamentSpatieRolesPermissions\Resources\PermissionResource::class,
|
||||
'RoleResource' => \Althinect\FilamentSpatieRolesPermissions\Resources\RoleResource::class,
|
||||
],
|
||||
|
||||
'preload_roles' => true,
|
||||
|
||||
'preload_permissions' => true,
|
||||
|
||||
'navigation_section_group' => 'filament-spatie-roles-permissions::filament-spatie.section.roles_and_permissions', // Default uses language constant
|
||||
|
||||
// 'team_model' => \App\Models\Team::class,
|
||||
|
||||
'scope_to_tenant' => true,
|
||||
|
||||
'super_admin_role_name' => 'Super Admin',
|
||||
|
||||
/*
|
||||
* Set as false to remove from navigation.
|
||||
*/
|
||||
'should_register_on_navigation' => [
|
||||
'permissions' => true,
|
||||
'roles' => true,
|
||||
],
|
||||
|
||||
'should_show_permissions_for_roles' => true,
|
||||
|
||||
/*
|
||||
* Set as true to use simple modal resource.
|
||||
*/
|
||||
'should_use_simple_modal_resource' => [
|
||||
'permissions' => false,
|
||||
'roles' => false,
|
||||
],
|
||||
|
||||
/*
|
||||
* Set as true to remove empty state actions.
|
||||
*/
|
||||
'should_remove_empty_state_actions' => [
|
||||
'permissions' => false,
|
||||
'roles' => false,
|
||||
],
|
||||
|
||||
/**
|
||||
* Set to true to redirect to the resource index instead of the view
|
||||
*/
|
||||
'should_redirect_to_index' => [
|
||||
'permissions' => [
|
||||
'after_create' => false,
|
||||
'after_edit' => false,
|
||||
],
|
||||
'roles' => [
|
||||
'after_create' => false,
|
||||
'after_edit' => false,
|
||||
],
|
||||
],
|
||||
|
||||
/**
|
||||
* Set to true to display relation managers in the resources
|
||||
*/
|
||||
'should_display_relation_managers' => [
|
||||
'permissions' => true,
|
||||
'users' => true,
|
||||
'roles' => true,
|
||||
],
|
||||
|
||||
/*
|
||||
* If you want to place the Resource in a Cluster, then set the required Cluster class.
|
||||
* Eg. \App\Filament\Clusters\Cluster::class
|
||||
*/
|
||||
'clusters' => [
|
||||
'permissions' => null,
|
||||
'roles' => null,
|
||||
],
|
||||
|
||||
'guard_names' => [
|
||||
'web' => 'web',
|
||||
'api' => 'api',
|
||||
],
|
||||
|
||||
'toggleable_guard_names' => [
|
||||
'roles' => [
|
||||
'isToggledHiddenByDefault' => true,
|
||||
],
|
||||
'permissions' => [
|
||||
'isToggledHiddenByDefault' => true,
|
||||
],
|
||||
],
|
||||
|
||||
'default_guard_name' => null,
|
||||
|
||||
// if false guard option will not be show on screen. You should set a default_guard_name in this case
|
||||
'should_show_guard' => true,
|
||||
|
||||
'model_filter_key' => 'return \'%\'.$value;', // Eg: 'return \'%\'.$key.'\%\';'
|
||||
|
||||
'user_name_column' => 'name',
|
||||
|
||||
/*
|
||||
* If user_name_column is an accessor from a model, then list columns to search.
|
||||
* Default: null, will search by user_name_column
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* 'user_name_searchable_columns' => ['first_name', 'last_name']
|
||||
*
|
||||
* and in your model:
|
||||
*
|
||||
* public function getFullNameAttribute() {
|
||||
* return $this->first_name . ' ' . $this->last_name;
|
||||
* }
|
||||
*
|
||||
*/
|
||||
'user_name_searchable_columns' => ['name'],
|
||||
|
||||
/*
|
||||
* Icons to use for navigation
|
||||
*/
|
||||
'icons' => [
|
||||
'role_navigation' => 'heroicon-o-lock-closed',
|
||||
'permission_navigation' => 'heroicon-o-lock-closed',
|
||||
],
|
||||
|
||||
/*
|
||||
* Navigation items order - int value, false restores the default position
|
||||
*/
|
||||
|
||||
'sort' => [
|
||||
'role_navigation' => false,
|
||||
'permission_navigation' => false,
|
||||
],
|
||||
|
||||
'generator' => [
|
||||
|
||||
'guard_names' => [
|
||||
'web',
|
||||
'api',
|
||||
],
|
||||
|
||||
'permission_affixes' => [
|
||||
|
||||
/*
|
||||
* Permissions Aligned with Policies.
|
||||
* DO NOT change the keys unless the genericPolicy.stub is published and altered accordingly
|
||||
*/
|
||||
'viewAnyPermission' => 'view-any',
|
||||
'viewPermission' => 'view',
|
||||
'createPermission' => 'create',
|
||||
'updatePermission' => 'update',
|
||||
'deletePermission' => 'delete',
|
||||
'deleteAnyPermission' => 'delete-any',
|
||||
'replicatePermission' => 'replicate',
|
||||
'restorePermission' => 'restore',
|
||||
'restoreAnyPermission' => 'restore-any',
|
||||
'reorderPermission' => 'reorder',
|
||||
'forceDeletePermission' => 'force-delete',
|
||||
'forceDeleteAnyPermission' => 'force-delete-any',
|
||||
],
|
||||
|
||||
/*
|
||||
* returns the "name" for the permission.
|
||||
*
|
||||
* $permission which is an iteration of [permission_affixes] ,
|
||||
* $model The model to which the $permission will be concatenated
|
||||
*
|
||||
* Eg: 'permission_name' => 'return $permissionAffix . ' ' . Str::kebab($modelName),
|
||||
*
|
||||
* Note: If you are changing the "permission_name" , It's recommended to run with --clean to avoid duplications
|
||||
*/
|
||||
'permission_name' => 'return $permissionAffix . \' \' . $modelName;',
|
||||
|
||||
/*
|
||||
* Permissions will be generated for the models associated with the respective Filament Resources
|
||||
*/
|
||||
'discover_models_through_filament_resources' => false,
|
||||
|
||||
/*
|
||||
* Include directories which consists of models.
|
||||
*/
|
||||
'model_directories' => [
|
||||
app_path('Models'),
|
||||
// app_path('Domains/Forum')
|
||||
],
|
||||
|
||||
/*
|
||||
* Define custom_models
|
||||
*/
|
||||
'custom_models' => [
|
||||
//
|
||||
],
|
||||
|
||||
/*
|
||||
* Define excluded_models
|
||||
*/
|
||||
'excluded_models' => [
|
||||
//
|
||||
],
|
||||
|
||||
'excluded_policy_models' => [
|
||||
\App\Models\User::class,
|
||||
],
|
||||
|
||||
/*
|
||||
* Define any other permission that should be synced with the DB
|
||||
*/
|
||||
'custom_permissions' => [
|
||||
// 'view-log'
|
||||
],
|
||||
|
||||
'user_model' => \App\Models\User::class,
|
||||
|
||||
'policies_namespace' => 'App\Policies',
|
||||
],
|
||||
];
|
||||
89
config/filament.php
Normal file
89
config/filament.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Broadcasting
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By uncommenting the Laravel Echo configuration, you may connect Filament
|
||||
| to any Pusher-compatible websockets server.
|
||||
|
|
||||
| This will allow your users to receive real-time notifications.
|
||||
|
|
||||
*/
|
||||
|
||||
'broadcasting' => [
|
||||
|
||||
// 'echo' => [
|
||||
// 'broadcaster' => 'pusher',
|
||||
// 'key' => env('VITE_PUSHER_APP_KEY'),
|
||||
// 'cluster' => env('VITE_PUSHER_APP_CLUSTER'),
|
||||
// 'wsHost' => env('VITE_PUSHER_HOST'),
|
||||
// 'wsPort' => env('VITE_PUSHER_PORT'),
|
||||
// 'wssPort' => env('VITE_PUSHER_PORT'),
|
||||
// 'authEndpoint' => '/broadcasting/auth',
|
||||
// 'disableStats' => true,
|
||||
// 'encrypted' => true,
|
||||
// 'forceTLS' => true,
|
||||
// ],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Filesystem Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the storage disk Filament will use to store files. You may use
|
||||
| any of the disks defined in the `config/filesystems.php`.
|
||||
|
|
||||
*/
|
||||
|
||||
'default_filesystem_disk' => env('FILAMENT_FILESYSTEM_DISK', 'public'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Assets Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the directory where Filament's assets will be published to. It
|
||||
| is relative to the `public` directory of your Laravel application.
|
||||
|
|
||||
| After changing the path, you should run `php artisan filament:assets`.
|
||||
|
|
||||
*/
|
||||
|
||||
'assets_path' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the directory that Filament will use to store cache files that
|
||||
| are used to optimize the registration of components.
|
||||
|
|
||||
| After changing the path, you should run `php artisan filament:cache-components`.
|
||||
|
|
||||
*/
|
||||
|
||||
'cache_path' => base_path('bootstrap/cache/filament'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Livewire Loading Delay
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This sets the delay before loading indicators appear.
|
||||
|
|
||||
| Setting this to 'none' makes indicators appear immediately, which can be
|
||||
| desirable for high-latency connections. Setting it to 'default' applies
|
||||
| Livewire's standard 200ms delay.
|
||||
|
|
||||
*/
|
||||
|
||||
'livewire_loading_delay' => 'default',
|
||||
|
||||
];
|
||||
202
config/permission.php
Normal file
202
config/permission.php
Normal file
@@ -0,0 +1,202 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'models' => [
|
||||
|
||||
/*
|
||||
* When using the "HasPermissions" trait from this package, we need to know which
|
||||
* Eloquent model should be used to retrieve your permissions. Of course, it
|
||||
* is often just the "Permission" model but you may use whatever you like.
|
||||
*
|
||||
* The model you want to use as a Permission model needs to implement the
|
||||
* `Spatie\Permission\Contracts\Permission` contract.
|
||||
*/
|
||||
|
||||
'permission' => Spatie\Permission\Models\Permission::class,
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* Eloquent model should be used to retrieve your roles. Of course, it
|
||||
* is often just the "Role" model but you may use whatever you like.
|
||||
*
|
||||
* The model you want to use as a Role model needs to implement the
|
||||
* `Spatie\Permission\Contracts\Role` contract.
|
||||
*/
|
||||
|
||||
'role' => Spatie\Permission\Models\Role::class,
|
||||
|
||||
],
|
||||
|
||||
'table_names' => [
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* table should be used to retrieve your roles. We have chosen a basic
|
||||
* default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'roles' => 'roles',
|
||||
|
||||
/*
|
||||
* When using the "HasPermissions" trait from this package, we need to know which
|
||||
* table should be used to retrieve your permissions. We have chosen a basic
|
||||
* default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'permissions' => 'permissions',
|
||||
|
||||
/*
|
||||
* When using the "HasPermissions" trait from this package, we need to know which
|
||||
* table should be used to retrieve your models permissions. We have chosen a
|
||||
* basic default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'model_has_permissions' => 'model_has_permissions',
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* table should be used to retrieve your models roles. We have chosen a
|
||||
* basic default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'model_has_roles' => 'model_has_roles',
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* table should be used to retrieve your roles permissions. We have chosen a
|
||||
* basic default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'role_has_permissions' => 'role_has_permissions',
|
||||
],
|
||||
|
||||
'column_names' => [
|
||||
/*
|
||||
* Change this if you want to name the related pivots other than defaults
|
||||
*/
|
||||
'role_pivot_key' => null, // default 'role_id',
|
||||
'permission_pivot_key' => null, // default 'permission_id',
|
||||
|
||||
/*
|
||||
* Change this if you want to name the related model primary key other than
|
||||
* `model_id`.
|
||||
*
|
||||
* For example, this would be nice if your primary keys are all UUIDs. In
|
||||
* that case, name this `model_uuid`.
|
||||
*/
|
||||
|
||||
'model_morph_key' => 'model_id',
|
||||
|
||||
/*
|
||||
* Change this if you want to use the teams feature and your related model's
|
||||
* foreign key is other than `team_id`.
|
||||
*/
|
||||
|
||||
'team_foreign_key' => 'team_id',
|
||||
],
|
||||
|
||||
/*
|
||||
* When set to true, the method for checking permissions will be registered on the gate.
|
||||
* Set this to false if you want to implement custom logic for checking permissions.
|
||||
*/
|
||||
|
||||
'register_permission_check_method' => true,
|
||||
|
||||
/*
|
||||
* When set to true, Laravel\Octane\Events\OperationTerminated event listener will be registered
|
||||
* this will refresh permissions on every TickTerminated, TaskTerminated and RequestTerminated
|
||||
* NOTE: This should not be needed in most cases, but an Octane/Vapor combination benefited from it.
|
||||
*/
|
||||
'register_octane_reset_listener' => false,
|
||||
|
||||
/*
|
||||
* Events will fire when a role or permission is assigned/unassigned:
|
||||
* \Spatie\Permission\Events\RoleAttached
|
||||
* \Spatie\Permission\Events\RoleDetached
|
||||
* \Spatie\Permission\Events\PermissionAttached
|
||||
* \Spatie\Permission\Events\PermissionDetached
|
||||
*
|
||||
* To enable, set to true, and then create listeners to watch these events.
|
||||
*/
|
||||
'events_enabled' => false,
|
||||
|
||||
/*
|
||||
* Teams Feature.
|
||||
* When set to true the package implements teams using the 'team_foreign_key'.
|
||||
* If you want the migrations to register the 'team_foreign_key', you must
|
||||
* set this to true before doing the migration.
|
||||
* If you already did the migration then you must make a new migration to also
|
||||
* add 'team_foreign_key' to 'roles', 'model_has_roles', and 'model_has_permissions'
|
||||
* (view the latest version of this package's migration file)
|
||||
*/
|
||||
|
||||
'teams' => false,
|
||||
|
||||
/*
|
||||
* The class to use to resolve the permissions team id
|
||||
*/
|
||||
'team_resolver' => \Spatie\Permission\DefaultTeamResolver::class,
|
||||
|
||||
/*
|
||||
* Passport Client Credentials Grant
|
||||
* When set to true the package will use Passports Client to check permissions
|
||||
*/
|
||||
|
||||
'use_passport_client_credentials' => false,
|
||||
|
||||
/*
|
||||
* When set to true, the required permission names are added to exception messages.
|
||||
* This could be considered an information leak in some contexts, so the default
|
||||
* setting is false here for optimum safety.
|
||||
*/
|
||||
|
||||
'display_permission_in_exception' => false,
|
||||
|
||||
/*
|
||||
* When set to true, the required role names are added to exception messages.
|
||||
* This could be considered an information leak in some contexts, so the default
|
||||
* setting is false here for optimum safety.
|
||||
*/
|
||||
|
||||
'display_role_in_exception' => false,
|
||||
|
||||
/*
|
||||
* By default wildcard permission lookups are disabled.
|
||||
* See documentation to understand supported syntax.
|
||||
*/
|
||||
|
||||
'enable_wildcard_permission' => false,
|
||||
|
||||
/*
|
||||
* The class to use for interpreting wildcard permissions.
|
||||
* If you need to modify delimiters, override the class and specify its name here.
|
||||
*/
|
||||
// 'permission.wildcard_permission' => Spatie\Permission\WildcardPermission::class,
|
||||
|
||||
/* Cache-specific settings */
|
||||
|
||||
'cache' => [
|
||||
|
||||
/*
|
||||
* By default all permissions are cached for 24 hours to speed up performance.
|
||||
* When permissions or roles are updated the cache is flushed automatically.
|
||||
*/
|
||||
|
||||
'expiration_time' => \DateInterval::createFromDateString('24 hours'),
|
||||
|
||||
/*
|
||||
* The cache key used to store all permissions.
|
||||
*/
|
||||
|
||||
'key' => 'spatie.permission.cache',
|
||||
|
||||
/*
|
||||
* You may optionally indicate a specific cache driver to use for permission and
|
||||
* role caching using any of the `store` drivers listed in the cache.php config
|
||||
* file. Using 'default' here means to use the `default` set in cache.php.
|
||||
*/
|
||||
|
||||
'store' => 'default',
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user