@extends('layouts.admin') @section('title', 'Configuration des Roles') @section('header', 'Configuration des Roles - Permissions par module') @section('content')
{{-- Header --}}

Permissions par role

Selectionnez un role puis activez/desactivez les menus et actions par module

@include('partials.save-button')
Actif Inactif
{{-- Selecteur de role --}}
Role :
@foreach($roles as $roleKey => $roleLabel) {{ $roleLabel }} @endforeach
Les modifications s'appliquent au role {{ $roles[$selectedRole] }}. La colonne Menu controle la visibilite dans la navigation. Les colonnes d'actions controlent les operations autorisees.
{{-- Matrice Modules x Permissions --}}
@foreach($actionTypes as $action) @endforeach @php $currentDomaine = null; @endphp @foreach($config as $moduleConfig) {{-- Separateur par domaine --}} @if($moduleConfig['domaine'] !== $currentDomaine) @php $currentDomaine = $moduleConfig['domaine']; @endphp @endif {{-- Nom module --}} {{-- Toggle menu --}} {{-- Toggles par action --}} @foreach($actionTypes as $action) @endforeach @endforeach
Module
Menu Navigation
@switch($action) @case('read') @break @case('create') @break @case('update') @break @case('delete') @break @case('mass_update') @break @case('mass_delete') @break @case('report') @break @case('execute') @break @case('mass_execute') @break @endswitch {{ $actionLabels[$action] ?? ucfirst($action) }}
{{ $currentDomaine ?? 'Sans domaine' }}
{{ $moduleConfig['module_label'] }}
{{ $moduleConfig['module_name'] }}
@if($moduleConfig['actions'][$action]['cta_id'])
@else @endif
@if(empty($config))

Aucun module configure. Generez d'abord les metadonnees depuis le Dashboard.

@endif
{{-- Stats resume --}}
@php $totalModules = count($config); $visibleMenus = collect($config)->where('menu_visible', true)->count(); $totalActions = 0; foreach ($config as $m) { foreach ($m['actions'] as $a) { if ($a['enabled']) $totalActions++; } } @endphp {{ $totalModules }} modules {{ $visibleMenus }} menus visibles {{ $totalActions }} actions actives
@include('partials.toast') @endsection @push('styles') @include('partials.save-button-styles') @endpush @push('scripts') @endpush