creato registrazione nuovo utente

This commit is contained in:
Amministratore 2023-06-06 08:35:19 +02:00
parent f172afdfc8
commit d554066dd5
6 changed files with 120 additions and 53 deletions

View File

@ -12,55 +12,6 @@ use App\Models\User;
class Utenti extends Controller class Utenti extends Controller
{ {
//
/* public function nuovoGruppo()
{
return view('vendor.junges.form_addGroup',['gruppi'=>Utenti::getGruppi()]);
}
public function saveNuovoGruppo(Request $request)
{
$group=Group::create(['name' => $request['gruppo'],'description'=>$request['descrizione']]);
return view('vendor.junges.form_addGroup',['gruppi'=>Utenti::getGruppi()]);
}
public function nuovoPermesso()
{
return view('vendor.junges.form_addPermission',['permessi'=>Utenti::getPermessi()]);
}
public function saveNuovoPermesso(Request $request)
{
$group=Permission::create(['name' => $request['permesso'],'description'=>$request['descrizione']]);
return view('vendor.junges.form_addPermission',['permessi'=>Utenti::getPermessi()]);
}
public function getPermessi()
{
return DB::table('permissions')->orderBy('name')->get();
}
public function getGruppi()
{
return DB::table('groups')->orderBy('name')->get();
}
public function vw_assignToGroup()
{
return view('vendor.junges.assignPermissionToGroup',[
'permessi'=>Utenti::getPermessi(),
'gruppi'=>Utenti::getGruppi(),
]);
}
public function assignPermissionToGroup(Request $request)
{
$group=Group::findByName($request['gruppo']);
$group->assignPermission($request['permesso']);
return view('vendor.junges.assignPermissionToGroup',[
'permessi'=>Utenti::getPermessi(),
'gruppi'=>Utenti::getGruppi(),
]);
}*/
public function createRole($ruolo) public function createRole($ruolo)
{ {
@ -77,4 +28,31 @@ class Utenti extends Controller
$user=new User(); $user=new User();
return get_class_methods($user); return get_class_methods($user);
} }
// post del create user
function createUser(Request $params){
User::addUser($params);
return redirect('/admin/users/new');
}
// mostra il form della creazione dell'utente
function addUser(){
$roles = Role::all();
$users = User::all();
return view('users.create',['ruoli'=>$roles,'users'=>$users]);
}
function listUser(){
$users = User::all();
return view('users.list',['users'=>$users]);
}
function listRoles(){
$roles = Role::all();
return $roles;
}
} }

View File

@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Laravel\Sanctum\HasApiTokens; use Laravel\Sanctum\HasApiTokens;
use Spatie\Permission\Traits\HasRoles; use Spatie\Permission\Traits\HasRoles;
use Illuminate\Foundation\Auth\Access\Authorizable; use Illuminate\Foundation\Auth\Access\Authorizable;
@ -69,11 +70,24 @@ class User extends Authenticatable
{ {
return DB::table('users')->where('id','=',$id)->get(); return DB::table('users')->where('id','=',$id)->get();
} }
public static function getUsers() public static function getUsers()
{ {
return DB::table('users')->orderBy('name')->get(); return DB::table('users')->orderBy('name')->get();
} }
// Aggiunge un utente e assegna un ruolo
public static function addUser($params)
{
self::create([
'name'=>$params['name'],
'email'=>$params['email'],
'password'=>Hash::make($params['password']),
])->assignRole($params['role']);
}
} }

View File

@ -58,7 +58,7 @@
<li><a href="#"><i class="fa fa-gears fa-fw"></i>Amministrazione<span <li><a href="#"><i class="fa fa-gears fa-fw"></i>Amministrazione<span
class="fa arrow"></span></a> class="fa arrow"></span></a>
<ul class="nav nav-second-level"> <ul class="nav nav-second-level">
<li><a class="active" href="#">Utenti</a></li> <li><a class="active" href="/admin/users/new">Nuovo Utente</a></li>
<li><a class="active" href="/admin/group/new">Gruppi</a></li> <li><a class="active" href="/admin/group/new">Gruppi</a></li>
<li><a class="active" href="/admin/permesso/new">Permessi</a></li> <li><a class="active" href="/admin/permesso/new">Permessi</a></li>
<li><a class="active" href="/admin/permesso/assign">Assegna Permessi <li><a class="active" href="/admin/permesso/assign">Assegna Permessi

View File

