diff --git a/lib/Service/Access/DepartmentAuthorizationPolicy.php b/lib/Service/Access/DepartmentAuthorizationPolicy.php
index 7487a04..e7a353e 100644
--- a/lib/Service/Access/DepartmentAuthorizationPolicy.php
+++ b/lib/Service/Access/DepartmentAuthorizationPolicy.php
@@ -100,6 +100,7 @@ class DepartmentAuthorizationPolicy implements AuthorizationPolicyInterface
'capabilities' => [
'can_view_page' => true,
'can_update_department' => $this->hasPermission($actorUserId, PermissionService::DEPARTMENTS_UPDATE),
+ 'can_delete_department' => $this->hasPermission($actorUserId, PermissionService::DEPARTMENTS_DELETE),
'allowed_tenant_ids' => $this->scopeGateway->getUserTenantIds($actorUserId),
],
]);
diff --git a/pages/admin/departments/edit($id).php b/pages/admin/departments/edit($id).php
index 3ab7d42..5c0d866 100644
--- a/pages/admin/departments/edit($id).php
+++ b/pages/admin/departments/edit($id).php
@@ -48,8 +48,10 @@ if (!is_array($capabilities)) {
}
$canViewPage = (bool) ($capabilities['can_view_page'] ?? false);
$canUpdateDepartment = (bool) ($capabilities['can_update_department'] ?? false);
+$canDeleteDepartment = (bool) ($capabilities['can_delete_department'] ?? false);
$viewAuth['page'] = [
'can_update_department' => $canUpdateDepartment,
+ 'can_delete_department' => $canDeleteDepartment,
];
$allowedTenantIdsRaw = $capabilities['allowed_tenant_ids'] ?? [];
$allowedTenantIds = is_array($allowedTenantIdsRaw)
@@ -117,8 +119,10 @@ if ($request->hasBody('description')) {
$submitCapabilities = $submitDecision->attribute('capabilities', []);
if (is_array($submitCapabilities)) {
$canUpdateDepartment = (bool) ($submitCapabilities['can_update_department'] ?? $canUpdateDepartment);
+ $canDeleteDepartment = (bool) ($submitCapabilities['can_delete_department'] ?? $canDeleteDepartment);
$viewAuth['page'] = [
'can_update_department' => $canUpdateDepartment,
+ 'can_delete_department' => $canDeleteDepartment,
];
}
if (!$canUpdateDepartment) {
diff --git a/pages/admin/settings/index(default).phtml b/pages/admin/settings/index(default).phtml
index 60d79cd..dd31f64 100644
--- a/pages/admin/settings/index(default).phtml
+++ b/pages/admin/settings/index(default).phtml
@@ -287,7 +287,7 @@ $disabledAttr = $isReadOnly ? 'disabled' : '';
@@ -508,6 +508,7 @@ $disabledAttr = $isReadOnly ? 'disabled' : '';