add callback onCheckAccessDocument(), reload workflow

This commit is contained in:
Uwe Steinmann 2018-07-12 21:10:16 +02:00
parent 4c6f40c29c
commit 34255ecded

View File

@ -1022,6 +1022,15 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if(!$user)
return M_NONE;
/* Check if 'onCheckAccessDocument' callback is set */
if(isset($this->_dms->callbacks['onCheckAccessDocument'])) {
foreach($this->_dms->callbacks['onCheckAccessDocument'] as $callback) {
if(($ret = call_user_func($callback[0], $callback[1], $this, $user)) > 0) {
return $ret;
}
}
}
/* Administrators have unrestricted access */
if ($user->isAdmin()) return M_ALL;
@ -2651,6 +2660,9 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if (!$ignorecurrentstatus && ($st["status"]==S_OBSOLETE || $st["status"]==S_REJECTED || $st["status"]==S_EXPIRED )) return;
unset($this->_workflow); // force to be reloaded from DB
$hasworkflow = $this->getWorkflow() ? true : false;
$pendingReview=false;
unset($this->_reviewStatus); // force to be reloaded from DB
$reviewStatus=$this->getReviewStatus();
@ -2969,7 +2981,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$this->getStatus();
}
if ($this->_status["status"]==$status) {
return false;
return true;
}
if($date)
$ddate = $db->qstr($date);