Merge branch 'seeddms-5.1.x' into seeddms-6.0.x

This commit is contained in:
Uwe Steinmann 2018-03-27 18:07:08 +02:00
commit c0215ffef3
3 changed files with 91 additions and 55 deletions

View File

@ -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);

View File

@ -1003,7 +1003,7 @@ $(document).ready(function() { /* {{{ */
});
}); /* }}} */
var approval_count, review_count, receipt_count, revision_count;
var approval_count, review_count, receipt_count, revision_count, workflow_count;
var checkTasks = function() {
$.ajax({url: '../out/out.Tasks.php',
type: 'GET',
@ -1011,15 +1011,17 @@ $(document).ready(function() { /* {{{ */
data: {action: 'counttasks'},
success: function(data) {
if(data) {
if(approval_count != data.data.approval ||
review_count != data.data.review ||
receipt_count != data.data.receipt ||
revision_count != data.data.revision) {
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.receipt != 'undefined' && receipt_count != data.data.receipt.length) ||
(typeof data.data.revision != 'undefined' && revision_count != data.data.revision.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;
review_count = data.data.review;
receipt_count = data.data.receipt;
revision_count = data.data.revision;
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0;
review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0;
receipt_count = typeof data.data.receipt != 'undefined' ? data.data.receipt.length : 0;
revision_count = typeof data.data.revision != 'undefined' ? data.data.revision.length : 0;
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0;
}
}
},

View File

@ -39,67 +39,87 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
private function __myTasks() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$workflowmode = $this->params['workflowmode'];
$tasksinmenu = $this->params['tasksinmenu'];
if(!$tasksinmenu || in_array('approval', $tasksinmenu)) {
$tasks['approval'] = 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']);
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval')
if(!$tasksinmenu || in_array('approval', $tasksinmenu)) {
$tasks['approval'] = 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']);
}
}
}
}
}
if(!$tasksinmenu || in_array('review', $tasksinmenu)) {
$tasks['review'] = array();
$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']);
if($workflowmode == 'traditional')
if(!$tasksinmenu || in_array('review', $tasksinmenu)) {
$tasks['review'] = array();
$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']);
}
}
}
}
}
if(!$tasksinmenu || in_array('receipt', $tasksinmenu)) {
$tasks['receipt'] = array();
$resArr = $dms->getDocumentList('ReceiptByMe', $user);
if($resArr) {
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$tasks['receipt'][] = array('id'=>$res['id'], 'name'=>$res['name']);
if($workflowmode == 'traditional')
if(!$tasksinmenu || in_array('receipt', $tasksinmenu)) {
$tasks['receipt'] = array();
$resArr = $dms->getDocumentList('ReceiptByMe', $user);
if($resArr) {
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$tasks['receipt'][] = array('id'=>$res['id'], 'name'=>$res['name']);
}
}
}
}
}
if(!$tasksinmenu || in_array('revision', $tasksinmenu)) {
$tasks['revision'] = array();
$resArr = $dms->getDocumentList('ReviseByMe', $user);
if($resArr) {
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$tasks['revision'][] = array('id'=>$res['id'], 'name'=>$res['name']);
if($workflowmode == 'traditional')
if(!$tasksinmenu || in_array('revision', $tasksinmenu)) {
$tasks['revision'] = array();
$resArr = $dms->getDocumentList('ReviseByMe', $user);
if($resArr) {
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$tasks['revision'][] = array('id'=>$res['id'], 'name'=>$res['name']);
}
}
}
}
}
if(!$tasksinmenu || in_array('needscorrection', $tasksinmenu)) {
$tasks['needscorrection'] = array();
$resArr = $dms->getDocumentList('NeedsCorrectionOwner', $user);
if($resArr) {
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$tasks['needscorrection'][] = array('id'=>$res['id'], 'name'=>$res['name']);
if($workflowmode == 'traditional')
if(!$tasksinmenu || in_array('needscorrection', $tasksinmenu)) {
$tasks['needscorrection'] = array();
$resArr = $dms->getDocumentList('NeedsCorrectionOwner', $user);
if($resArr) {
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$tasks['needscorrection'][] = array('id'=>$res['id'], 'name'=>$res['name']);
}
}
}
}
if($workflowmode == 'advanced')
if(!$tasksinmenu || in_array('workflow', $tasksinmenu)) {
$tasks['workflow'] = array();
$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']);
}
}
}
}
}
return $tasks;
} /* }}} */
@ -174,9 +194,11 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
$ct[] = count($tasks['revision']);
if(isset($tasks['needscorrection']))
$ct[] = count($tasks['needscorrection']);
if(isset($tasks['workflow']))
$ct[] = count($tasks['workflow']);
$content .= implode('/', $ct);
$content .= ")";
if(!empty($tasks['review']) || !empty($tasks['approval']) || !empty($tasks['receipt']) || !empty($tasks['revision']) || !empty($tasks['needscorrection'])) {
if(!empty($tasks['review']) || !empty($tasks['approval']) || !empty($tasks['receipt']) || !empty($tasks['revision']) || !empty($tasks['needscorrection']) || !empty($tasks['workflow'])) {
$content .= " <i class=\"icon-caret-down\"></i></a>\n";
$content .= " <ul class=\"dropdown-menu\" role=\"menu\">\n";
if(!empty($tasks['review'])) {
@ -212,6 +234,17 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
$content .= " </ul>\n";
$content .= " </li>\n";
}
if(!empty($tasks['workflow'])) {
$content .= " <li class=\"dropdown-submenu\">\n";
$content .= " <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">".getMLText("documents_to_trigger_workflow")."</a>\n";
$content .= " <ul class=\"dropdown-menu\" role=\"menu\">\n";
foreach($tasks['workflow'] as $t) {
$doc = $dms->getDocument($t['id']);
$content .= " <li><a href=\"../out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=workflow\">".$doc->getName()."</a></li>";
}
$content .= " </ul>\n";
$content .= " </li>\n";
}
if(!empty($tasks['revision'])) {
$content .= " <li class=\"dropdown-submenu\">\n";
$content .= " <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">".getMLText("documents_to_revise")."</a>\n";