Permissions

{{-- --}}
@php $permissionId = 0; $permissionData = []; $roleArray = Helper::roleArray(); $isEdit = count($permission) > 0 ? true : false; // division if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN']])) { $permissionData['division'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => true, ], (object) [ 'key' => 'edit', 'checked' => true, ], (object) [ 'key' => 'archive', 'checked' => true, ], (object) [ 'key' => 'delete', 'checked' => true, ], (object) [ 'key' => 'user_view', 'checked' => true, ], (object) [ 'key' => 'user_add', 'checked' => true, ], (object) [ 'key' => 'user_modify', 'checked' => true, ], (object) [ 'key' => 'user_delete', 'checked' => true, ], (object) [ 'key' => 'user_assign', 'checked' => true, ], (object) [ 'key' => 'view_only', 'checked' => false, ], ]; } // department if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER']])) { $permissionData['department'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => true, ], (object) [ 'key' => 'edit', 'checked' => true, ], (object) [ 'key' => 'archive', 'checked' => true, ], (object) [ 'key' => 'delete', 'checked' => true, ], (object) [ 'key' => 'user_view', 'checked' => true, ], (object) [ 'key' => 'user_add', 'checked' => true, ], (object) [ 'key' => 'user_modify', 'checked' => true, ], (object) [ 'key' => 'user_delete', 'checked' => true, ], (object) [ 'key' => 'user_assign', 'checked' => true, ], (object) [ 'key' => 'view_only', 'checked' => false, ], ]; } // project if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER']])) { if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER']])) { $permissionData['project'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => false, ], (object) [ 'key' => 'edit', 'checked' => false, ], (object) [ 'key' => 'archive', 'checked' => false, ], (object) [ 'key' => 'delete', 'checked' => false, ], (object) [ 'key' => 'user_view', 'checked' => false, ], (object) [ 'key' => 'user_add', 'checked' => false, ], (object) [ 'key' => 'user_modify', 'checked' => false, ], (object) [ 'key' => 'user_delete', 'checked' => false, ], (object) [ 'key' => 'user_assign', 'checked' => false, ], (object) [ 'key' => 'view_only', 'checked' => true, ], ]; } else { $permissionData['project'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => true, ], (object) [ 'key' => 'edit', 'checked' => true, ], (object) [ 'key' => 'archive', 'checked' => true, ], (object) [ 'key' => 'delete', 'checked' => true, ], (object) [ 'key' => 'user_view', 'checked' => true, ], (object) [ 'key' => 'user_add', 'checked' => true, ], (object) [ 'key' => 'user_modify', 'checked' => true, ], (object) [ 'key' => 'user_delete', 'checked' => true, ], (object) [ 'key' => 'user_assign', 'checked' => true, ], (object) [ 'key' => 'view_only', 'checked' => false, ], ]; } } // folder if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER'], $roleArray['PROJECT_MANAGER'], $roleArray['GOVE_TEAM']])) { if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER'], $roleArray['GOVE_TEAM']])) { $permissionData['folder'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => false, ], (object) [ 'key' => 'edit', 'checked' => false, ], (object) [ 'key' => 'archive', 'checked' => false, ], (object) [ 'key' => 'delete', 'checked' => false, ], (object) [ 'key' => 'user_view', 'checked' => false, ], (object) [ 'key' => 'user_add', 'checked' => false, ], (object) [ 'key' => 'user_modify', 'checked' => false, ], (object) [ 'key' => 'user_delete', 'checked' => false, ], (object) [ 'key' => 'user_assign', 'checked' => false, ], (object) [ 'key' => 'view_only', 'checked' => true, ], ]; } else { $permissionData['folder'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => true, ], (object) [ 'key' => 'edit', 'checked' => true, ], (object) [ 'key' => 'archive', 'checked' => true, ], (object) [ 'key' => 'delete', 'checked' => true, ], (object) [ 'key' => 'user_view', 'checked' => true, ], (object) [ 'key' => 'user_add', 'checked' => true, ], (object) [ 'key' => 'user_modify', 'checked' => true, ], (object) [ 'key' => 'user_delete', 'checked' => true, ], (object) [ 'key' => 'user_assign', 'checked' => true, ], (object) [ 'key' => 'view_only', 'checked' => false, ], ]; } } // item if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER'], $roleArray['PROJECT_MANAGER'], $roleArray['GOVE_TEAM']])) { if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER']])) { $permissionData['item'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => false, ], (object) [ 'key' => 'edit', 'checked' => false, ], (object) [ 'key' => 'archive', 'checked' => false, ], (object) [ 'key' => 'delete', 'checked' => false, ], (object) [ 'key' => 'user_view', 'checked' => false, ], (object) [ 'key' => 'user_add', 'checked' => false, ], (object) [ 'key' => 'user_modify', 'checked' => false, ], (object) [ 'key' => 'user_delete', 'checked' => false, ], (object) [ 'key' => 'user_assign', 'checked' => false, ], // (object) [ // 'key' => 'tag_create', // 'checked' => false, // ], ]; } else { $permissionData['item'] = [ (object) [ 'key' => 'view', 'checked' => true, ], (object) [ 'key' => 'add', 'checked' => true, ], (object) [ 'key' => 'edit', 'checked' => true, ], (object) [ 'key' => 'archive', 'checked' => true, ], (object) [ 'key' => 'delete', 'checked' => true, ], (object) [ 'key' => 'user_view', 'checked' => true, ], (object) [ 'key' => 'user_add', 'checked' => true, ], (object) [ 'key' => 'user_modify', 'checked' => true, ], (object) [ 'key' => 'user_delete', 'checked' => true, ], (object) [ 'key' => 'user_assign', 'checked' => true, ], ]; } } // reviewer if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER'], $roleArray['PROJECT_MANAGER'], $roleArray['GOVE_TEAM'], $roleArray['REVIEWER']])) { if (in_array($role, [$roleArray['SUPER_ADMIN'], $roleArray['ORG_ADMIN'], $roleArray['DIV_MANAGER'], $roleArray['DEP_MANAGER']])) { $tmp = [ (object) [ 'key' => 'review', 'checked' => false, ], (object) [ 'key' => 'comment', 'checked' => false, ], (object) [ 'key' => 'comment_view', 'checked' => false, ], (object) [ 'key' => 'view_only', 'checked' => true, ], (object) [ 'key' => 'internal_comment', 'checked' => false, ], ]; $permissionData['item'] = array_merge($permissionData['item'] ?? [], $tmp); } else { $tmp = [ (object) [ 'key' => 'review', 'checked' => true, ], (object) [ 'key' => 'comment', 'checked' => true, ], (object) [ 'key' => 'comment_view', 'checked' => true, ], (object) [ 'key' => 'view_only', 'checked' => false, ], (object) [ 'key' => 'internal_comment', 'checked' => false, ], ]; if (in_array($role, [$roleArray['REVIEWER'], $roleArray['GUEST']])) { array_unshift( $tmp, (object) [ 'key' => 'view', 'checked' => true, ], ); } $permissionData['item'] = array_merge($permissionData['item'] ?? [], $tmp); } } @endphp {{-- render --}} @if ($isEdit) @foreach ($permissionData as $key => $val)
@foreach ($val as $item) @php $permissionId += 1; @endphp @if ($item->key == 'view') @elseif ($item->key != 'view_only')
key] ? 'checked' : '' }} class="me-2" name="{{ $key . '_' . $item->key }}" id="{{ 'permission_' . $permissionId }}">
@php $pname = explode('_', $item->key); if ($pname[0] == 'user') { $pname = [$pname[1], $pname[0] ?? '']; } @endphp
@else @php $viewOnly = $permission[$key . '_add'] == 1 || $permission[$key . '_edit'] == 1 || $permission[$key . '_archive'] == 1 || $permission[$key . '_delete'] == 1 || $permission[$key . '_user_modify'] == 1 || $permission[$key . '_user_view'] == 1 || $permission[$key . '_user_add'] == 1 || $permission[$key . '_user_delete'] == 1 || $permission[$key . '_user_assign'] == 1 || (isset($permission[$key . '_review']) && $permission[$key . '_review'] == 1) || (isset($permission[$key . '_comment']) && $permission[$key . '_comment'] == 1) ? false : true; if ($viewOnly && $permission[$key . '_view'] == 1) { $viewOnly = true; } else { $viewOnly = false; } @endphp
@php $pname = explode('_', $item->key); if ($pname[0] == 'user') { $pname = [$pname[1], $pname[0] ?? '']; } @endphp
@endif @endforeach
@endforeach @else @foreach ($permissionData as $key => $val)
@foreach ($val as $item) @php $permissionId += 1; @endphp @if ($item->key == 'view') checked ? 'checked' : '' }} id="{{ 'permission_' . $permissionId }}" data-view> @elseif ($item->key != 'view_only')
checked ? 'checked' : '' }} name="{{ $key . '_' . $item->key }}" id="{{ 'permission_' . $permissionId }}">
@php $pname = explode('_', $item->key); if ($pname[0] == 'user') { $pname = [$pname[1], $pname[0] ?? '']; } @endphp
@else
checked ? 'checked' : '' }} id="{{ 'permission_' . $permissionId }}" data-view-only>
@php $pname = explode('_', $item->key); if ($pname[0] == 'user') { $pname = [$pname[1], $pname[0] ?? '']; } @endphp
@endif @endforeach
@endforeach @endif