diff --git a/lib/actions/documentaction.inc.php b/lib/actions/documentaction.inc.php index a4bf873..453a7c3 100644 --- a/lib/actions/documentaction.inc.php +++ b/lib/actions/documentaction.inc.php @@ -39,6 +39,14 @@ class KTDocumentAction extends KTStandardDispatcher { if (is_null($this->_sShowPermission)) { return true; } + if ($this->_bAdminAlwaysAvailable) { + if (Permission::userIsSystemAdministrator($this->oUser->getId())) { + return true; + } + if (Permission::isUnitAdministratorForFolder($this->oUser, $this->oDocument->getFolderId())) { + return true; + } + } $oPermission =& KTPermission::getByName($this->_sShowPermission); if (PEAR::isError($oPermission)) { return true; diff --git a/plugins/ktcore/KTPermissions.php b/plugins/ktcore/KTPermissions.php index fa28fdb..0a6d3e1 100644 --- a/plugins/ktcore/KTPermissions.php +++ b/plugins/ktcore/KTPermissions.php @@ -20,6 +20,7 @@ require_once(KT_LIB_DIR . "/permissions/permissionutil.inc.php"); class KTDocumentPermissionsAction extends KTDocumentAction { var $sDisplayName = 'Permissions'; var $sName = 'ktcore.actions.document.permissions'; + var $_bAdminAlwaysAvailable = true; function do_main() { $this->oPage->setBreadcrumbDetails("permissions");