|
4 | 4 |
|
5 | 5 | use App\Http\Requests\GrupoRequest; |
6 | 6 | use App\Models\Grupo; |
| 7 | +use App\Models\User; |
| 8 | +use Spatie\Permission\Models\Permission; |
7 | 9 |
|
8 | 10 | class GrupoController extends Controller |
9 | 11 | { |
@@ -47,6 +49,15 @@ public function store(GrupoRequest $request) |
47 | 49 | $this->authorize('admin'); |
48 | 50 |
|
49 | 51 | $validated = $request->validated(); |
| 52 | + |
| 53 | + // Identifica os chefes, cria os usuários caso não existam, busca o usuário e adiciona permissão hierárquica boss |
| 54 | + $bosses = [$validated['codpes_supervisor'], $validated['codpes_autorizador']]; |
| 55 | + foreach ($bosses as $boss) { |
| 56 | + User::findOrCreateFromReplicado($boss); |
| 57 | + $user = User::where('codpes', $boss)->first(); |
| 58 | + $user->givePermissionTo(Permission::where('guard_name', User::$hierarquiaNs)->where('name', 'boss')->first()); |
| 59 | + } |
| 60 | + |
50 | 61 | $grupo = Grupo::create($validated); |
51 | 62 | request()->session()->flash('alert-info','Grupo cadastrado com sucesso!'); |
52 | 63 | return redirect("/grupos"); |
@@ -89,6 +100,15 @@ public function update(GrupoRequest $request, Grupo $grupo) |
89 | 100 | { |
90 | 101 | $this->authorize('boss'); |
91 | 102 | $validated = $request->validated(); |
| 103 | + |
| 104 | + // Identifica os chefes, cria os usuários caso não existam, busca o usuário e adiciona permissão hierárquica boss |
| 105 | + $bosses = [$validated['codpes_supervisor'], $validated['codpes_autorizador']]; |
| 106 | + foreach ($bosses as $boss) { |
| 107 | + User::findOrCreateFromReplicado($boss); |
| 108 | + $user = User::where('codpes', $boss)->first(); |
| 109 | + $user->givePermissionTo(Permission::where('guard_name', User::$hierarquiaNs)->where('name', 'boss')->first()); |
| 110 | + } |
| 111 | + |
92 | 112 | $grupo->update($validated); |
93 | 113 | request()->session()->flash('alert-info','Grupo atualizado com sucesso'); |
94 | 114 | return redirect("/grupos"); |
|
0 commit comments