function getTriggersForTransition($oTransition) { $oKTWorkflowTriggerRegistry =& KTWorkflowTriggerRegistry::getSingleton(); $aTriggers = array(); $aTriggerInstances = KTWorkflowTriggerInstance::getByTransition($oTransition); foreach ($aTriggerInstances as $oTriggerInstance) { $oTrigger = $oKTWorkflowTriggerRegistry->getWorkflowTrigger($oTriggerInstance->getNamespace()); if (PEAR::isError($oTrigger)) { return $oTrigger; } $oTrigger->loadConfig($oTriggerInstance); $aTriggers[] = $oTrigger; } return $aTriggers; }
function do_deletetransition() { $this->startTransaction(); if (is_null($this->oTransition)) { return $this->errorRedirectTo("basic", _kt("No transition selected")); } // grab all the triggers $aTriggers = KTWorkflowTriggerInstance::getByTransition($this->oTransition); foreach ($aTriggers as $oTrigger) { $res = $oTrigger->delete(); if (PEAR::isError($res)) { $this->errorRedirectTo("basic", sprintf(_kt("Failed to clear trigger: %s"), $res->getMessage())); } } $res = $this->oTransition->delete(); if (PEAR::isError($res)) { $this->errorRedirectTo("basic", sprintf(_kt("Failed to clear transition: %s"), $res->getMessage())); } $this->successRedirectTo('basic', _kt("Transition deleted.")); }