diff --git a/core/dbobject.class.php b/core/dbobject.class.php index a693d26f8..1009d653a 100644 --- a/core/dbobject.class.php +++ b/core/dbobject.class.php @@ -3709,16 +3709,22 @@ abstract class DBObject implements iDisplay /** * Apply a stimulus (workflow) - * - * @api - * - * @param string $sStimulusCode - * @param bool $bDoNotWrite - * + * + * @api + * + * @param string $sStimulusCode + * @param bool $bDoNotWrite if true we won't save the object ! + * * @return bool - * + * * @throws CoreException * @throws CoreUnexpectedValue + * + * @uses \AttributeStopWatch::Start + * @uses \AttributeStopWatch::Stop + * @uses \DBObject::DBWrite + * @uses \TriggerOnStateLeave::DoActivate + * @uses \TriggerOnStateEnter::DoActivate */ public function ApplyStimulus($sStimulusCode, $bDoNotWrite = false) { @@ -3842,8 +3848,7 @@ abstract class DBObject implements iDisplay } } - if (!$bDoNotWrite) - { + if (!$bDoNotWrite) { $this->DBWrite(); } @@ -3851,30 +3856,26 @@ abstract class DBObject implements iDisplay $aParams = array( 'class_list' => MetaModel::EnumParentClasses($sClass, ENUM_PARENT_CLASSES_ALL), 'previous_state' => $sPreviousState, - 'new_state' => $sNewState); + 'new_state' => $sNewState, + ); $oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT TriggerOnStateLeave AS t WHERE t.target_class IN (:class_list) AND t.state=:previous_state"), array(), $aParams); - while ($oTrigger = $oSet->Fetch()) - { - /** @var \Trigger $oTrigger */ - try - { + while ($oTrigger = $oSet->Fetch()) { + /** @var \TriggerOnStateLeave $oTrigger */ + try { $oTrigger->DoActivate($this->ToArgs('this')); } - catch(Exception $e) - { + catch (Exception $e) { utils::EnrichRaisedException($oTrigger, $e); } } $oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT TriggerOnStateEnter AS t WHERE t.target_class IN (:class_list) AND t.state=:new_state"), array(), $aParams); - while ($oTrigger = $oSet->Fetch()) - { - /** @var \Trigger $oTrigger */ - try{ + while ($oTrigger = $oSet->Fetch()) { + /** @var \TriggerOnStateEnter $oTrigger */ + try { $oTrigger->DoActivate($this->ToArgs('this')); } - catch(Exception $e) - { + catch (Exception $e) { utils::EnrichRaisedException($oTrigger, $e); } }