style updates
This commit is contained in:
@@ -10,11 +10,49 @@ use Spatie\Permission\Models\Role;
|
||||
|
||||
final class RoleController extends Controller
|
||||
{
|
||||
public function index() { return view('roles::index',['roles'=>Role::withCount(['users','permissions'])->orderBy('name')->get()]); }
|
||||
public function create() { return view('roles::form',['role'=>new Role(['guard_name'=>'web']),'permissions'=>Permission::orderBy('name')->get()]); }
|
||||
public function store(Request $request) { $data=$this->validated($request); $role=Role::create(['name'=>$data['name'],'guard_name'=>'web']); $role->syncPermissions($data['permissions']??[]); return redirect()->route('administration.roles.index')->with('status','Role created.'); }
|
||||
public function edit(Role $role) { return view('roles::form',['role'=>$role->load('permissions'),'permissions'=>Permission::orderBy('name')->get()]); }
|
||||
public function update(Request $request, Role $role) { $data=$this->validated($request,$role); $role->update(['name'=>$data['name']]); $role->syncPermissions($data['permissions']??[]); return redirect()->route('administration.roles.index')->with('status','Role updated.'); }
|
||||
public function destroy(Role $role) { abort_if($role->name==='admin',422,'The administrator role cannot be deleted.'); $role->delete(); return back()->with('status','Role deleted.'); }
|
||||
private function validated(Request $request, ?Role $role=null): array { return $request->validate(['name'=>['required','string','max:100',Rule::unique('roles','name')->ignore($role)],'permissions'=>['array'],'permissions.*'=>['string','exists:permissions,name']]); }
|
||||
public function index()
|
||||
{
|
||||
return view('roles::index', ['roles' => Role::withCount(['users', 'permissions'])->orderBy('name')->get()]);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('roles::form', ['role' => new Role(['guard_name' => 'web']), 'permissions' => Permission::orderBy('name')->get()]);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$data = $this->validated($request);
|
||||
$role = Role::create(['name' => $data['name'], 'guard_name' => 'web']);
|
||||
$role->syncPermissions($data['permissions'] ?? []);
|
||||
|
||||
return redirect()->route('administration.roles.index')->with('status', 'Role created.');
|
||||
}
|
||||
|
||||
public function edit(Role $role)
|
||||
{
|
||||
return view('roles::form', ['role' => $role->load('permissions'), 'permissions' => Permission::orderBy('name')->get()]);
|
||||
}
|
||||
|
||||
public function update(Request $request, Role $role)
|
||||
{
|
||||
$data = $this->validated($request, $role);
|
||||
$role->update(['name' => $data['name']]);
|
||||
$role->syncPermissions($data['permissions'] ?? []);
|
||||
|
||||
return redirect()->route('administration.roles.index')->with('status', 'Role updated.');
|
||||
}
|
||||
|
||||
public function destroy(Role $role)
|
||||
{
|
||||
abort_if($role->name === 'admin', 422, 'The administrator role cannot be deleted.');
|
||||
$role->delete();
|
||||
|
||||
return back()->with('status', 'Role deleted.');
|
||||
}
|
||||
|
||||
private function validated(Request $request, ?Role $role = null): array
|
||||
{
|
||||
return $request->validate(['name' => ['required', 'string', 'max:100', Rule::unique('roles', 'name')->ignore($role)], 'permissions' => ['array'], 'permissions.*' => ['string', 'exists:permissions,name']]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
<?php
|
||||
use Illuminate\Support\Facades\Route; use Modules\Roles\Http\Controllers\RoleController;
|
||||
Route::middleware(['auth','verified'])->prefix('administration/roles')->name('administration.roles.')->group(function (): void { Route::resource('', RoleController::class)->parameters([''=>'role'])->except(['show']); });
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Modules\Roles\Http\Controllers\RoleController;
|
||||
|
||||
Route::middleware(['auth', 'verified'])->prefix('administration/roles')->name('administration.roles.')->group(function (): void {
|
||||
Route::resource('', RoleController::class)->parameters(['' => 'role'])->except(['show']);
|
||||
});
|
||||
|
||||
@@ -4,6 +4,13 @@ namespace Modules\Roles\Support;
|
||||
|
||||
final class ModuleInfo
|
||||
{
|
||||
public static function name(): string { return 'Roles'; }
|
||||
public static function nameLower(): string { return 'roles'; }
|
||||
public static function name(): string
|
||||
{
|
||||
return 'Roles';
|
||||
}
|
||||
|
||||
public static function nameLower(): string
|
||||
{
|
||||
return 'roles';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user