mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-06-18 02:59:27 +00:00
check if getLatestContent() returns a version
This commit is contained in:
parent
130c894a35
commit
be8be01ed5
|
@ -64,13 +64,14 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayEditVersion($document) { /* {{{ */
|
function mayEditVersion($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$version = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getFileType()), $this->settings->_editOnlineFileTypes))
|
if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || !in_array(strtolower($latestContent->getFileType()), $this->settings->_editOnlineFileTypes))
|
||||||
return false;
|
return false;
|
||||||
if ($document->getAccessMode($this->user) == M_ALL || $this->user->isAdmin()) {
|
if ($document->getAccessMode($this->user) == M_ALL || $this->user->isAdmin()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -105,12 +106,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayOverrideStatus($document) { /* {{{ */
|
function mayOverrideStatus($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT || $status["status"]==S_RELEASED || $status["status"]==S_OBSOLETE)) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT || $status["status"]==S_RELEASED || $status["status"]==S_OBSOLETE)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -125,12 +127,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function maySetReviewersApprovers($document) { /* {{{ */
|
function maySetReviewersApprovers($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status['status']==S_DRAFT || $status["status"]==S_DRAFT_REV || $status["status"]==S_DRAFT_APP && $this->settings->_workflowMode == 'traditional_only_approval')) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status['status']==S_DRAFT || $status["status"]==S_DRAFT_REV || $status["status"]==S_DRAFT_APP && $this->settings->_workflowMode == 'traditional_only_approval')) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -145,12 +148,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function maySetRecipients($document) { /* {{{ */
|
function maySetRecipients($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED)) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -165,12 +169,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function maySetRevisors($document) { /* {{{ */
|
function maySetRevisors($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_IN_REVISION)) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_IN_REVISION)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -185,12 +190,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function maySetWorkflow($document) { /* {{{ */
|
function maySetWorkflow($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$workflow = $latestContent->getWorkflow();
|
$workflow = $latestContent->getWorkflow();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (!$workflow || ($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (!$workflow || ($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -202,12 +208,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function maySetExpires($document) { /* {{{ */
|
function maySetExpires($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$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_ALL) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -228,12 +235,13 @@ class SeedDMS_AccessOperation {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -248,13 +256,14 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayEditAttributes($document) { /* {{{ */
|
function mayEditAttributes($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
$workflow = $latestContent->getWorkflow();
|
$workflow = $latestContent->getWorkflow();
|
||||||
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT_REV || ($workflow && $workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
|
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT_REV || ($workflow && $workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -267,12 +276,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayReview($document) { /* {{{ */
|
function mayReview($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ($status["status"]!=S_OBSOLETE) {
|
if ($status["status"]!=S_OBSOLETE) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -286,12 +296,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayApprove($document) { /* {{{ */
|
function mayApprove($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ($status["status"]!=S_OBSOLETE && $status["status"]!=S_DRAFT_REV && $status["status"]!=S_REJECTED) {
|
if ($status["status"]!=S_OBSOLETE && $status["status"]!=S_DRAFT_REV && $status["status"]!=S_REJECTED) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -304,12 +315,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayReceipt($document) { /* {{{ */
|
function mayReceipt($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ($status["status"]!=S_OBSOLETE) {
|
if ($status["status"]!=S_OBSOLETE) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
@ -322,12 +334,13 @@ class SeedDMS_AccessOperation {
|
||||||
*/
|
*/
|
||||||
function mayRevise($document) { /* {{{ */
|
function mayRevise($document) { /* {{{ */
|
||||||
if(get_class($document) == $this->dms->getClassname('document')) {
|
if(get_class($document) == $this->dms->getClassname('document')) {
|
||||||
$latestContent = $document->getLatestContent();
|
if($latestContent = $document->getLatestContent()) {
|
||||||
$status = $latestContent->getStatus();
|
$status = $latestContent->getStatus();
|
||||||
if ($status["status"]!=S_OBSOLETE) {
|
if ($status["status"]!=S_OBSOLETE) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user