insenseanalytics /
laravel-nova-permission
| 1 | <?php |
||
| 2 | |||
| 3 | namespace Insenseanalytics\LaravelNovaPermission; |
||
| 4 | |||
| 5 | use Laravel\Nova\Nova; |
||
| 6 | use Laravel\Nova\Fields\ID; |
||
| 7 | use Illuminate\Http\Request; |
||
| 8 | use Laravel\Nova\Fields\Text; |
||
| 9 | use Illuminate\Validation\Rule; |
||
| 10 | use Laravel\Nova\Fields\Select; |
||
| 11 | use Laravel\Nova\Fields\DateTime; |
||
| 12 | use Laravel\Nova\Fields\MorphToMany; |
||
| 13 | use Laravel\Nova\Fields\BelongsToMany; |
||
| 14 | use Spatie\Permission\PermissionRegistrar; |
||
| 15 | |||
| 16 | trait RoleResourceTrait |
||
| 17 | { |
||
| 18 | public static function getModel() |
||
| 19 | { |
||
| 20 | return app(PermissionRegistrar::class)->getRoleClass(); |
||
| 21 | } |
||
| 22 | |||
| 23 | /** |
||
| 24 | * Get the fields displayed by the resource. |
||
| 25 | * |
||
| 26 | * @param \Illuminate\Http\Request $request |
||
| 27 | * |
||
| 28 | * @return array |
||
| 29 | */ |
||
| 30 | public function fields(Request $request) |
||
|
0 ignored issues
–
show
|
|||
| 31 | { |
||
| 32 | $guardOptions = collect(config('auth.guards'))->mapWithKeys(function ($value, $key) { |
||
| 33 | return [$key => $key]; |
||
| 34 | }); |
||
| 35 | |||
| 36 | $userResource = Nova::resourceForModel(getModelForGuard($this->guard_name)); |
||
| 37 | |||
| 38 | $permissionResource = Nova::resourceForModel(app(PermissionRegistrar::class)->getPermissionClass()); |
||
| 39 | |||
| 40 | return [ |
||
| 41 | ID::make()->sortable(), |
||
| 42 | |||
| 43 | Text::make(__('laravel-nova-permission::roles.name'), 'name') |
||
| 44 | ->rules(['required', 'string', 'max:255']) |
||
| 45 | ->creationRules('unique:' . config('permission.table_names.roles')) |
||
| 46 | ->updateRules('unique:' . config('permission.table_names.roles') . ',name,{{resourceId}}'), |
||
| 47 | |||
| 48 | Select::make(__('laravel-nova-permission::roles.guard_name'), 'guard_name') |
||
| 49 | ->options($guardOptions->toArray()) |
||
| 50 | ->rules(['required', Rule::in($guardOptions)]), |
||
| 51 | |||
| 52 | DateTime::make(__('laravel-nova-permission::roles.created_at'), 'created_at')->exceptOnForms(), |
||
| 53 | |||
| 54 | DateTime::make(__('laravel-nova-permission::roles.updated_at'), 'updated_at')->exceptOnForms(), |
||
| 55 | |||
| 56 | BelongsToMany::make($permissionResource::label(), 'permissions', $permissionResource)->searchable(), |
||
| 57 | |||
| 58 | MorphToMany::make($userResource::label(), 'users', $userResource)->searchable(), |
||
| 59 | ]; |
||
| 60 | } |
||
| 61 | } |
||
| 62 |
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.