@extends('layouts.app') @section('title', 'Kullanıcı Yetkileri') @section('content')

Yetki Yönetimi

Kullanıcı ve rol 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 {{-- AJAX Kullanıcı Arama --}}
Kullanıcı Seç
{{-- Dropdown body'e append edilecek, position:fixed ile --}}
@if ($userId) @endif
@if (!$user)
Devam etmek için kullanıcı seçin.
@else @php $rolePermissionKeyMap = array_fill_keys($rolePermissionKeys ?? [], true); $roleMenuMap = array_fill_keys($roleMenuPermissions ?? [], true); $moduleKeys = $modules->pluck('key')->map(static fn ($value) => (string) $value)->all(); @endphp
@csrf
{{ $user->name }}
{{ $user->email }}
@if (!empty($userRoles))
@foreach ($userRoles as $roleName) {{ $roleName }} @endforeach
@endif
Rol seçildiğinde kullanıcıya ait Özel yetkiler temizlenir.
@if (false)
Pazarlama Destek Talep Açma
@if (!empty($marketingDestekTeamMember))
Kullanıcı Pazarlama Birimi üyesi olduğu için bu erişim otomatik olarak açıktır.
@else
Pazarlama Birimi dışında kalan kullanıcılara sadece talep açma erişimi vermek için kullanın.
@endif
@endif
Rol Yetkileri
@if (!$moduleTablesReady)
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]); @endphp @endforeach
Modül Görüntüle Yönet
{{ $moduleLabel }}
{{ $moduleKey }}
@endif
Menü Yetkileri
@if (!$menuTablesReady)
Menü tabloları hazır değil.
@else @foreach ($menuTreeByModule as $moduleKey => $nodes) @php $menuModuleLabel = $menuModuleLabels[$moduleKey] ?? ($moduleKey === 'assets' ? 'Envanter Yönetimi' : ($moduleKey !== '' ? ucfirst($moduleKey) : 'Genel')); @endphp
{{ $menuModuleLabel }}
@include('admin.users.partials.menu-tree', [ 'nodes' => $nodes, 'menuSelections' => $roleMenuMap, 'editable' => false, 'disabled' => true, 'moduleKey' => $moduleKey, ])
@endforeach @endif
Özel Yetkiler
@if (!$moduleTablesReady)
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'; $viewOverride = $userModuleOverrides[$viewKey] ?? null; $manageOverride = $userModuleOverrides[$manageKey] ?? null; $viewChecked = $viewOverride === 1; $manageChecked = $manageOverride === 1; $moduleActive = $viewChecked || $manageChecked; $viewAvailable = array_key_exists($viewKey, $modulePermissionMap); $manageAvailable = array_key_exists($manageKey, $modulePermissionMap); @endphp
{{ $moduleLabel }}
{{ $moduleKey }}
@if (!$menuTablesReady)
Menü tabloları hazır değil.
@elseif (!empty($menuTreeByModule[$moduleKey])) {{-- Tümünü Seç --}}
@include('admin.users.partials.menu-tree', [ 'nodes' => $menuTreeByModule[$moduleKey], 'menuSelections' => $userMenuPermissions, 'editable' => true, 'disabled' => !$moduleActive, 'moduleKey' => $moduleKey, ]) @else
Bu modüle bağlı menü bulunamadı.
@endif
@if ($moduleKey === 'marketing')
  • @if (!empty($marketingDestekTeamMember))
    Pazarlama Birimi uyesi oldugu icin bu erişim otomatik açıktır.
    @endif
@if (false)
@if (!empty($marketingDestekTeamMember))
Kullanıcı Pazarlama Birimi üyesi olduğu için bu erişim otomatik olarak açıktır.
@else
Pazarlama Birimi dışında kalan kullanıcılara sadece talep açma erişimi vermek için kullanın.
@endif
@endif @endif
@endforeach
Modül yetkisi kapalıysa menüler pasif olur.
@endif
@if ($menuTablesReady) @php $hasExtraMenus = false; @endphp @foreach ($menuTreeByModule as $moduleKey => $nodes) @if (!in_array($moduleKey, $moduleKeys, true)) @php $hasExtraMenus = true; @endphp @endif @endforeach @if ($hasExtraMenus)
Tüm Menü Yetkileri (Alt Menü Bazlı)
Bu alanda tüm menü ve alt menüler için ayrı ayrı yetki verebilirsiniz.
@foreach ($menuTreeByModule as $moduleKey => $nodes) @if (in_array($moduleKey, $moduleKeys, true)) @continue @endif @php $menuModuleLabel = $menuModuleLabels[$moduleKey] ?? ($moduleKey === 'assets' ? 'Envanter Yönetimi' : ($moduleKey !== '' ? ucfirst($moduleKey) : 'Genel')); @endphp
@include('admin.users.partials.menu-tree', [ 'nodes' => $nodes, 'menuSelections' => $userMenuPermissions, 'editable' => true, 'disabled' => false, 'moduleKey' => $moduleKey, ])
@endforeach
@endif @endif
@endif @endsection @push('scripts') @endpush