feat(roles/users): add-user form on role view + per-user direct permissions form

1. Role view (Details tab): a small form to add users to the role (select of
   users not yet in the role + Add) and a per-row remove button. Uses
   assignRole/removeRole.
2. User view (Permissions tab): the same grouped, collapsible permissions form
   with switches — operating on the user's DIRECT permissions
   (givePermissionTo/revokePermissionTo). Permissions inherited from a role show
   as checked+disabled with a 'from role' tag; per-group All/None too.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-17 18:51:59 +02:00
parent 7f20399337
commit 0120c4bfb8
7 changed files with 188 additions and 33 deletions
@@ -1,4 +1,4 @@
<div class="py-8 max-w-6xl mx-auto sm:px-6 lg:px-8">
<div class="py-8 max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="mb-6">
<h2 class="text-2xl font-bold text-gray-800">{{ __('Permission management') }}</h2>
@@ -68,7 +68,7 @@
@foreach($roles as $role)
<td class="text-center" wire:key="cell-{{ $perm->id }}-{{ $role->id }}">
<input type="checkbox"
class="checkbox checkbox-sm checkbox-primary"
class="toggle toggle-sm toggle-primary"
@checked($role->permissions->contains('id', $perm->id))
wire:click="togglePermission({{ $role->id }}, '{{ $perm->name }}')" />
</td>