@ -9,7 +9,7 @@
<li><a href="#"><i class="fa fa-gear fa-fw"></i> Impostazioni</a></li> <li><a href="#"><i class="fa fa-gear fa-fw"></i> Impostazioni</a></li>
@role('admin') @role('admin')
<li class="divider"></li> <li class="divider"></li>
<li><a href="#"><i class="fa fa-gear fa-fw"></i> Gestisci Utenti</a></li> <li><a href="/admin/users/new"><i class="fa fa-gear fa-fw"></i> Gestisci Utenti</a></li>
@endrole @endrole
<li class="divider"></li> <li class="divider"></li>
<li><a href="https://github.com/fbarachino/bubofamily/issues/new/choose" target="new"><i class="fa fa-bug fa-fw"></i> Segnala un bug</a></li> <li><a href="https://github.com/fbarachino/bubofamily/issues/new/choose" target="new"><i class="fa fa-bug fa-fw"></i> Segnala un bug</a></li>

View File

@ -0,0 +1,69 @@
@extends('admin') @section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Nuovo utente</h1>
</div>
</div>
<div class="container">
<!-- INIZIO CONTENUTO -->
<div class="row">
<form action="" method="post">
@csrf
<div class="row">
<div class="col-xs-6">
<label for="name" class="form-label">Nome</label> <input
type="text" class="form-control" id="name" name="name">
</div>
<div class="col-xs-6">
<label for="email" class="form-label">E-Mail</label> <input
type="text" class="form-control" id="email" name="email">
</div>
</div>
<div class="row">
<div class="col-xs-6">
<label for="password" class="form-label">Password</label> <input
type="password" class="form-control" id="password" name="password">
</div>
<div class="col-xs-6">
<label for="role" class="form-label">Ruolo</label> <select
class="form-control" id="role" name="role"> @foreach($ruoli as
$ruolo)
<option value="{{ $ruolo->id }}">{{$ruolo->name}}</option>
@endforeach
</select>
</div>
</div>
<div class="row">
<input type="submit" name="submit" value="Nuovo">
</div>
</form>
</div>
<div class="row">&nbsp;
</div>
<div class="row">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover"
id="users">
<thead>
<tr>
<th>Nome</th>
<th>Email</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<!-- FINE CONTENUTO -->
</div>
@endsection

View File

@ -65,6 +65,7 @@ Route::group(['middleware'=>['permission:conti']], function(){
// Richiami di servizio da jquery // Richiami di servizio da jquery
Route::get('service/catlist', [CategorieController::class,'apiList']); Route::get('service/catlist', [CategorieController::class,'apiList']);
Route::get('service/taglist', [TagController::class,'apiList']); Route::get('service/taglist', [TagController::class,'apiList']);
Route::get('service/rolesList', [Utenti::class,'listRoles']);
// TAGS // TAGS
Route::get('tags', [TagController::class,'listTags'])->name('tags'); Route::get('tags', [TagController::class,'listTags'])->name('tags');
@ -114,12 +115,17 @@ Route::group(['middleware'=>['permission:contatti']], function(){
// GRUPPI E PERMESSI // GRUPPI E PERMESSI
Route::group(['middleware'=>['permission:amministrazione']], function(){ Route::group(['middleware'=>['permission:amministrazione']], function(){
/*
Route::get('role/new/{ruolo}', [Utenti::class, 'createRole']); Route::get('role/new/{ruolo}', [Utenti::class, 'createRole']);
Route::post('group/new', [Utenti::class, 'saveNuovoGruppo']); Route::post('group/new', [Utenti::class, 'saveNuovoGruppo']);
Route::get('permesso/new/{permesso}', [Utenti::class, 'createPermission']); Route::get('permesso/new/{permesso}', [Utenti::class, 'createPermission']);
Route::post('permesso/new', [Utenti::class, 'saveNuovoPermesso']); Route::post('permesso/new', [Utenti::class, 'saveNuovoPermesso']);
Route::get('permesso/assign', [Utenti::class, 'vw_assignToGroup']); Route::get('permesso/assign', [Utenti::class, 'vw_assignToGroup']);
Route::post('permesso/assign', [Utenti::class, 'assignPermissionToGroup']); Route::post('permesso/assign', [Utenti::class, 'assignPermissionToGroup']);
*/
Route::get('users/new',[Utenti::class,'addUser']);
Route::post('users/new',[Utenti::class,'createUser']);
Route::get('users/roles',[Utenti::class,'listRoles']);
}); });
// PROGETTI // PROGETTI
Route::group(['middleware'=>['permission:progetti']], function(){ Route::group(['middleware'=>['permission:progetti']], function(){