mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-11 20:21:16 +00:00
a revision call also be started if some of the revisors have already reviewed the document
This commit is contained in:
parent
d8fb4fa4b0
commit
d0cf90032f
|
@ -5289,10 +5289,15 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
/* A new revision may only be started if we are not in the middle of
|
||||
* revision or the user/group has been removed from the workflow
|
||||
*/
|
||||
/* Taken out, because it happened that a revision wasn't started for each revisor
|
||||
* but just for some.
|
||||
* Checking for each revisor not being sleeping prevented a second start of the
|
||||
* revision for the remaining revisors still sleeping.
|
||||
foreach($revisionStatus as $status) {
|
||||
if($status['status'] != S_LOG_SLEEPING && $status['status'] != S_LOG_USER_REMOVED)
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
/* Make sure all Logs will be set to the right status, in order to
|
||||
* prevent inconsistent states. Actually it could be a feature to
|
||||
|
@ -5300,6 +5305,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
* this may not be possible.
|
||||
*/
|
||||
$db->startTransaction();
|
||||
$startedrev = false;
|
||||
foreach($revisionStatus as $status) {
|
||||
if($status['status'] == S_LOG_SLEEPING) {
|
||||
$queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`,
|
||||
|
@ -5312,12 +5318,15 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
$db->rollbackTransaction();
|
||||
return false;
|
||||
}
|
||||
$startedrev = true;
|
||||
}
|
||||
}
|
||||
if(!$this->setStatus(S_IN_REVISION, "Started revision", $requestUser)) {
|
||||
$db->rollbackTransaction();
|
||||
return false;
|
||||
}
|
||||
/* Set status only if at least one revision was started */
|
||||
if($startedrev)
|
||||
if(!$this->setStatus(S_IN_REVISION, "Started revision", $requestUser)) {
|
||||
$db->rollbackTransaction();
|
||||
return false;
|
||||
}
|
||||
$db->commitTransaction();
|
||||
return true;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<email>uwe@steinmann.cx</email>
|
||||
<active>yes</active>
|
||||
</lead>
|
||||
<date>2018-11-23</date>
|
||||
<date>2019-04-04</date>
|
||||
<time>07:31:17</time>
|
||||
<version>
|
||||
<release>6.0.7</release>
|
||||
|
@ -27,6 +27,7 @@
|
|||
SeedDMS_Core_Document::getTimeline() returns revision only for latest content
|
||||
add callback onSetStatus in SeedDMS_Core_DocumentContent::setStatus()
|
||||
add new list type 'DueRevision' in SeedDMS_Core_DMS::getDocumentList()
|
||||
a revision can also be started if some revisors have already reviewed the document
|
||||
</notes>
|
||||
<contents>
|
||||
<dir baseinstalldir="SeedDMS" name="/">
|
||||
|
|
Loading…
Reference in New Issue
Block a user