From d0177269848245df9cf8ab112ab1e22033e9dcf0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 27 Mar 2018 17:47:58 +0200 Subject: [PATCH] count workflows to trigger if workflowmode='advanced' --- out/out.Tasks.php | 1 + styles/bootstrap/application.js | 12 ++--- views/bootstrap/class.Tasks.php | 79 ++++++++++++++++++++++++--------- 3 files changed, 66 insertions(+), 26 deletions(-) diff --git a/out/out.Tasks.php b/out/out.Tasks.php index 0df3d3763..3c0df220e 100644 --- a/out/out.Tasks.php +++ b/out/out.Tasks.php @@ -32,6 +32,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { + $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('timeout', $settings->_cmdTimeout); $view($_GET); diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 9fd2192ad..dcbf9aba9 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -1003,7 +1003,7 @@ $(document).ready(function() { /* {{{ */ }); }); /* }}} */ - var approval_count, review_count, receipt_count, revision_count; + var approval_count, review_count, workflow_count; var checkTasks = function() { $.ajax({url: '../out/out.Tasks.php', type: 'GET', @@ -1011,11 +1011,13 @@ $(document).ready(function() { /* {{{ */ data: {action: 'mytasks'}, success: function(data) { if(data) { - if(approval_count != data.data.approval.length || - review_count != data.data.review.length) { + if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) || + (typeof data.data.review != 'undefined' && review_count != data.data.review.length) || + (typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) { $("#menu-tasks > ul > li").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') - approval_count = data.data.approval.length; - review_count = data.data.review.length; + approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0; + review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0; + workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0; } } }, diff --git a/views/bootstrap/class.Tasks.php b/views/bootstrap/class.Tasks.php index 32eafd31a..4ab43fe2f 100644 --- a/views/bootstrap/class.Tasks.php +++ b/views/bootstrap/class.Tasks.php @@ -39,25 +39,42 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style { private function __myTasks() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; - $tasks['review'] = array(); - $tasks['approval'] = array(); - $tasks['receipt'] = array(); - $tasks['revision'] = array(); - $resArr = $dms->getDocumentList('ApproveByMe', $user); - if($resArr) { - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { - $tasks['approval'][] = array('id'=>$res['id'], 'name'=>$res['name']); + $workflowmode = $this->params['workflowmode']; + if($workflowmode == 'traditional') + $tasks['review'] = array(); + elseif($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') + $tasks['approval'] = array(); + elseif($workflowmode == 'advanced') + $tasks['workflow'] = array(); + + if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { + $resArr = $dms->getDocumentList('ApproveByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['approval'][] = array('id'=>$res['id'], 'name'=>$res['name']); + } } } - } - $resArr = $dms->getDocumentList('ReviewByMe', $user); - if($resArr) { - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { - $tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']); + } elseif($workflowmode == 'traditional') { + $resArr = $dms->getDocumentList('ReviewByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']); + } + } + } + } elseif($workflowmode == 'advanced') { + $resArr = $dms->getDocumentList('WorkflowByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['workflow'][] = array('id'=>$res['id'], 'name'=>$res['name']); + } } } } @@ -104,11 +121,20 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style { $content = ''; // $content .= "