Merge branch 'develop' of bitbucket.org:colosa/processmaker into bugfix/PMCORE-1335

This commit is contained in:
Roly Rudy Gutierrez Pinto
2020-08-31 08:51:26 -04:00
18 changed files with 473 additions and 85 deletions

View File

@@ -1,6 +1,7 @@
<?php
use Illuminate\Support\Facades\Log;
use ProcessMaker\BusinessModel\Task as BusinessModelTask;
use ProcessMaker\BusinessModel\User as BusinessModelUser;
use ProcessMaker\BusinessModel\WebEntryEvent;
use ProcessMaker\Cases\CasesTrait;
@@ -110,14 +111,16 @@ class Cases
}
/**
* get user starting tasks
* @param string $sUIDUser
* @return $rows
* Get user's starting tasks
*
* @param string $uidUser
* @param bool $withoutDummyTasks
* @return array
*/
public function getStartCases($sUIDUser = '')
public function getStartCases($uidUser = '', $withoutDummyTasks = false)
{
$rows[] = array('uid' => 'char', 'value' => 'char');
$tasks = array();
$rows = [['uid' => 'char', 'value' => 'char']];
$tasks = [];
$c = new Criteria();
$c->clearSelectColumns();
@@ -127,7 +130,7 @@ class Cases
$c->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN);
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
$c->add(TaskPeer::TAS_START, 'TRUE');
$c->add(TaskUserPeer::USR_UID, $sUIDUser);
$c->add(TaskUserPeer::USR_UID, $uidUser);
$c->add(TaskUserPeer::TU_TYPE, 1);
$rs = TaskPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -142,7 +145,7 @@ class Cases
//check groups
$group = new Groups();
$aGroups = $group->getActiveGroupsForAnUser($sUIDUser);
$groups = $group->getActiveGroupsForAnUser($uidUser);
$c = new Criteria();
$c->clearSelectColumns();
@@ -152,7 +155,7 @@ class Cases
$c->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN);
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
$c->add(TaskPeer::TAS_START, 'TRUE');
$c->add(TaskUserPeer::USR_UID, $aGroups, Criteria::IN);
$c->add(TaskUserPeer::USR_UID, $groups, Criteria::IN);
$c->add(TaskUserPeer::TU_TYPE, 1);
$rs = TaskPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -172,17 +175,21 @@ class Cases
$c->addSelectColumn(ProcessPeer::PRO_TITLE);
$c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN);
$c->add(TaskPeer::TAS_UID, $tasks, Criteria::IN);
// Include or not the dummy tasks
if ($withoutDummyTasks) {
$c->add(TaskPeer::TAS_TYPE, BusinessModelTask::getDummyTypes(), Criteria::NOT_IN);
}
$c->addAscendingOrderByColumn(ProcessPeer::PRO_TITLE);
$c->addAscendingOrderByColumn(TaskPeer::TAS_TITLE);
$rs = TaskPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
while ($row = $rs->getRow()) {
$rows[] = array(
$rows[] = [
'uid' => $row['TAS_UID'],
'value' => $row['PRO_TITLE'] . ' (' . $row['TAS_TITLE'] . ')',
'pro_uid' => $row['PRO_UID']
);
];
$rs->next();
$row = $rs->getRow();
}