@extends('layouts.app') @section('title', 'Permissions Matrix') @section('page-title', 'Permissions Matrix') @section('content')

Control what each role can do across the system. Changes apply immediately.

{{-- Success/Error --}} @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif {{-- Permission Matrix --}}
@csrf @method('PUT')
@foreach($roles as $role) @endforeach @foreach($modules as $module => $perms) {{-- Module Header --}} @foreach($perms as $perm) @foreach($roles as $role) @endforeach @endforeach @endforeach
Permission @php $roleColors = [ 'admin' => 'text-red-700 bg-red-50', 'teacher' => 'text-blue-700 bg-blue-50', 'student' => 'text-green-700 bg-green-50', 'parent' => 'text-purple-700 bg-purple-50', ]; $color = $roleColors[$role->name] ?? 'text-gray-700 bg-gray-50'; @endphp {{ ucfirst($role->name) }}
|
@php $moduleIcons = [ 'Users' => 'fa-users', 'Exams' => 'fa-graduation-cap', 'Marks' => 'fa-chart-line', 'Reports' => 'fa-file-pdf', 'Assignments' => 'fa-tasks', 'Attendance' => 'fa-clipboard-check', 'Leave' => 'fa-calendar-minus', 'Communication' => 'fa-comments', 'Fees' => 'fa-money-bill-wave', 'Timetable' => 'fa-calendar-alt', 'Audit' => 'fa-clipboard-list', 'Settings' => 'fa-cog', 'AI Insights' => 'fa-brain', ]; @endphp {{ $module }}
{{ $perm->name }}

@php $descriptions = [ 'manage-users' => 'Create, edit, deactivate user accounts', 'view-users' => 'View user profiles and lists', 'manage-exams' => 'Create and edit exams', 'enter-marks' => 'Enter and update student marks', 'view-marks' => 'View marks and results', 'generate-report-cards' => 'Generate PDF report cards', 'manage-assignments' => 'Create and manage assignments', 'submit-assignments' => 'Submit assignment responses', 'grade-assignments' => 'Grade submitted assignments', 'manage-attendance' => 'Mark and edit attendance', 'view-attendance' => 'View attendance records', 'request-leave' => 'Submit leave requests', 'approve-leave' => 'Approve or reject leave', 'manage-announcements' => 'Create and edit announcements', 'send-messages' => 'Send and receive messages', 'moderate-chat' => 'Moderate chat conversations', 'manage-fees' => 'Create invoices, manage fee structure', 'view-fees' => 'View fee records and invoices', 'make-payments' => 'Process fee payments', 'manage-timetable' => 'Create and edit timetable', 'view-timetable' => 'View class timetable', 'view-audit-logs' => 'View system audit trails', 'manage-settings' => 'Manage school settings', 'view-ai-insights' => 'View AI-generated insights', ]; @endphp {{ $descriptions[$perm->name] ?? '' }}

{{-- Save Button --}}

Admin always retains manage-settings and manage-users.

{{-- Role Summary Cards --}}
@foreach($roles as $role) @php $color = $roleColors[$role->name] ?? 'text-gray-700 bg-gray-50'; @endphp
{{ ucfirst($role->name) }} {{ $role->permissions->count() }}

permissions assigned

@endforeach
{{-- Add Permission Modal --}} @push('scripts') @endpush @endsection