filter docs in a task list through a hook function

This commit is contained in:
Uwe Steinmann 2019-01-31 11:23:16 +01:00
parent a03288ccf3
commit 600a1c00b7

View File

@ -50,33 +50,51 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
$resArr = $dms->getDocumentList('ApproveByMe', $user);
if($resArr) {
$docs = array();
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']);
$docs[] = $document;
// $tasks['approval'][] = array('id'=>$res['id'], 'name'=>$res['name']);
}
}
if($this->hasHook('filterApprovalTaskList'))
$docs = $this->callHook('filterApprovalTaskList', $docs);
foreach($docs as $doc)
$tasks['approval'][] = array('id'=>$doc->getId(), 'name'=>$doc->getName());
}
if($workflowmode == 'traditional') {
$resArr = $dms->getDocumentList('ReviewByMe', $user);
if($resArr) {
$docs = array();
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']);
$docs[] = $document;
// $tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']);
}
}
if($this->hasHook('filterReviewTaskList'))
$docs = $this->callHook('filterReviewTaskList', $docs);
foreach($docs as $doc)
$tasks['review'][] = array('id'=>$doc->getId(), 'name'=>$doc->getName());
}
}
} elseif($workflowmode == 'advanced') {
$resArr = $dms->getDocumentList('WorkflowByMe', $user);
if($resArr) {
$docs = array();
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']);
$docs[] = $document;
// $tasks['workflow'][] = array('id'=>$res['id'], 'name'=>$res['name']);
}
}
if($this->hasHook('filterWorkflowTaskList'))
$docs = $this->callHook('filterWorkflowTaskList', $docs);
foreach($docs as $doc)
$tasks['workflow'][] = array('id'=>$doc->getId(), 'name'=>$doc->getName());
}
}
return $tasks;