quimgc /
Tasks
| 1 | <?php |
||
| 2 | |||
| 3 | |||
| 4 | use App\User; |
||
| 5 | use Spatie\Permission\Models\Permission; |
||
| 6 | use Spatie\Permission\Models\Role; |
||
| 7 | |||
| 8 | //funció creada per veure si el rol ja te assignat un permís, si el te no fem res, sino li assignem. |
||
| 9 | // si no es fa així provoca error: |
||
| 10 | //Illuminate\Database\QueryException with message 'SQLSTATE[23000]: Integrity constraint violation: 19 UNIQUE constraint failed: role_has_permissions.permission_id, role_has_permissions.role_id (SQL: insert into "role_has_permissions" ("permission_id", "role_id") values (1, 1))' |
||
| 11 | if (!function_exists('assignPermission')) { |
||
| 12 | |||
| 13 | /** |
||
| 14 | * @param $role |
||
| 15 | * @param $permission |
||
| 16 | */ |
||
| 17 | function assignPermission($role, $permission) |
||
| 18 | { |
||
| 19 | if (!$role->hasPermissionTo($permission)) { |
||
| 20 | $role->givePermissionTo($permission); |
||
| 21 | } |
||
| 22 | } |
||
| 23 | } |
||
| 24 | |||
| 25 | if (!function_exists('initialize_task_permissions')) { |
||
| 26 | function initialize_task_permissions() |
||
| 27 | { |
||
| 28 | |||
| 29 | //Crea només si no existeix |
||
| 30 | Permission::firstOrCreate(['name'=>'list-tasks']); |
||
| 31 | Permission::firstOrCreate(['name'=>'show-tasks']); |
||
| 32 | Permission::firstOrCreate(['name'=>'store-tasks']); |
||
| 33 | Permission::firstOrCreate(['name'=>'update-tasks']); |
||
| 34 | Permission::firstOrCreate(['name'=>'destroy-tasks']); |
||
| 35 | |||
| 36 | $role = Role::firstOrCreate(['name'=>'task-manager']); |
||
| 37 | |||
| 38 | assignPermission($role, 'list-tasks'); |
||
| 39 | assignPermission($role, 'show-tasks'); |
||
| 40 | assignPermission($role, 'store-tasks'); |
||
| 41 | assignPermission($role, 'update-tasks'); |
||
| 42 | assignPermission($role, 'destroy-tasks'); |
||
| 43 | |||
| 44 | Permission::firstOrCreate(['name' => 'list-users']); |
||
| 45 | Permission::firstOrCreate(['name' => 'show-users']); |
||
| 46 | Permission::firstOrCreate(['name' => 'store-users']); |
||
| 47 | Permission::firstOrCreate(['name' => 'update-users']); |
||
| 48 | Permission::firstOrCreate(['name' => 'destroy-users']); |
||
| 49 | |||
| 50 | $role = Role::firstOrCreate(['name' => 'users-manager']); |
||
| 51 | |||
| 52 | assignPermission($role, 'list-users'); |
||
| 53 | assignPermission($role, 'show-users'); |
||
| 54 | assignPermission($role, 'store-users'); |
||
| 55 | assignPermission($role, 'update-users'); |
||
| 56 | assignPermission($role, 'destroy-users'); |
||
| 57 | } |
||
| 58 | } |
||
| 59 | |||
| 60 | if (!function_exists('create_user')) { |
||
| 61 | function create_user() |
||
| 62 | { |
||
| 63 | factory(User::class)->create([ |
||
| 64 | 'name' => env('TASKS_USER_NAME', 'Quim González Colat'), |
||
| 65 | 'email' => env('TASKS_USER_EMAIL', '[email protected]'), |
||
| 66 | 'password' => bcrypt(env('TASKS_USER_PASSWORD')), |
||
|
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
| 67 | ]); |
||
| 68 | |||
| 69 | factory(User::class)->create([ |
||
| 70 | 'name' => env('TASKS_USER_NAME_PROF', 'Sergi Tur Badenas'), |
||
| 71 | 'email' => env('TASKS_USER_EMAIL_PROF', '[email protected]'), |
||
| 72 | 'password' => bcrypt(env('TASKS_USER_PASSWORD_PROF')), |
||
| 73 | ]); |
||
| 74 | } |
||
| 75 | } |
||
| 76 | |||
| 77 | if (!function_exists('first_user_as_task_manager')) { |
||
| 78 | function first_user_as_task_manager() |
||
|
0 ignored issues
–
show
|
|||
| 79 | { |
||
| 80 | User::all()->first()->assignRole('task-manager'); |
||
| 81 | User::all()->first()->assignRole('users-manager'); |
||
| 82 | |||
| 83 | User::findOrFail(2)->assignRole('task-manager'); |
||
| 84 | User::findOrFail(2)->assignRole('users-manager'); |
||
| 85 | } |
||
| 86 | } |
||
| 87 |