getDocumentsInRevision() also returns status of revision log

This commit is contained in:
Uwe Steinmann 2022-09-18 12:45:40 +02:00
parent 3721fcfc22
commit c2a8b4bbc6

View File

@ -3827,19 +3827,23 @@ class SeedDMS_Core_DMS {
} /* }}} */
/**
* Return all documents waiting for or in revision
* Return all documents revisors waiting for a revision to start (sleeping)
* or are required to revise the document (waiting)
*
* This function retrieves all documents and its version which are waiting for
* This function retrieves all revisors which are waiting for
* revision or already in revision
* Note: the name of the method is somewhat misleading, because it
* does not return documents but just database records from table
* tblDocumentRevisors and tblDocumentRevisionLog
*
* @return object instance of {@link SeedDMS_Core_DocumentContent} or false
* @return array list of revisors or false in case of an error
*/
function getDocumentsInRevision() { /* {{{ */
if (!$this->db->createTemporaryTable("ttrevisionid") || !$this->db->createTemporaryTable("ttcontentid")) {
return false;
}
$queryStr =
"SELECT `tblDocumentRevisors`.* FROM `tblDocumentRevisors` LEFT JOIN `ttrevisionid` ON `tblDocumentRevisors`.`revisionID` = `ttrevisionid`.`revisionID` LEFT JOIN `tblDocumentRevisionLog` ON `ttrevisionid`.`maxLogID` = `tblDocumentRevisionLog`.`revisionLogID` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` AND `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` WHERE `tblDocumentRevisionLog`.`status` in (0, -3) AND `ttcontentid`.`maxVersion` IS NOT NULL";
"SELECT `tblDocumentRevisors`.*, `tblDocumentRevisionLog`.`status` FROM `tblDocumentRevisors` LEFT JOIN `ttrevisionid` ON `tblDocumentRevisors`.`revisionID` = `ttrevisionid`.`revisionID` LEFT JOIN `tblDocumentRevisionLog` ON `ttrevisionid`.`maxLogID` = `tblDocumentRevisionLog`.`revisionLogID` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` AND `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` WHERE `tblDocumentRevisionLog`.`status` in (".S_LOG_WAITING.", ".S_LOG_SLEEPING.") AND `ttcontentid`.`maxVersion` IS NOT NULL";
$resArr = $this->db->getResultArray($queryStr);
return $resArr;