diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 2e930ddc8..17d63d489 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -1111,15 +1111,22 @@ class Cases $criteria = new Criteria("workflow"); $criteria->add(AppSolrQueuePeer::APP_UID, $sAppUid); AppSolrQueuePeer::doDelete($criteria); - //Before delete verify if is a child case - $oCriteria2 = new Criteria('workflow'); - $oCriteria2->add(SubApplicationPeer::APP_UID, $sAppUid); - $oCriteria2->add(SubApplicationPeer::SA_STATUS, 'ACTIVE'); - if (SubApplicationPeer::doCount($oCriteria2) > 0) { - G::LoadClass('derivation'); - $oDerivation = new Derivation(); - $oDerivation->verifyIsCaseChild($sAppUid); + + try { + //Before delete verify if is a child case + $oCriteria2 = new Criteria('workflow'); + $oCriteria2->add(SubApplicationPeer::APP_UID, $sAppUid); + $oCriteria2->add(SubApplicationPeer::SA_STATUS, 'ACTIVE'); + + if (SubApplicationPeer::doCount($oCriteria2) > 0) { + G::LoadClass('derivation'); + $oDerivation = new Derivation(); + $oDerivation->verifyIsCaseChild($sAppUid); + } + } catch(Exception $e) { + Bootstrap::registerMonolog('DeleteCases', 200, 'Error in sub-process when trying to route a child case related to the case', ['application_uid' => $sAppUid, 'error' => $e->getMessage()], SYS_SYS, 'processmaker.log'); } + //Delete the registries in the table SUB_APPLICATION $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(SubApplicationPeer::APP_UID, $sAppUid); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php index a73f8f819..13e45a3ff 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php @@ -7,8 +7,8 @@ use G; class NotificationDevice { - - + + public function checkMobileNotifications() { $conf = \System::getSystemConfiguration('', '', SYS_SYS); @@ -18,7 +18,7 @@ class NotificationDevice } return $activeNotifications; } - + /** * Post Create register device with userUid * @@ -166,7 +166,7 @@ class NotificationDevice $response = array(); $typeList = 'todo'; $arrayTaskUser = array(); - switch ($nextDel["TAS_ASSIGN_TYPE"]) { + switch ((array_key_exists('TAS_ASSIGN_TYPE', $nextDel))? $nextDel['TAS_ASSIGN_TYPE'] : '') { case "SELF_SERVICE": $arrayTaskUser = $this->getTaskUserSelfService($nextDel["TAS_UID"], $appFields); $typeList = 'unassigned';