Files
citrus-cms/resources/views/admin-ajax/document-permission-load-folder.blade.php
2026-04-28 21:15:09 +03:00

48 lines
1.5 KiB
PHP

@php
use App\Models\DocumentManagerPermission;
$userLevel = $request->get('user_level', 'Admin');
$folderPath = $request->get('folder_path', '');
if (!$userLevel || !$folderPath) {
header('Content-Type: application/json');
echo json_encode(['success' => false, 'message' => 'User level and folder path are required']);
exit;
}
try {
// Get all permissions for specific user level and folder (both allowed and denied)
$allPermissions = DocumentManagerPermission::where('user_level', $userLevel)
->where('folder_path', $folderPath)
->get();
// Create array with all permission types and their status
$permissions = [];
$permissionTypes = ['read', 'write'];
foreach ($permissionTypes as $permissionType) {
$permission = $allPermissions->where('permission_type', $permissionType)->first();
if ($permission && $permission->is_allowed) {
$permissions[] = $permissionType;
}
}
// No inheritance - only return explicit permissions for each folder
header('Content-Type: application/json');
echo json_encode([
'success' => true,
'permissions' => $permissions,
'user_level' => $userLevel,
'folder_path' => $folderPath
]);
} catch (Exception $e) {
header('Content-Type: application/json');
echo json_encode([
'success' => false,
'message' => 'Error loading folder permissions: ' . $e->getMessage()
]);
}
@endphp