{{-- Formulário de perfil (criação/edição) com a matriz de permissões do manifesto (P2.S4/ADR-033). Um único shell; o módulo preenche apenas o conteúdo. A matriz usa tabela semântica com `caption`/`scope`, funciona sem JS (checkboxes nativos) e mostra a ação não declarada **desabilitada**, nunca omitida. Nenhum nível `none/read/write`: só tokens canônicos. --}} @php $firstError = $errors->any() ? $errors->keys()[0] : null; $editing = $role !== null; $action = $editing ? route('acesso.cms.papeis.update', $role) : route('acesso.cms.papeis.store'); $permissions = is_array($role?->permissoes) ? $role->permissoes : []; @endphp
@csrf @if ($editing) @method('PUT') @endif @if ($orphans !== [])

{{ __('acesso::cms.orphans_title') }}

{{ __('acesso::cms.orphans_help') }}

    @foreach ($orphans as $orphan)
  • @endforeach
@endif

{{ trans_choice('acesso::cms.matrix_summary', $editCount, ['count' => $editCount]) }}

@error('permissoes') {{ $message }} @enderror {{ __('acesso::cms.matrix_module') }} @foreach ($actions as $matrixAction) {{ __('acesso::cms.action_'.$matrixAction) }} @endforeach @foreach ($groups as $group) {{ $group['label'] }} @foreach ($group['entries'] as $entry) {{ $entry['title'] }} @foreach ($actions as $matrixAction) @php($token = $entry['tokens'][$matrixAction] ?? null) @if (is_string($token)) @else @endif @endforeach @endforeach @endforeach
{{ __('acesso::cms.save') }} {{ __('acesso::cms.cancel') }}