/** * 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; } }
/** * @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()); } }