diff --git a/admin/inc/class.admin_categories.inc.php b/admin/inc/class.admin_categories.inc.php index 3c2211fc39..69a06f2a56 100644 --- a/admin/inc/class.admin_categories.inc.php +++ b/admin/inc/class.admin_categories.inc.php @@ -371,11 +371,13 @@ class admin_categories } else if (!$GLOBALS['egw_info']['user']['apps']['admin']) { - if(!$cats->check_perms(EGW_ACL_EDIT, $row['id'])) + if(!$cats->check_perms(EGW_ACL_EDIT, $row['id']) || !self::$acl_edit) { $row['class'] .= ' rowNoEdit'; } - if(!$cats->check_perms(EGW_ACL_DELETE, $row['id'])) + if(!$cats->check_perms(EGW_ACL_DELETE, $row['id']) || !self::$acl_delete || + // Only admins can delete globals + $cats->is_global($row['id']) && !$GLOBALS['egw_info']['user']['apps']['admin']) { $row['class'] .= ' rowNoDelete'; }