take enable[Revision|Receipt]Workflow into account

This commit is contained in:
Uwe Steinmann 2018-04-03 09:32:36 +02:00
parent 28e65a1520
commit fd5920fc8d
13 changed files with 63 additions and 31 deletions

View File

@ -185,7 +185,7 @@ class Settings { /* {{{ */
// the mode of workflow // the mode of workflow
var $_workflowMode = "traditional"; var $_workflowMode = "traditional";
// enable/disable acknowledge workflow // enable/disable acknowledge workflow
var $_enableAcknowledgeWorkflow = true; var $_enableReceiptWorkflow = true;
// enable/disable revision workflow // enable/disable revision workflow
var $_enableRevisionWorkflow = true; var $_enableRevisionWorkflow = true;
// enable/disable revision on vote reject // enable/disable revision on vote reject
@ -667,7 +667,7 @@ class Settings { /* {{{ */
$this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]); $this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]);
$this->_versioningFileName = strval($tab["versioningFileName"]); $this->_versioningFileName = strval($tab["versioningFileName"]);
$this->_workflowMode = strval($tab["workflowMode"]); $this->_workflowMode = strval($tab["workflowMode"]);
$this->_enableAcknowledgeWorkflow = strval($tab["enableAcknowledgeWorkflow"]); $this->_enableReceiptWorkflow = strval($tab["enableReceiptWorkflow"]);
$this->_enableRevisionWorkflow = strval($tab["enableRevisionWorkflow"]); $this->_enableRevisionWorkflow = strval($tab["enableRevisionWorkflow"]);
$this->_enableRevisionOnVoteReject = strval($tab["enableRevisionOnVoteReject"]); $this->_enableRevisionOnVoteReject = strval($tab["enableRevisionOnVoteReject"]);
$this->_allowReviewerOnly = Settings::boolval($tab["allowReviewerOnly"]); $this->_allowReviewerOnly = Settings::boolval($tab["allowReviewerOnly"]);
@ -988,7 +988,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "initialDocumentStatus", $this->_initialDocumentStatus); $this->setXMLAttributValue($node, "initialDocumentStatus", $this->_initialDocumentStatus);
$this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName); $this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName);
$this->setXMLAttributValue($node, "workflowMode", $this->_workflowMode); $this->setXMLAttributValue($node, "workflowMode", $this->_workflowMode);
$this->setXMLAttributValue($node, "enableAcknowledgeWorkflow", $this->_enableAcknowledgeWorkflow); $this->setXMLAttributValue($node, "enableReceiptWorkflow", $this->_enableReceiptWorkflow);
$this->setXMLAttributValue($node, "enableRevisionWorkflow", $this->_enableRevisionWorkflow); $this->setXMLAttributValue($node, "enableRevisionWorkflow", $this->_enableRevisionWorkflow);
$this->setXMLAttributValue($node, "enableRevisionOnVoteReject", $this->_enableRevisionOnVoteReject); $this->setXMLAttributValue($node, "enableRevisionOnVoteReject", $this->_enableRevisionOnVoteReject);
$this->setXMLAttributValue($node, "allowReviewerOnly", $this->_allowReviewerOnly); $this->setXMLAttributValue($node, "allowReviewerOnly", $this->_allowReviewerOnly);

View File

@ -180,7 +180,7 @@ if ($action == "saveSettings")
$settings->_presetExpirationDate = $_POST["presetExpirationDate"]; $settings->_presetExpirationDate = $_POST["presetExpirationDate"];
$settings->_initialDocumentStatus = $_POST["initialDocumentStatus"]; $settings->_initialDocumentStatus = $_POST["initialDocumentStatus"];
$settings->_workflowMode = $_POST["workflowMode"]; $settings->_workflowMode = $_POST["workflowMode"];
$settings->_enableAcknowledgeWorkflow = getBoolValue("enableAcknowledgeWorkflow"); $settings->_enableReceiptWorkflow = getBoolValue("enableReceiptWorkflow");
$settings->_enableRevisionWorkflow = getBoolValue("enableRevisionWorkflow"); $settings->_enableRevisionWorkflow = getBoolValue("enableRevisionWorkflow");
$settings->_enableRevisionOnVoteReject = getBoolValue("enableRevisionOnVoteReject"); $settings->_enableRevisionOnVoteReject = getBoolValue("enableRevisionOnVoteReject");
$settings->_allowReviewerOnly = getBoolValue("allowReviewerOnly"); $settings->_allowReviewerOnly = getBoolValue("allowReviewerOnly");

