function removeTest($aTestData, $aFields) { $oTaskUser = new TaskUser(); try { return $oTaskUser->remove($aFields['TAS_UID'], $aFields['USR_UID'], $aFields['TU_TYPE'], $aFields['TU_RELATION']); } catch (Exception $oError) { return $oError; } }
/** * Get Task User Rows from an array of data * * @param array $aTaskUser * @return array $aStepTrigger */ public function createTaskUserRows ($aTaskUser) { if (is_array($aTaskUser)) { foreach ($aTaskUser as $key => $row) { $oTaskUser = new TaskUser(); if ($oTaskUser->TaskUserExists( $row['TAS_UID'], $row['USR_UID'], $row['TU_TYPE'], $row['TU_RELATION'] )) { $oTaskUser->remove( $row['TAS_UID'], $row['USR_UID'], $row['TU_TYPE'], $row['TU_RELATION'] ); } $res = $oTaskUser->create( $row ); } } return; }
/** * Remove Actors from Task * * @param $param */ public function removeActorsTask($param) { require_once 'classes/model/TaskUser.php'; $oTaskUser = new TaskUser(); $USR_UIDS = explode(',', $param->USR_UID); $TU_RELATIONS = explode(',', $param->TU_RELATION); $TU_TYPE = $param->TU_TYPE; foreach ($USR_UIDS as $i => $USR_UID) { if ($TU_RELATIONS[$i] == 1) { $oTaskUser->remove($param->TAS_UID, $USR_UID, $TU_TYPE, 1); } else { $oTaskUser->remove($param->TAS_UID, $USR_UID, $TU_TYPE, 2); } } $this->success = true; $this->msg = ''; }
public function removeUsersTask($param) { try { require_once 'classes/model/TaskUser.php'; $oTaskUser = new TaskUser(); $USR_UIDS = explode(',', $param['USR_UID']); $TU_RELATIONS = explode(',', $param['TU_RELATION']); $TU_TYPE = 1; foreach ($USR_UIDS as $i => $USR_UID) { if ($TU_RELATIONS[$i] == 1) { $oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 1); } else { $oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 2); } } $result->success = true; $result->msg = ''; } catch (Exception $e) { $result->success = false; $result->msg = $e->getMessage(); } print G::json_encode($result); }
/** * Of to assign a group from a task * @param string $sTaskUID * @param string $sGroupUID * @param integer $iType * @return boolean */ public function ofToAssignGroup($sTaskUID = '', $sGroupUID = '', $iType = 0) { try { $oTaskUser = new TaskUser(); $oCriteria = new Criteria('workflow'); $oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID); $oDataset = GroupUserPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aGroupUser = $oDataset->getRow()) { $oCriteria = new Criteria('workflow'); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID); $oCriteria->add(TaskUserPeer::USR_UID, $aGroupUser['USR_UID']); $oDataset2 = TaskUserPeer::doSelectRS($oCriteria); $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset2->next(); $aRow = $oDataset2->getRow(); if (is_array($aRow)) { $this->ofToAssignUser($sTaskUID, $aGroupUser['USR_UID'], $iType); } $oDataset->next(); } return $oTaskUser->remove($sTaskUID, $sGroupUID, $iType, 2); } catch (Exception $oError) { throw $oError; } }
/** * Of to assign a group from a task * * @param string $sTaskUID * @param string $sGroupUID * @param integer $iType * @return boolean */ public function ofToAssignGroup($sTaskUID = '', $sGroupUID = '', $iType = 0) { try { $oTaskUser = new TaskUser(); return $oTaskUser->remove($sTaskUID, $sGroupUID, $iType, 2); } catch (Exception $oError) { throw $oError; } }
/** * Update WebEntry-Event * * @param string $webEntryEventUid Unique id of WebEntry-Event * @param string $userUidUpdater Unique id of updater User * @param array $arrayData Data * * return array Return data of the WebEntry-Event updated */ public function update($webEntryEventUid, $userUidUpdater, array $arrayData) { try { //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $validator = new \ProcessMaker\BusinessModel\Validator(); $validator->throwExceptionIfDataIsNotArray($arrayData, "\$arrayData"); $validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData"); //Set data $arrayData = array_change_key_case($arrayData, CASE_UPPER); $arrayDataBackup = $arrayData; unset($arrayData["WEE_UID"]); unset($arrayData["PRJ_UID"]); unset($arrayData["WEE_WE_UID"]); unset($arrayData["WEE_WE_TAS_UID"]); //Set variables $arrayWebEntryEventData = $this->getWebEntryEvent($webEntryEventUid, true); $arrayFinalData = array_merge($arrayWebEntryEventData, $arrayData); //Verify data $this->throwExceptionIfNotExistsWebEntryEvent($webEntryEventUid, $this->arrayFieldNameForException["webEntryEventUid"]); $this->throwExceptionIfDataIsInvalid($webEntryEventUid, $arrayWebEntryEventData["PRJ_UID"], $arrayData); //Update $cnn = \Propel::getConnection("workflow"); $this->webEntryEventWebEntryUid = ""; $this->webEntryEventWebEntryTaskUid = ""; try { //WebEntry $option = "UPDATE"; if (isset($arrayData["WEE_STATUS"])) { if ($arrayData["WEE_STATUS"] == "ENABLED") { if ($arrayWebEntryEventData["WEE_STATUS"] == "DISABLED") { $option = "INSERT"; } } else { if ($arrayWebEntryEventData["WEE_STATUS"] == "ENABLED") { $option = "DELETE"; } } } switch ($option) { case "INSERT": $this->createWebEntry($arrayFinalData["PRJ_UID"], $arrayFinalData["EVN_UID"], $arrayFinalData["ACT_UID"], $arrayFinalData["DYN_UID"], $arrayFinalData["USR_UID"], $arrayFinalData["WEE_TITLE"], $arrayFinalData["WEE_DESCRIPTION"], $userUidUpdater); $arrayData["WEE_WE_UID"] = $this->webEntryEventWebEntryUid; $arrayData["WEE_WE_TAS_UID"] = $this->webEntryEventWebEntryTaskUid; break; case "UPDATE": if ($arrayWebEntryEventData["WEE_WE_UID"] != "") { $task = new \Tasks(); //Task - Step if (isset($arrayData["DYN_UID"]) && $arrayData["DYN_UID"] != $arrayWebEntryEventData["DYN_UID"]) { //Delete $step = new \Step(); $criteria = new \Criteria("workflow"); $criteria->add(\StepPeer::TAS_UID, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); $rsCriteria = \StepPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $result = $step->remove($row["STEP_UID"]); } //Add $step = new \Step(); $stepUid = $step->create(array("PRO_UID" => $arrayWebEntryEventData["PRJ_UID"], "TAS_UID" => $arrayWebEntryEventData["WEE_WE_TAS_UID"])); $result = $step->update(array("STEP_UID" => $stepUid, "STEP_TYPE_OBJ" => "DYNAFORM", "STEP_UID_OBJ" => $arrayData["DYN_UID"], "STEP_POSITION" => 1, "STEP_MODE" => "EDIT")); } //Task - User if (isset($arrayData["USR_UID"]) && $arrayData["USR_UID"] != $arrayWebEntryEventData["USR_UID"]) { //Unassign $taskUser = new \TaskUser(); $criteria = new \Criteria("workflow"); $criteria->add(\TaskUserPeer::TAS_UID, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); $rsCriteria = \TaskUserPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $result = $taskUser->remove($row["TAS_UID"], $row["USR_UID"], $row["TU_TYPE"], $row["TU_RELATION"]); } //Assign $result = $task->assignUser($arrayWebEntryEventData["WEE_WE_TAS_UID"], $arrayData["USR_UID"], 1); } //Route if (isset($arrayData["ACT_UID"]) && $arrayData["ACT_UID"] != $arrayWebEntryEventData["ACT_UID"]) { //Delete $result = $task->deleteAllRoutesOfTask($arrayWebEntryEventData["PRJ_UID"], $arrayWebEntryEventData["WEE_WE_TAS_UID"], true); //Add $workflow = \ProcessMaker\Project\Workflow::load($arrayWebEntryEventData["PRJ_UID"]); $result = $workflow->addRoute($arrayWebEntryEventData["WEE_WE_TAS_UID"], $arrayData["ACT_UID"], "SEQUENTIAL"); } //WebEntry $arrayDataAux = array(); if (isset($arrayData["DYN_UID"])) { $arrayDataAux["DYN_UID"] = $arrayData["DYN_UID"]; } if (isset($arrayData["USR_UID"])) { $arrayDataAux["USR_UID"] = $arrayData["USR_UID"]; } if (isset($arrayData["WEE_TITLE"])) { $arrayDataAux["WE_TITLE"] = $arrayData["WEE_TITLE"]; } if (isset($arrayData["WEE_DESCRIPTION"])) { $arrayDataAux["WE_DESCRIPTION"] = $arrayData["WEE_DESCRIPTION"]; } if (count($arrayDataAux) > 0) { $arrayDataAux = $this->webEntry->update($arrayWebEntryEventData["WEE_WE_UID"], $userUidUpdater, $arrayDataAux); } } break; case "DELETE": $this->deleteWebEntry($arrayWebEntryEventData["WEE_WE_UID"], $arrayWebEntryEventData["WEE_WE_TAS_UID"]); $arrayData["WEE_WE_UID"] = ""; $arrayData["WEE_WE_TAS_UID"] = ""; break; } //WebEntry-Event $webEntryEvent = \WebEntryEventPeer::retrieveByPK($webEntryEventUid); $webEntryEvent->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME); if ($webEntryEvent->validate()) { $cnn->begin(); $result = $webEntryEvent->save(); $cnn->commit(); //Set WEE_TITLE if (isset($arrayData["WEE_TITLE"])) { $result = \Content::addContent("WEE_TITLE", "", $webEntryEventUid, SYS_LANG, $arrayData["WEE_TITLE"]); } //Set WEE_DESCRIPTION if (isset($arrayData["WEE_DESCRIPTION"])) { $result = \Content::addContent("WEE_DESCRIPTION", "", $webEntryEventUid, SYS_LANG, $arrayData["WEE_DESCRIPTION"]); } //Return $arrayData = $arrayDataBackup; if (!$this->formatFieldNameInUppercase) { $arrayData = array_change_key_case($arrayData, CASE_LOWER); } return $arrayData; } else { $msg = ""; foreach ($webEntryEvent->getValidationFailures() as $validationFailure) { $msg = $msg . ($msg != "" ? "\n" : "") . $validationFailure->getMessage(); } throw new \Exception(\G::LoadTranslation("ID_REGISTRY_CANNOT_BE_UPDATED") . ($msg != "" ? "\n" . $msg : "")); } } catch (\Exception $e) { $cnn->rollback(); $this->deleteWebEntry($this->webEntryEventWebEntryUid, $this->webEntryEventWebEntryTaskUid); throw $e; } } catch (\Exception $e) { throw $e; } }