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')
@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
@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')
@else
@endif
@endforeach
@endforeach
@endif