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.