Example #1
0
     $oStepTrigger->create($aFields);
     $aFields['ST_CONDITION'] = $aData['ST_CONDITION'];
     $aFields['ST_POSITION'] = $oStepTrigger->getNextPosition($aData['STEP_UID'], $aData['ST_TYPE']) - 1;
     $oStepTrigger->update($aFields);
     break;
 case 'editTriggerCondition':
     require_once 'classes/model/Step.php';
     require_once 'classes/model/Triggers.php';
     $oStep = new Step();
     $aFields['STEP_UID'] = $aData['sStep'];
     $aFields['TRI_UID'] = $aData['sTrigger'];
     $aFields['ST_TYPE'] = $aData['sType'];
     $Trigger = new Triggers();
     $aRow = $Trigger->load($aData['sTrigger']);
     $oStepTrigger = new StepTrigger();
     $aFields = $oStepTrigger->load($aFields['STEP_UID'], $_SESSION['TASK'], $aFields['TRI_UID'], $aFields['ST_TYPE']);
     $aFields['action'] = 'saveTriggerCondition';
     $aFields['PROCESS'] = $aRow['PRO_UID'];
     global $G_PUBLISH;
     G::LoadClass('xmlfield_InputPM');
     $G_PUBLISH = new Publisher();
     $G_PUBLISH->AddContent('xmlform', 'xmlform', 'steps/triggersCondition_Edit', '', $aFields, '../steps/steps_Ajax');
     G::RenderPage('publish', 'raw');
     break;
 case 'saveTriggerCondition':
     $oStepTrigger = new StepTrigger();
     $oStepTrigger->update(array('STEP_UID' => $aData['STEP_UID'], 'TAS_UID' => $_SESSION['TASK'], 'TRI_UID' => $aData['TRI_UID'], 'ST_TYPE' => $aData['ST_TYPE'], 'ST_CONDITION' => $aData['ST_CONDITION']));
     break;
 case 'upTrigger':
     $aData['iPosition'] = (int) $aData['iPosition'];
     $oStepTrigger = new StepTrigger();
Example #2
0
 /**
  * Delete Trigger of a Step
  *
  * @param string $stepUid    Unique id of Step
  * @param string $type       Type (BEFORE, AFTER, BEFORE_ASSIGNMENT, BEFORE_ROUTING, AFTER_ROUTING)
  * @param string $taskUid    Unique id of Task
  * @param string $triggerUid Unique id of Trigger
  *
  * return void
  */
 public function delete($stepUid, $type, $taskUid, $triggerUid)
 {
     try {
         if ($stepUid == "") {
             switch ($type) {
                 case "BEFORE_ASSIGNMENT":
                     $stepUid = "-1";
                     $type = "BEFORE";
                     break;
                 case "BEFORE_ROUTING":
                     $stepUid = "-2";
                     $type = "BEFORE";
                     break;
                 case "AFTER_ROUTING":
                     $stepUid = "-2";
                     $type = "AFTER";
                     break;
             }
         }
         //Verify data
         if (!$this->existsRecord($stepUid, $type, $taskUid, $triggerUid)) {
             throw new \Exception(\G::LoadTranslation("ID_RECORD_DOES_NOT_EXIST_IN_TABLE", array($stepUid . ", " . $type . ", " . $taskUid . ", " . $triggerUid, "STEP_TRIGGER")));
         }
         //Get position
         $stepTrigger = new \StepTrigger();
         $arrayData = $stepTrigger->load($stepUid, $taskUid, $triggerUid, $type);
         $position = (int) $arrayData["ST_POSITION"];
         //Delete
         $stepTrigger = new \StepTrigger();
         $stepTrigger->reOrder($stepUid, $taskUid, $type, $position);
         $stepTrigger->remove($stepUid, $taskUid, $triggerUid, $type);
     } catch (\Exception $e) {
         throw $e;
     }
 }