@extends('layouts.app') @section('title', 'Yetki Yönetimi') @section('content')

Yetki Yönetimi

Role bağlı modül ve menü yetkilerini yönetin.

@include('admin.partials.permissions-nav') @if (request()->query('saved'))
Yetkiler kaydedildi.
@elseif (request()->query('error'))
İşlem sırasında hata oluştu.
@endif @if (session('error'))
{{ session('error') }}
@endif @if ($errors->any())
{{ $errors->first() }}
@endif
Rol Seç
{{-- Dropdown body'e append edilecek, position:fixed ile --}}
@if ($roleId) @endif
@if (!$role)
Devam etmek için rol seçin.
@else @php $rolePermissionKeyMap = array_fill_keys($rolePermissionKeys ?? [], true); $roleMenuMap = array_fill_keys($roleMenuPermissions ?? [], true); @endphp
@csrf
{{ $role->label ?? ucfirst($role->name) }}
{{ $role->name }}
Modül Yetkileri
@if (!$modulesReady)
Modül tabloları hazır değil.
@else
@foreach ($modules as $module) @php $moduleKey = (string) $module->key; $moduleLabel = $moduleLabels[$moduleKey] ?? ($moduleKey === 'assets' ? 'Envanter Yönetimi' : $module->name); $viewKey = 'module.' . $moduleKey . '.view'; $manageKey = 'module.' . $moduleKey . '.manage'; $viewAllowed = !empty($rolePermissionKeyMap[$viewKey]); $manageAllowed = !empty($rolePermissionKeyMap[$manageKey]); $moduleActive = $viewAllowed || $manageAllowed; $viewAvailable = array_key_exists($viewKey, $modulePermissionMap); $manageAvailable = array_key_exists($manageKey, $modulePermissionMap); @endphp
{{ $moduleLabel }}
{{ $moduleKey }}
@if (!$menusReady)
Menü tabloları hazır değil.
@elseif (!empty($menuTreeByModule[$moduleKey])) @include('admin.users.partials.menu-tree', [ 'nodes' => $menuTreeByModule[$moduleKey], 'menuSelections' => $roleMenuMap, 'editable' => true, 'disabled' => !$moduleActive, 'moduleKey' => $moduleKey, ]) @else
Bu modüle bağlı menü bulunamadı.
@endif
@endforeach
@endif
@endif @endsection @push('scripts') @endpush