From: Jan Schneider Date: Sun, 14 Feb 2010 18:29:17 +0000 (+0100) Subject: MFB: Check for lock when renaming/merging. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=a62b312a675ae503563ded18ba5fe98d236660df;p=horde.git MFB: Check for lock when renaming/merging. --- diff --git a/wicked/lib/Page/MergeOrRename.php b/wicked/lib/Page/MergeOrRename.php index d1d3e716d..55511020a 100644 --- a/wicked/lib/Page/MergeOrRename.php +++ b/wicked/lib/Page/MergeOrRename.php @@ -44,6 +44,27 @@ class MergeOrRename extends Page { } /** + * Returns if the page allows a mode. Access rights and user state + * are taken into consideration. + * + * @see $supportedModes + * + * @param integer $mode The mode to check for. + * + * @return boolean True if the mode is allowed. + */ + function allows($mode) + { + if ($mode == WICKED_MODE_EDIT) { + $page = Page::getPage($this->referrer()); + if ($page->isLocked(Wicked::lockUser())) { + return false; + } + } + return parent::allows($mode); + } + + /** * Retrieve this user's permissions for the referring page. * * @return integer The permissions bitmask. diff --git a/wicked/templates/display/standard.inc b/wicked/templates/display/standard.inc index dc417ece9..08b086045 100644 --- a/wicked/templates/display/standard.inc +++ b/wicked/templates/display/standard.inc @@ -17,7 +17,7 @@ if (!function_exists('separator')) { separator(true); -if ($this->allows(WICKED_MODE_EDIT) && !$this->isLocked()) { +if ($this->allows(WICKED_MODE_EDIT) && !$this->isLocked(Wicked::lockUser())) { separator(); $url = Horde_Util::addParameter(Wicked::url('EditPage'), 'referrer', $this->pageName()); @@ -56,7 +56,7 @@ if ($this->allows(WICKED_MODE_REMOVE)) { 'widget', '', '', _("_Delete")); } -if ($this->allows(WICKED_MODE_EDIT)) { +if ($this->allows(WICKED_MODE_EDIT) && !$this->isLocked(Wicked::lockUser())) { separator(); $url = Horde_Util::addParameter(Wicked::url('MergeOrRename'), 'referrer', $this->pageName());