Skip to content

Commit 4bdb851

Browse files
authored
Permissão hierárquica boss para justificativas
Permissão hierárquica boss
2 parents 711163a + 22eef0a commit 4bdb851

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

app/Http/Controllers/GrupoController.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
use App\Http\Requests\GrupoRequest;
66
use App\Models\Grupo;
7+
use App\Models\User;
8+
use Spatie\Permission\Models\Permission;
79

810
class GrupoController extends Controller
911
{
@@ -47,6 +49,15 @@ public function store(GrupoRequest $request)
4749
$this->authorize('admin');
4850

4951
$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+
5061
$grupo = Grupo::create($validated);
5162
request()->session()->flash('alert-info','Grupo cadastrado com sucesso!');
5263
return redirect("/grupos");
@@ -89,6 +100,15 @@ public function update(GrupoRequest $request, Grupo $grupo)
89100
{
90101
$this->authorize('boss');
91102
$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+
92112
$grupo->update($validated);
93113
request()->session()->flash('alert-info','Grupo atualizado com sucesso');
94114
return redirect("/grupos");

resources/views/grupos/index.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@
3030
<td>{{ $grupo->codpes_supervisor }}</td>
3131
<td>{{ $grupo->codpes_autorizador }}</td>
3232
<td>{{ $grupo->carga_horaria }}</td>
33-
<td align="center">
33+
<td class="text-center">
3434
<a href="/grupos/{{$grupo->id}}/edit"><i class="fas fa-pencil-alt" color="#007bff"></i></a>
3535
@can ('admin')
36-
<form method="POST" action="/grupos/{{$grupo->id}}/">
36+
<form method="POST" action="/grupos/{{$grupo->id}}/" class="d-inline">
3737
@csrf
3838
@method('delete')
3939
<button type="submit" onclick="return confirm('Tem certeza que deseja excluir esse grupo?');" style="background-color: transparent;border: none;"><i class="far fa-trash-alt" color="#007bff"></i></button>

0 commit comments

Comments
 (0)