may[Receipt|Review|Approve|Revise] also checks for document access

This commit is contained in:
Uwe Steinmann 2018-02-05 08:48:53 +01:00
parent c7dbe7d16f
commit d824ca30fb

View File

@ -225,7 +225,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) { if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) { if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus(); $status = $latestContent->getStatus();
if ((($document->getAccessMode($this->user) == M_ALL) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) { if ((($document->getAccessMode($this->user) >= M_READWRITE) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
return true; return true;
} }
} }
@ -293,7 +293,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) { if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) { if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus(); $status = $latestContent->getStatus();
if ($status["status"]==S_DRAFT_REV) { if ($document->getAccessMode($this->user) >= M_READ && $status["status"]==S_DRAFT_REV) {
return true; return true;
} }
} }
@ -309,7 +309,7 @@ class SeedDMS_AccessOperation {
*/ */
function mayUpdateReview($document, $updateUser) { /* {{{ */ function mayUpdateReview($document, $updateUser) { /* {{{ */
if(get_class($document) == 'SeedDMS_Core_Document') { if(get_class($document) == 'SeedDMS_Core_Document') {
if($this->settings->_enableUpdateRevApp && ($updateUser == $this->user) && !$document->hasExpired()) { if($this->settings->_enableUpdateRevApp && ($updateUser == $this->user) && $document->getAccessMode($this->user) >= M_READ && !$document->hasExpired()) {
return true; return true;
} }
} }
@ -324,7 +324,7 @@ class SeedDMS_AccessOperation {
*/ */
function mayUpdateApproval($document, $updateUser) { /* {{{ */ function mayUpdateApproval($document, $updateUser) { /* {{{ */
if(get_class($document) == 'SeedDMS_Core_Document') { if(get_class($document) == 'SeedDMS_Core_Document') {
if($this->settings->_enableUpdateRevApp && ($updateUser == $this->user) && !$document->hasExpired()) { if($this->settings->_enableUpdateRevApp && ($updateUser == $this->user) && $document->getAccessMode($this->user) >= M_READ && !$document->hasExpired()) {
return true; return true;
} }
} }
@ -344,7 +344,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) { if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) { if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus(); $status = $latestContent->getStatus();
if ($status["status"]==S_DRAFT_APP) { if ($document->getAccessMode($this->user) >= M_READ && $status["status"]==S_DRAFT_APP) {
return true; return true;
} }
} }
@ -363,7 +363,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) { if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) { if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus(); $status = $latestContent->getStatus();
if ($status["status"]==S_RELEASED) { if ($document->getAccessMode($this->user) >= M_READ && $status["status"]==S_RELEASED) {
return true; return true;
} }
} }
@ -379,7 +379,7 @@ class SeedDMS_AccessOperation {
*/ */
function mayUpdateReceipt($document, $updateUser) { /* {{{ */ function mayUpdateReceipt($document, $updateUser) { /* {{{ */
if(get_class($document) == 'SeedDMS_Core_Document') { if(get_class($document) == 'SeedDMS_Core_Document') {
if($this->settings->_enableUpdateReceipt && ($updateUser == $this->user) && !$document->hasExpired()) { if($this->settings->_enableUpdateReceipt && ($updateUser == $this->user) && $document->getAccessMode($this->user) >= M_READ && !$document->hasExpired()) {
return true; return true;
} }
} }
@ -397,7 +397,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) { if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) { if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus(); $status = $latestContent->getStatus();
if ($status["status"]!=S_OBSOLETE) { if ($document->getAccessMode($this->user) >= M_READ && $status["status"]!=S_OBSOLETE) {
return true; return true;
} }
} }