diff --git a/workflow/engine/classes/model/ListInbox.php b/workflow/engine/classes/model/ListInbox.php index e227292b0..da27eb5d5 100644 --- a/workflow/engine/classes/model/ListInbox.php +++ b/workflow/engine/classes/model/ListInbox.php @@ -104,27 +104,45 @@ class ListInbox extends BaseListInbox $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->remove($data['APP_UID'], $data['USR_UID'], $data['DEL_INDEX']); + //Update + //Update - SET + $criteriaSet = new Criteria("workflow"); + $criteriaSet->add(ListParticipatedLastPeer::USR_UID, $data["USR_UID"]); + //Update - WHERE $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL); - $criteriaWhere->add(ListParticipatedLastPeer::USR_UID, 'SELF_SERVICES', Criteria::EQUAL); + $criteriaWhere->add(ListParticipatedLastPeer::USR_UID, "SELF_SERVICES", Criteria::EQUAL); $criteriaWhere->add(ListParticipatedLastPeer::DEL_INDEX, $data["DEL_INDEX"], Criteria::EQUAL); - //Update - SET - $criteriaSet = new Criteria("workflow"); - $criteriaSet->add(ListParticipatedLastPeer::USR_UID, $data['USR_UID']); BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); + //Update $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->refresh($data); $users = new Users(); $users->refreshTotal($data['USR_UID'], 'add', 'participated'); + } else { + if (isset($data["APP_UID"]) && isset($data["USER_UID"]) && isset($data["DEL_INDEX"]) && isset($data["APP_TITLE"])) { + //Update + //Update - SET + $criteriaSet = new Criteria("workflow"); + $criteriaSet->add(ListParticipatedLastPeer::APP_TITLE, $data["APP_TITLE"]); + + //Update - WHERE + $criteriaWhere = new Criteria("workflow"); + $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL); + $criteriaWhere->add(ListParticipatedLastPeer::USR_UID, $data["USER_UID"], Criteria::EQUAL); + $criteriaWhere->add(ListParticipatedLastPeer::DEL_INDEX, $data["DEL_INDEX"], Criteria::EQUAL); + + $result = BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); + } } if((array_key_exists('TAS_UID', $data) && isset($data['TAS_UID'])) && (array_key_exists('TAS_UID', $data) && isset($data['PRO_UID'])) && isset($data['APP_UID'])) { $data['DEL_PRIORITY'] = $this->getTaskPriority($data['TAS_UID'], $data['PRO_UID'], $data["APP_UID"]); } - + $con = Propel::getConnection( ListInboxPeer::DATABASE_NAME ); try { $con->begin(); @@ -206,7 +224,7 @@ class ListInbox extends BaseListInbox if (isset($data['DEL_TASK_DUE_DATE'])) { $data['DEL_DUE_DATE'] = $data['DEL_TASK_DUE_DATE']; } - + if(!isset($data['DEL_DUE_DATE'])) { $filters = array("APP_UID" => $data["APP_UID"], "DEL_INDEX" => $data['DEL_INDEX']); $data['DEL_DUE_DATE'] = $this->getAppDelegationInfo($filters,'DEL_TASK_DUE_DATE'); @@ -257,8 +275,8 @@ class ListInbox extends BaseListInbox $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TAS_TITLE'] = $aRow['CON_VALUE']; - - + + $data['DEL_PRIORITY'] = $this->getTaskPriority($data['TAS_UID'], $data['PRO_UID'], $data["APP_UID"]); @@ -487,7 +505,7 @@ class ListInbox extends BaseListInbox } return $data; } - + public function getTaskPriority($taskUid, $proUid, $appUid) { $criteria = new Criteria(); @@ -509,7 +527,7 @@ class ListInbox extends BaseListInbox } return $priority != "" ? $priority : 3; } - + public function getAppDelegationInfo($filters, $fieldName) { $criteria = new Criteria(); @@ -521,7 +539,7 @@ class ListInbox extends BaseListInbox $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); - return isset($aRow[$fieldName]) ? $aRow[$fieldName] : NULL; + return isset($aRow[$fieldName]) ? $aRow[$fieldName] : NULL; } }