Adding workflow behaiour on Adapter Bpmn-> to -> workflow class

- when a activity is created -> create a task
- when a activity is updated -> update a task
- when a activity is deleted -> delete a task
This commit is contained in:
Erik Amaru Ortiz
2014-02-06 16:21:46 -04:00
parent 4911fe72c1
commit 8bbf02d188
2 changed files with 84 additions and 7 deletions

View File

@@ -10,10 +10,34 @@ use ProcessMaker\Util\Hash;
*/
class BpmnWorkflow extends Project\Bpmn
{
/**
* @var \ProcessMaker\Project\Workflow
*/
protected $wp;
public function __construct()
{
$this->wp = new Project\Workflow();
}
/**
* OVERRIDES
*/
public static function load($prjUid)
{
$parent = parent::load($prjUid);
$me = new self();
$me->project = $parent->project;
$me->prjUid = $parent->project->getPrjUid();
$me->wp = Project\Workflow::load($me->prjUid);
return $me;
}
public function create($data)
{
try {
@@ -72,4 +96,30 @@ class BpmnWorkflow extends Project\Bpmn
return $list;
}
public function addActivity($data)
{
parent::addActivity($data);
$taskData = array();
$taskData["TAS_UID"] = $data["ACT_UID"];
if (array_key_exists("ACT_NAME", $data)) {
$taskData["TAS_TITLE"] = $data["ACT_NAME"];
}
if (array_key_exists("ACT_NAME", $data)) {
$taskData["TAS_POSX"] = $data["BOU_X"];
}
if (array_key_exists("ACT_NAME", $data)) {
$taskData["TAS_POSY"] = $data["BOU_Y"];
}
$this->wp->addTask($taskData);
}
public function removeActivity($actUid)
{
parent::removeActivity($actUid);
$this->wp->removeTask($actUid);
}
}