From 42b2c675d06048f70fd82e244798cc22740e200f Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Wed, 22 Mar 2017 15:09:21 -0400 Subject: [PATCH 1/4] HOR-2897 --- workflow/engine/classes/class.pmFunctions.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/workflow/engine/classes/class.pmFunctions.php b/workflow/engine/classes/class.pmFunctions.php index f3cfb01a4..c608d430b 100644 --- a/workflow/engine/classes/class.pmFunctions.php +++ b/workflow/engine/classes/class.pmFunctions.php @@ -30,8 +30,12 @@ //////////////////////////////////////////////////// use ProcessMaker\Util\ElementTranslation; -if (! class_exists( 'PMScript' )) { - G::LoadClass( 'pmScript' ); +if (!class_exists('Monolog\Logger')) { + Bootstrap::initVendors(); +} + +if (!class_exists('PMScript')) { + G::LoadClass('pmScript'); } /** From 99fd471b0e378ee9d4f87301c1011bcd1f1ec2fc Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Wed, 22 Mar 2017 15:24:51 -0400 Subject: [PATCH 2/4] HOR-2901 --- workflow/engine/classes/model/ListParticipatedLast.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/workflow/engine/classes/model/ListParticipatedLast.php b/workflow/engine/classes/model/ListParticipatedLast.php index 63dc369b2..6407718c5 100644 --- a/workflow/engine/classes/model/ListParticipatedLast.php +++ b/workflow/engine/classes/model/ListParticipatedLast.php @@ -297,6 +297,15 @@ class ListParticipatedLast extends BaseListParticipatedLast $aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'".$category."'"); $criteria->addJoinMC($aConditions, Criteria::INNER_JOIN); } + + //Those filters: $newestthan, $oldestthan is used from mobile GET /light/participated + if ($newestthan != '') { + $criteria->add( $criteria->getNewCriterion( ListParticipatedLastPeer::DEL_DELEGATE_DATE, $newestthan, Criteria::GREATER_THAN )); + } + + if ($oldestthan != '') { + $criteria->add( $criteria->getNewCriterion( ListParticipatedLastPeer::DEL_DELEGATE_DATE, $oldestthan, Criteria::LESS_THAN )); + } } public function loadList($usr_uid, $filters = array(), $callbackRecord = null, $appUid = '') From bc68260e9c30e6e62c6dfcac27b0a580a7015fe0 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Wed, 22 Mar 2017 20:40:34 -0400 Subject: [PATCH 3/4] HOR-2901 --- workflow/engine/classes/class.derivation.php | 18 +++++++++++++++++- .../engine/classes/model/AppDelegation.php | 5 ++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 6433852fa..16589fc30 100644 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -1068,7 +1068,23 @@ class Derivation switch ($routeType) { case "SEC-JOIN": $arrayOpenThread = ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance)? $this->case->searchOpenPreviousTasks($currentDelegation["TAS_UID"], $currentDelegation["APP_UID"]) : array(); - $arraySiblings = $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"]); + + if ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance && $nextDel["ROU_PREVIOUS_TYPE"] == 'SEC-JOIN') { + $appDelegation = new AppDelegation(); + $arraySiblings = $appDelegation->getAllTasksBeforeSecJoin( + $nextDel["ROU_PREVIOUS_TASK"], + $currentDelegation["APP_UID"], + $appFields['DEL_PREVIOUS'], + 'OPEN' + ); + } else { + $arraySiblings = $this->case->getOpenSiblingThreads( + $nextDel["TAS_UID"], + $currentDelegation["APP_UID"], + $currentDelegation["DEL_INDEX"], + $currentDelegation["TAS_UID"] + ); + } if(is_array($arrayOpenThread) && is_array($arraySiblings)){ $arrayOpenThread = array_merge($arrayOpenThread, $arraySiblings); } diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php index 6c95d0e57..d83282b14 100644 --- a/workflow/engine/classes/model/AppDelegation.php +++ b/workflow/engine/classes/model/AppDelegation.php @@ -851,7 +851,7 @@ class AppDelegation extends BaseAppDelegation * @param string $sAppUid * @return array $index */ - public static function getAllTasksBeforeSecJoin($nextTaskUid, $sAppUid, $sDelPrevious){ + public static function getAllTasksBeforeSecJoin($nextTaskUid, $sAppUid, $sDelPrevious, $threadStatus = ''){ $criteriaR = new Criteria('workflow'); $criteriaR->addSelectColumn(AppDelegationPeer::DEL_INDEX); $criteriaR->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS); @@ -860,6 +860,9 @@ class AppDelegation extends BaseAppDelegation $criteriaR->add(RoutePeer::ROU_TYPE, 'SEC-JOIN', Criteria::EQUAL); $criteriaR->add(AppDelegationPeer::APP_UID, $sAppUid, Criteria::EQUAL); $criteriaR->add(AppDelegationPeer::DEL_PREVIOUS, $sDelPrevious, Criteria::EQUAL); + if (!empty($threadStatus)) { + $criteriaR->add(AppDelegationPeer::DEL_THREAD_STATUS, $threadStatus, Criteria::EQUAL); + } $rsCriteriaR = RoutePeer::doSelectRS($criteriaR); $rsCriteriaR->setFetchmode(ResultSet::FETCHMODE_ASSOC); $index = array(); From f1d2bdc7ab5f5bac66c8f1ac129b69fc1dbcec54 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Wed, 22 Mar 2017 20:50:14 -0400 Subject: [PATCH 4/4] update files --- workflow/engine/classes/class.derivation.php | 18 +----------------- .../engine/classes/model/AppDelegation.php | 5 +---- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 16589fc30..6433852fa 100644 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -1068,23 +1068,7 @@ class Derivation switch ($routeType) { case "SEC-JOIN": $arrayOpenThread = ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance)? $this->case->searchOpenPreviousTasks($currentDelegation["TAS_UID"], $currentDelegation["APP_UID"]) : array(); - - if ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance && $nextDel["ROU_PREVIOUS_TYPE"] == 'SEC-JOIN') { - $appDelegation = new AppDelegation(); - $arraySiblings = $appDelegation->getAllTasksBeforeSecJoin( - $nextDel["ROU_PREVIOUS_TASK"], - $currentDelegation["APP_UID"], - $appFields['DEL_PREVIOUS'], - 'OPEN' - ); - } else { - $arraySiblings = $this->case->getOpenSiblingThreads( - $nextDel["TAS_UID"], - $currentDelegation["APP_UID"], - $currentDelegation["DEL_INDEX"], - $currentDelegation["TAS_UID"] - ); - } + $arraySiblings = $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"]); if(is_array($arrayOpenThread) && is_array($arraySiblings)){ $arrayOpenThread = array_merge($arrayOpenThread, $arraySiblings); } diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php index d83282b14..6c95d0e57 100644 --- a/workflow/engine/classes/model/AppDelegation.php +++ b/workflow/engine/classes/model/AppDelegation.php @@ -851,7 +851,7 @@ class AppDelegation extends BaseAppDelegation * @param string $sAppUid * @return array $index */ - public static function getAllTasksBeforeSecJoin($nextTaskUid, $sAppUid, $sDelPrevious, $threadStatus = ''){ + public static function getAllTasksBeforeSecJoin($nextTaskUid, $sAppUid, $sDelPrevious){ $criteriaR = new Criteria('workflow'); $criteriaR->addSelectColumn(AppDelegationPeer::DEL_INDEX); $criteriaR->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS); @@ -860,9 +860,6 @@ class AppDelegation extends BaseAppDelegation $criteriaR->add(RoutePeer::ROU_TYPE, 'SEC-JOIN', Criteria::EQUAL); $criteriaR->add(AppDelegationPeer::APP_UID, $sAppUid, Criteria::EQUAL); $criteriaR->add(AppDelegationPeer::DEL_PREVIOUS, $sDelPrevious, Criteria::EQUAL); - if (!empty($threadStatus)) { - $criteriaR->add(AppDelegationPeer::DEL_THREAD_STATUS, $threadStatus, Criteria::EQUAL); - } $rsCriteriaR = RoutePeer::doSelectRS($criteriaR); $rsCriteriaR->setFetchmode(ResultSet::FETCHMODE_ASSOC); $index = array();