{{-- Вьюха: Управление ролью и правами пользователя --}} @extends('admin.layout') @section('title', 'Права: ' . $user->name) @section('content_header')

Права пользователя: {{ $user->name }} @if($user->role) @php $b = $user->roleBadge(); @endphp {{ $b['label'] }} @endif

Назад
@stop @section('breadcrumb') @stop @section('content')
@csrf @method('PUT')

Роль

Роль задаёт базовый набор прав. Индивидуальные overrides (справа) могут дополнить или ограничить их.

@foreach($roleLabels as $roleKey => $roleInfo) {{-- superadmin может назначить только суперадмин --}} @if($roleKey === 'superadmin' && auth()->user()->role !== 'superadmin') @continue @endif {{-- admin может назначить только суперадмин --}} @if($roleKey === 'admin' && auth()->user()->role !== 'superadmin') @continue @endif
role === $roleKey ? 'checked' : '' }}>
@endforeach
role ? 'checked' : '' }}>

Индивидуальные overrides

Allow — разрешить поверх роли   Deny — запретить поверх роли   Роль — без override
@foreach($permissions as $groupName => $groupPerms)
{{ $groupName }}
@foreach($groupPerms as $key => $label) @php $inRole = in_array($key, $roleDefaults, true); $override = $overrides[$key] ?? null; @endphp @endforeach
Право По роли Override
{{ $label }}
{{ $key }}
@if($user->role === 'superadmin') @elseif($inRole) @else @endif
@endforeach
@stop