diff --git a/lib/permissions/permissionutil.inc.php b/lib/permissions/permissionutil.inc.php index 30517d2..da1aa83 100644 --- a/lib/permissions/permissionutil.inc.php +++ b/lib/permissions/permissionutil.inc.php @@ -249,21 +249,23 @@ class KTPermissionUtil { if (!is_a($oFolderOrDocument, 'Folder')) { $oState = KTWorkflowUtil::getWorkflowStateForDocument($oFolderOrDocument); - $aWorkflowStatePermissionAssignments = KTWorkflowStatePermissionAssignment::getByState($oState); - foreach ($aWorkflowStatePermissionAssignments as $oAssignment) { - $iPermissionId = $oAssignment->getPermissionId(); - $iPermissionDescriptorId = $oAssignment->getDescriptorId(); - - $oPD = KTPermissionDescriptor::get($iPermissionDescriptorId); - $aGroupIDs = $oPD->getGroups(); - $aUserIDs = array(); - $aRoleIDs = $oPD->getRoles(); - $aAllowed = array( - "group" => $aGroupIDs, - "user" => $aUserIDs, - "role" => $aRoleIDs, - ); - $aMapPermAllowed[$iPermissionId] = $aAllowed; + if (!(PEAR::isError($oState) || is_null($oState) || ($oState == false))) { + $aWorkflowStatePermissionAssignments = KTWorkflowStatePermissionAssignment::getByState($oState); + foreach ($aWorkflowStatePermissionAssignments as $oAssignment) { + $iPermissionId = $oAssignment->getPermissionId(); + $iPermissionDescriptorId = $oAssignment->getDescriptorId(); + + $oPD = KTPermissionDescriptor::get($iPermissionDescriptorId); + $aGroupIDs = $oPD->getGroups(); + $aUserIDs = array(); + $aRoleIDs = $oPD->getRoles(); + $aAllowed = array( + "group" => $aGroupIDs, + "user" => $aUserIDs, + "role" => $aRoleIDs, + ); + $aMapPermAllowed[$iPermissionId] = $aAllowed; + } } } diff --git a/templates/kt3/document/metadata_history.smarty b/templates/kt3/document/metadata_history.smarty index 96fb5a6..8b913e1 100644 --- a/templates/kt3/document/metadata_history.smarty +++ b/templates/kt3/document/metadata_history.smarty @@ -30,7 +30,13 @@ {i18n}compare with current{/i18n} {/if} -