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