Aggiunto assegnazione permessi diretti ad utente

This commit is contained in:
Amministratore 2023-06-20 08:27:20 +02:00
parent 30cf03bd7d
commit b82ec0adc0
7 changed files with 133 additions and 19 deletions

View File

@ -52,4 +52,21 @@ class ProgettiController extends Controller
//dd($righe); //dd($righe);
} }
public function chiudiProgetto(Request $id)
{
Progetti::chiudiProgetto($id['id']);
return redirect(Route('progetti'));
}
public function riapriProgetto(Request $id)
{
Progetti::riapriProgetto($id['id']);
return redirect(Route('progetti'));
}
public function stampaPDF(Request $id)
{
}
} }

View File

@ -58,5 +58,33 @@ class Utenti extends Controller
return redirect('/admin/users/new'); return redirect('/admin/users/new');
} }
function givePermissionToUser()
{
$users=User::all();
$permissions=Permission::all();
return view('users.assignperm',['users'=>$users,'permissions'=>$permissions]);
}
function assignPermission(Request $request)
{
//$user=User::getUserbyId($request['user']);
$user=User::findOrFail($request['user']);
foreach($request['permesso'] as $key => $value){
if($value=='true')
{
$key=str_replace('\'','',$key);
$user->givePermissionTo($key);
// $permission['allowed'][]=$key;
}
else
{
$key=str_replace('\'','',$key);
$user->revokePermissionTo($key);
// $permission['denied'][]=$key;
}
}
return redirect('/admin/users/givepermission');
}
} }

View File

@ -66,4 +66,15 @@ class Progetti extends Model
]); ]);
} }
public static function riapriProgetto($progetto_id)
{
DB::table('progettis')
->where('id','=', $progetto_id)
->update([
'stato'=>'aperto',
'data_fine'=>null,
]);
}
} }

View File

@ -58,7 +58,7 @@
<li><a class="active" href="/admin/users/newRole">Gruppi</a></li> <li><a class="active" href="/admin/users/newRole">Gruppi</a></li>
<li><a class="active" href="/admin/users/newPermission">Permessi</a></li> <li><a class="active" href="/admin/users/newPermission">Permessi</a></li>
--> -->
<li><a class="active" href="/admin/users/assignRole">Assegna Ruoli</a></li> <li><a class="active" href="/admin/users/givepermission">Assegna Permessi</a></li>
<!-- <!--
<li><a href="/login">Login Page</a></li> <li><a href="/login">Login Page</a></li>
--> -->

View File

@ -43,7 +43,12 @@
<td>{{ $progetto->name; }}</td> <td>{{ $progetto->name; }}</td>
<td>{{ $progetto->budget; }}</td> <td>{{ $progetto->budget; }}</td>
<td>@if($progetto->stato != 'chiuso')<a href="progetti/delete?id={{ $progetto->progetto }}" <td>@if($progetto->stato != 'chiuso')<a href="progetti/delete?id={{ $progetto->progetto }}"
class="btn btn-danger">Cancella</a>@endif</td> class="btn btn-danger">Cancella</a>&nbsp;<a href="progetti/close?id={{ $progetto->progetto }}"
class="btn btn-danger">Chiudi</a>@endif
@if($progetto->stato == 'chiuso')<a href="progetti/reopen?id={{ $progetto->progetto }}"
class="btn btn-danger">Riapri</a>@endif
<a href="progetti/print?id={{ $progetto->progetto }}"
class="btn btn-primary">Stampa PDF</a></td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>

View File

@ -0,0 +1,47 @@
@extends('admin')
@section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Assegnazione permessi</h1>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Nuova assegnazione permessi
</div>
<div class="panel-body">
<!-- Form -->
<form action="" method="POST">
<select name="user" class="form-control">
@foreach($users as $user)
<option value="{{$user->id}}"> {{$user->name}}</option>
@endforeach
</select>
<table>
<tr>
<th>Permesso</th>
<th>Azione</th>
</tr>
@foreach($permissions as $perm)
<tr>
<td>{{$perm->name}}</td>
<td>
Attiva<input type="radio" name="permesso['{{$perm->name}}']" value="true">
&nbsp;
Disattiva <input type="radio" name="permesso['{{$perm->name}}']" value="false">
</td>
</tr>
@endforeach
</table>
@csrf
<input type="Submit" name="submit" value="associa">
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -128,6 +128,8 @@ Route::group(['middleware'=>['permission:amministrazione']], function(){
Route::post('users/new',[Utenti::class,'createUser']); Route::post('users/new',[Utenti::class,'createUser']);
Route::get('users/roles',[Utenti::class,'listRoles']); Route::get('users/roles',[Utenti::class,'listRoles']);
Route::get('users/delete/{id}',[Utenti::class,'deleteUser']); Route::get('users/delete/{id}',[Utenti::class,'deleteUser']);
Route::get('users/givepermission',[Utenti::class,'givePermissionToUser']);
Route::post('users/givepermission',[Utenti::class,'assignPermission']);
}); });
// PROGETTI // PROGETTI
Route::group(['middleware'=>['permission:progetti']], function(){ Route::group(['middleware'=>['permission:progetti']], function(){
@ -141,6 +143,10 @@ Route::group(['middleware'=>['permission:progetti']], function(){
Route::get('progetti/detail/edit/{id}', [RigaProgettoController::class, 'editRiga']); Route::get('progetti/detail/edit/{id}', [RigaProgettoController::class, 'editRiga']);
Route::post('progetti/rigaupdate', [RigaProgettoController::class, 'updateRiga']); Route::post('progetti/rigaupdate', [RigaProgettoController::class, 'updateRiga']);
Route::get('progetti/coordinatori', [ProgettiController::class, 'getCoordinatori']); Route::get('progetti/coordinatori', [ProgettiController::class, 'getCoordinatori']);
Route::get('progetti/close',[ProgettiController::class, 'chiudiProgetto']);
Route::get('progetti/reopen',[ProgettiController::class, 'riapriProgetto']);
}); });