Adding logic to remove related objects when a gateway is removed for BpmnWorkflow Adapter

- Now when a gateway is removed all its related flows are removed too
- When a gateway is removed all Composed Workflow Routes are removed too
This commit is contained in:
Erik Amaru Ortiz
2014-02-24 19:58:32 -04:00
parent 7962d40a0f
commit 75cf6e3eea
4 changed files with 50 additions and 4 deletions

View File

@@ -16,6 +16,24 @@ require_once 'classes/model/om/BaseBpmnFlow.php';
*/
class BpmnFlow extends BaseBpmnFlow
{
public static function removeAllRelated($elementUid)
{
$c = new Criteria('workflow');
$c1 = $c->getNewCriterion(BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $elementUid);
$c2 = $c->getNewCriterion(BpmnFlowPeer::FLO_ELEMENT_DEST, $elementUid);
$c1->addOr($c2);
$c->add($c1);
$flows = BpmnFlowPeer::doSelect($c);
foreach ($flows as $flow) {
$flow->delete();
}
}
/**
* @param $field string coming from \BpmnFlowPeer::<FIELD_NAME>
* @param $value string