From df75ae5c8ca5db4eaf79ad5361ffc02db28d7cfd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 22 Apr 2015 11:41:39 +0200 Subject: [PATCH] add method maySetReviser --- inc/inc.ClassAccessOperation.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index 643aaf13f..9c3ed17fd 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -111,7 +111,7 @@ class SeedDMS_AccessOperation { * This check can only be done for documents. Setting the document * recipients is only allowed if version modification is turned on * in the settings. The - * admin may even set reviewers/approvers if is disallowed in the + * admin may even set recipients if is disallowed in the * settings. */ function maySetRecipients() { /* {{{ */ @@ -125,6 +125,26 @@ class SeedDMS_AccessOperation { return false; } /* }}} */ + /** + * Check if revisers may be edited + * + * This check can only be done for documents. Setting the document + * revisers is only allowed if version modification is turned on + * in the settings. The + * admin may even set revisers if is disallowed in the + * settings. + */ + function maySetRevisers() { /* {{{ */ + if(get_class($this->obj) == 'SeedDMS_Core_Document') { + $latestContent = $this->obj->getLatestContent(); + $status = $latestContent->getStatus(); + if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_EXPIRED)) { + return true; + } + } + return false; + } /* }}} */ + /** * Check if workflow may be edited *