View File

@ -78,6 +78,7 @@ if($view) {
$view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp);
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enableadminreceipt', $settings->_enableAdminReceipt); $view->setParam('enableadminreceipt', $settings->_enableAdminReceipt);
$view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt); $view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt);
$view->setParam('enableselfreceipt', $settings->_enableSelfReceipt); $view->setParam('enableselfreceipt', $settings->_enableSelfReceipt);

View File

@ -72,6 +72,7 @@ if($view) {
$view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp);
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enableselfreceipt', $settings->_enableSelfReceipt); $view->setParam('enableselfreceipt', $settings->_enableSelfReceipt);
$view->setParam('dropfolderdir', $settings->_dropFolderDir); $view->setParam('dropfolderdir', $settings->_dropFolderDir);
$view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('workflowmode', $settings->_workflowMode);

View File

@ -33,6 +33,8 @@ $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) { if($view) {
$view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enablerevisionworkflow', $settings->_enableRevisionWorkflow);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('timeout', $settings->_cmdTimeout);
$view($_GET); $view($_GET);

View File

@ -71,6 +71,7 @@ if($view) {
$view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp);
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enableselfreceipt', $settings->_enableSelfReceipt); $view->setParam('enableselfreceipt', $settings->_enableSelfReceipt);
$view->setParam('dropfolderdir', $settings->_dropFolderDir); $view->setParam('dropfolderdir', $settings->_dropFolderDir);
$view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('workflowmode', $settings->_workflowMode);

View File

@ -76,6 +76,8 @@ if($view) {
$view->setParam('showtree', showtree()); $view->setParam('showtree', showtree());
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('viewonlinefiletypes', $settings->_viewOnlineFileTypes); $view->setParam('viewonlinefiletypes', $settings->_viewOnlineFileTypes);
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enablerevisionworkflow', $settings->_enableRevisionWorkflow);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt); $view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt);
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);

View File

@ -160,6 +160,7 @@ $(document).ready(function() {
$enableadminrevapp = $this->params['enableadminrevapp']; $enableadminrevapp = $this->params['enableadminrevapp'];
$enableownerrevapp = $this->params['enableownerrevapp']; $enableownerrevapp = $this->params['enableownerrevapp'];
$enableselfrevapp = $this->params['enableselfrevapp']; $enableselfrevapp = $this->params['enableselfrevapp'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enableadminreceipt = $this->params['enableadminreceipt']; $enableadminreceipt = $this->params['enableadminreceipt'];
$enableownerreceipt = $this->params['enableownerreceipt']; $enableownerreceipt = $this->params['enableownerreceipt'];
$enableselfreceipt = $this->params['enableselfreceipt']; $enableselfreceipt = $this->params['enableselfreceipt'];
@ -698,6 +699,7 @@ $(document).ready(function() {
</tr> </tr>
<?php <?php
} }
if($enablereceiptworkflow) {
// Retrieve a list of all users and groups that have review / approve // Retrieve a list of all users and groups that have review / approve
// privileges. // privileges.
$docAccess = $folder->getReadAccessList($enableadminreceipt, $enableownerreceipt); $docAccess = $folder->getReadAccessList($enableadminreceipt, $enableownerreceipt);
@ -750,6 +752,9 @@ $(document).ready(function() {
</select> </select>
</td> </td>
</tr> </tr>
<?php
}
?>
<tr> <tr>
<td> <td>
<?php $this->contentSubHeading(getMLText("add_document_notify")); ?> <?php $this->contentSubHeading(getMLText("add_document_notify")); ?>

View File

@ -85,6 +85,7 @@ $(document).ready(function() {
$enableownerrevapp = $this->params['enableownerrevapp']; $enableownerrevapp = $this->params['enableownerrevapp'];
$enableselfrevapp = $this->params['enableselfrevapp']; $enableselfrevapp = $this->params['enableselfrevapp'];
$enableselfreceipt = $this->params['enableselfreceipt']; $enableselfreceipt = $this->params['enableselfreceipt'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$workflowmode = $this->params['workflowmode']; $workflowmode = $this->params['workflowmode'];
$presetexpiration = $this->params['presetexpiration']; $presetexpiration = $this->params['presetexpiration'];
$documentid = $document->getId(); $documentid = $document->getId();
@ -606,6 +607,7 @@ $(document).ready(function() {
</tr> </tr>
<?php <?php
} }
if($enablereceiptworkflow) {
?> ?>
<tr> <tr>
<td colspan="2"> <td colspan="2">
@ -677,6 +679,9 @@ $(document).ready(function() {
?> ?>
</td> </td>
</tr> </tr>
<?php
}
?>
<tr> <tr>
<td></td> <td></td>
<td><input type="submit" class="btn" value="<?php printMLText("checkin_document")?>"></td> <td><input type="submit" class="btn" value="<?php printMLText("checkin_document")?>"></td>

View File

@ -686,9 +686,9 @@ if(!is_writeable($settings->_configFilePath)) {
</select> </select>
</td> </td>
</tr> </tr>
<tr title="<?php printMLText("settings_enableAcknowledgeWorkflow_desc");?>"> <tr title="<?php printMLText("settings_enableReceiptWorkflow_desc");?>">
<td><?php printMLText("settings_enableAcknowledgeWorkflow");?>:</td> <td><?php printMLText("settings_enableReceiptWorkflow");?>:</td>
<td><input name="enableAcknowledgeWorkflow" type="checkbox" <?php if ($settings->_enableAcknowledgeWorkflow) echo "checked" ?> /></td> <td><input name="enableReceiptWorkflow" type="checkbox" <?php if ($settings->_enableReceiptWorkflow) echo "checked" ?> /></td>
</tr> </tr>
<tr title="<?php printMLText("settings_enableRevisionWorkflow_desc");?>"> <tr title="<?php printMLText("settings_enableRevisionWorkflow_desc");?>">
<td><?php printMLText("settings_enableRevisionWorkflow");?>:</td> <td><?php printMLText("settings_enableRevisionWorkflow");?>:</td>

View File

@ -39,6 +39,8 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
private function __myTasks() { /* {{{ */ private function __myTasks() { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enablerevisionworkflow = $this->params['enablerevisionworkflow'];
$workflowmode = $this->params['workflowmode']; $workflowmode = $this->params['workflowmode'];
$tasksinmenu = $this->params['tasksinmenu']; $tasksinmenu = $this->params['tasksinmenu'];
@ -68,6 +70,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
} }
} }
} }
if($enablereceiptworkflow)
if(!$tasksinmenu || in_array('receipt', $tasksinmenu)) { if(!$tasksinmenu || in_array('receipt', $tasksinmenu)) {
$tasks['receipt'] = array(); $tasks['receipt'] = array();
$resArr = $dms->getDocumentList('ReceiptByMe', $user); $resArr = $dms->getDocumentList('ReceiptByMe', $user);
@ -80,6 +83,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
} }
} }
} }
if($enablerevisionworkflow)
if(!$tasksinmenu || in_array('revision', $tasksinmenu)) { if(!$tasksinmenu || in_array('revision', $tasksinmenu)) {
$tasks['revision'] = array(); $tasks['revision'] = array();
$resArr = $dms->getDocumentList('ReviseByMe', $user); $resArr = $dms->getDocumentList('ReviseByMe', $user);
@ -133,6 +137,8 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
function countTasks() { /* {{{ */ function countTasks() { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enablerevisionworkflow = $this->params['enablerevisionworkflow'];
$workflowmode = $this->params['workflowmode']; $workflowmode = $this->params['workflowmode'];
$tasksinmenu = $this->params['tasksinmenu']; $tasksinmenu = $this->params['tasksinmenu'];
@ -150,8 +156,10 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
if(!$tasksinmenu || in_array('workflow', $tasksinmenu)) { if(!$tasksinmenu || in_array('workflow', $tasksinmenu)) {
$tasks['workflow'] = $dms->countTasks('WorkflowByMe', $user); $tasks['workflow'] = $dms->countTasks('WorkflowByMe', $user);
} }
if($enablereceiptworkflow)
if(!$tasksinmenu || in_array('receipt', $tasksinmenu)) if(!$tasksinmenu || in_array('receipt', $tasksinmenu))
$tasks['receipt'] = $dms->countTasks('ReceiptByMe', $user); $tasks['receipt'] = $dms->countTasks('ReceiptByMe', $user);
if($enablerevisionworkflow)
if(!$tasksinmenu || in_array('revision', $tasksinmenu)) if(!$tasksinmenu || in_array('revision', $tasksinmenu))
$tasks['revision'] = $dms->countTasks('ReviseByMe', $user); $tasks['revision'] = $dms->countTasks('ReviseByMe', $user);
if(!$tasksinmenu || in_array('needscorrection', $tasksinmenu)) if(!$tasksinmenu || in_array('needscorrection', $tasksinmenu))

View File

@ -146,6 +146,7 @@ console.log(element);
$enableadminrevapp = $this->params['enableadminrevapp']; $enableadminrevapp = $this->params['enableadminrevapp'];
$enableownerrevapp = $this->params['enableownerrevapp']; $enableownerrevapp = $this->params['enableownerrevapp'];
$enableselfrevapp = $this->params['enableselfrevapp']; $enableselfrevapp = $this->params['enableselfrevapp'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enableselfreceipt = $this->params['enableselfreceipt']; $enableselfreceipt = $this->params['enableselfreceipt'];
$dropfolderdir = $this->params['dropfolderdir']; $dropfolderdir = $this->params['dropfolderdir'];
$workflowmode = $this->params['workflowmode']; $workflowmode = $this->params['workflowmode'];
@ -716,6 +717,7 @@ console.log(element);
</tr> </tr>
<?php <?php
} }
if($enablereceiptworkflow) {
?> ?>
<tr> <tr>
<td colspan="2"> <td colspan="2">
@ -787,6 +789,9 @@ console.log(element);
?> ?>
</td> </td>
</tr> </tr>
<?php
}
?>
<tr> <tr>
<td></td> <td></td>
<td><input type="submit" class="btn" value="<?php printMLText("update_document")?>"></td> <td><input type="submit" class="btn" value="<?php printMLText("update_document")?>"></td>

View File

@ -433,6 +433,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
$viewonlinefiletypes = $this->params['viewonlinefiletypes']; $viewonlinefiletypes = $this->params['viewonlinefiletypes'];
$enableownerrevapp = $this->params['enableownerrevapp']; $enableownerrevapp = $this->params['enableownerrevapp'];
$enableownerreceipt = $this->params['enableownerreceipt']; $enableownerreceipt = $this->params['enableownerreceipt'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enablerevisionworkflow = $this->params['enablerevisionworkflow'];
$workflowmode = $this->params['workflowmode']; $workflowmode = $this->params['workflowmode'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$previewwidthlist = $this->params['previewWidthList']; $previewwidthlist = $this->params['previewWidthList'];
@ -666,11 +668,11 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if($accessop->mayOverrideStatus($document)) { if($accessop->mayOverrideStatus($document)) {
print "<li>".$this->html_link('OverrideContentStatus', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-align-justify\"></i>".getMLText("change_status"), false, true)."</li>"; print "<li>".$this->html_link('OverrideContentStatus', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-align-justify\"></i>".getMLText("change_status"), false, true)."</li>";
} }
if($accessop->check_controller_access('SetRecipients')) if($enablereceiptworkflow && $accessop->check_controller_access('SetRecipients'))
if($accessop->maySetRecipients($document)) { if($accessop->maySetRecipients($document)) {
print "<li>".$this->html_link('SetRecipients', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-check\"></i>".getMLText("change_recipients"), false, true)."</li>"; print "<li>".$this->html_link('SetRecipients', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-check\"></i>".getMLText("change_recipients"), false, true)."</li>";
} }
if($accessop->check_controller_access('SetRevisors')) if($enablerevisionworkflow && $accessop->check_controller_access('SetRevisors'))
if($accessop->maySetRevisors($document)) { if($accessop->maySetRevisors($document)) {
print "<li>".$this->html_link('SetRevisors', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-refresh\"></i>".getMLText("change_revisors"), false, true)."</li>"; print "<li>".$this->html_link('SetRevisors', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-refresh\"></i>".getMLText("change_revisors"), false, true)."</li>";
} }