コード例 #1
0
ファイル: Trigger.php プロジェクト: emildev35/processmaker
 /**
  * @url DELETE /:prj_uid/activity/:act_uid/step/trigger/:tri_uid/:type
  *
  * @param string $tri_uid
  * @param string $act_uid
  * @param string $prj_uid
  * @param string $type    {@from body}{@choice before-assignment,before-routing,after-routing}
  */
 public function doDeleteActivityStepAssignTaskTrigger($tri_uid, $act_uid, $prj_uid, $type)
 {
     try {
         $stepTrigger = new \ProcessMaker\BusinessModel\Step\Trigger();
         $stepTrigger->delete("", strtoupper(str_replace("-", "_", $type)), $act_uid, $tri_uid);
     } catch (\Exception $e) {
         throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
     }
 }
コード例 #2
0
ファイル: Step.php プロジェクト: rrsc/processmaker
    /**
     * Delete Steps and triggers of a Task
     *
     * @param string $stepUid Unique id of Step
     * @param string $taskUid Unique id of Step
     *
     * return void
     */
    public function deleteAll($taskUid)
    {
        try {
            $step = new \Step();
            $stepTrigger = new \ProcessMaker\BusinessModel\Step\Trigger();

            $criteriaTrigger = new \Criteria("workflow");
            $criteriaTrigger->addSelectColumn(\StepTriggerPeer::STEP_UID);
            $criteriaTrigger->addSelectColumn(\StepTriggerPeer::ST_TYPE);
            $criteriaTrigger->addSelectColumn(\StepTriggerPeer::TRI_UID);
            $criteriaTrigger->add(\StepTriggerPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
            $rsCriteriaTrigger = \StepTriggerPeer::doSelectRS($criteriaTrigger);
            $rsCriteriaTrigger->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
            $rsCriteriaTrigger->next();

            while ($aRowTrigger = $rsCriteriaTrigger->getRow()) {

                $stepTrigger->delete($aRowTrigger['STEP_UID'], $aRowTrigger['ST_TYPE'], $taskUid, $aRowTrigger['TRI_UID']);
                $rsCriteriaTrigger->next();
            }

            $criteria = new \Criteria("workflow");
            $criteria->addSelectColumn(\StepPeer::STEP_UID);
            $criteria->add(\StepPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
            $rsCriteria = \StepPeer::doSelectRS($criteria);
            $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
            $rsCriteria->next();

            while ($aRow = $rsCriteria->getRow()) {
                $step->remove($aRow['STEP_UID']);
                $rsCriteria->next();
            }

        } catch (\Exception $e) {
            throw $e;
        }
    }
コード例 #3
0
ファイル: Step.php プロジェクト: emildev35/processmaker
 /**
  * @url POST /:prj_uid/activity/:act_uid/step/all
  *
  * @param string $act_uid        {@min 32}{@max 32}
  * @param string $prj_uid        {@min 32}{@max 32}
  * @param array  $request_data
  * @param string $step_type_obj  {@from body}{@choice DYNAFORM,INPUT_DOCUMENT,OUTPUT_DOCUMENT,EXTERNAL}{@required true}
  * @param string $step_uid_obj   {@from body}{@min 32}{@max 32}{@required true}
  * @param string $step_condition {@from body}
  * @param int    $step_position  {@from body}{@min 1}
  * @param string $step_mode      {@from body}{@choice EDIT,VIEW}{@required true}
  *
  * @status 201
  */
 public function doPostActivityStepAll($act_uid, $prj_uid, $request_data, $step_type_obj = "DYNAFORM", $step_uid_obj = "00000000000000000000000000000000", $step_condition = "", $step_position = 1, $step_mode = "EDIT")
 {
     try {
         $step = new \ProcessMaker\BusinessModel\Step();
         $stepTrigger = new \ProcessMaker\BusinessModel\Step\Trigger();
         $step->deleteAll($act_uid);
         foreach ($request_data as $key => $valueRequest) {
             if (array_key_exists('tri_uid', $valueRequest)) {
                 $response[] = $stepTrigger->createAll("", $valueRequest["st_type"], $act_uid, $valueRequest["tri_uid"], $valueRequest);
             } else {
                 $step->setFormatFieldNameInUppercase(false);
                 $step->setArrayParamException(array("stepUid" => "step_uid", "taskUid" => "act_uid", "processUid" => "prj_uid"));
                 $arrayData[] = $step->createAll($act_uid, $prj_uid, $valueRequest);
                 if (array_key_exists('triggers', $valueRequest)) {
                     foreach ($valueRequest["triggers"] as $key => $valueTrigger) {
                         $response["triggers"] = $stepTrigger->createAll($arrayData[0]["step_uid"], $valueTrigger["st_type"], $act_uid, $valueTrigger["tri_uid"], $valueTrigger);
                     }
                 }
                 $response = $arrayData;
             }
         }
         return $response;
     } catch (\Exception $e) {
         throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
     }
 }