From efcfc23674492d5e6e41e2ea0e05b81feb9639b2 Mon Sep 17 00:00:00 2001 From: Brad Shuttleworth Date: Fri, 3 Feb 2006 15:16:43 +0000 Subject: [PATCH] - not all documents have states, so don't necessarily fail. (permissionutil) - if we only have 1 version, don't offer to compare with other versions (KTS-187) --- lib/permissions/permissionutil.inc.php | 32 +++++++++++++++++--------------- templates/kt3/document/metadata_history.smarty | 8 +++++++- 2 files changed, 24 insertions(+), 16 deletions(-) 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} - {i18n}compare with other version{/i18n} + + {if (count($versions) == 1)} + — + {else} + {i18n}compare with other version{/i18n} + {/if} + {/foreach} -- libgit2 0.21.4