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:
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -135,23 +135,50 @@ class Workflow extends Handler
|
||||
$taskData['TAS_UID'] = array_key_exists('TAS_UID', $taskData) ? $taskData['TAS_UID'] : Hash::generateUID();
|
||||
$taskData['PRO_UID'] = $this->proUid;
|
||||
|
||||
$task = new Task();
|
||||
try {
|
||||
self::log("Add Task with data: ", $taskData);
|
||||
$task = new Task();
|
||||
$tasUid = $task->create($taskData, false);
|
||||
self::log("Add Task Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
|
||||
return $task->create($taskData, false);
|
||||
return $tasUid;
|
||||
}
|
||||
|
||||
public function updateTask($tasUid, $taskData)
|
||||
{
|
||||
$task = new Task();
|
||||
$taskData['TAS_UID'] = $tasUid;
|
||||
try {
|
||||
self::log("Update Task: $tasUid", "With data: ", $taskData);
|
||||
|
||||
return $task->update($taskData);
|
||||
$task = new Task();
|
||||
$taskData['TAS_UID'] = $tasUid;
|
||||
$result = $task->update($taskData);
|
||||
|
||||
self::log("Update Task Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function removeTask($tasUid)
|
||||
{
|
||||
$task = new Task();
|
||||
$task->remove($tasUid);
|
||||
try {
|
||||
self::log("Remove Task: $tasUid");
|
||||
|
||||
$task = new Task();
|
||||
$task->remove($tasUid);
|
||||
|
||||
self::log("Remove Task Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function getTask($tasUid)
|
||||
|
||||
Reference in New Issue
Block a user