ProcessMaker-BE "BPMN Import (fix)"

- Al realizar la importacion de un proceso con la opcion "keep" genera
  un error, esto debido a que estamos tratando de importar un proceso
  suponiendo que ya existe el mismo.
- Se setea el campo "PRO_UID" con el valor correcto, esto al
  adicionar un Activity, Event y Gateway
This commit is contained in:
Victor Saisa Lopez
2014-05-07 11:11:20 -04:00
parent 73eeb47bf9
commit 5d6b6837d3

View File

@@ -309,7 +309,10 @@ class Bpmn extends Handler
} }
// setting defaults // setting defaults
$data['ACT_UID'] = array_key_exists('ACT_UID', $data) ? $data['ACT_UID'] : Common::generateUID();; $processUid = $process->getProUid();
$data["ACT_UID"] = (array_key_exists("ACT_UID", $data))? $data["ACT_UID"] : Common::generateUID();
$data["PRO_UID"] = $processUid;
try { try {
self::log("Add Activity with data: ", $data); self::log("Add Activity with data: ", $data);
@@ -317,7 +320,7 @@ class Bpmn extends Handler
$activity = new Activity(); $activity = new Activity();
$activity->fromArray($data); $activity->fromArray($data);
$activity->setPrjUid($this->getUid()); $activity->setPrjUid($this->getUid());
$activity->setProUid($process->getProUid()); $activity->setProUid($processUid);
$activity->save(); $activity->save();
self::log("Add Activity Success!"); self::log("Add Activity Success!");
@@ -395,7 +398,10 @@ class Bpmn extends Handler
public function addEvent($data) public function addEvent($data)
{ {
// setting defaults // setting defaults
$processUid = $this->getProcess("object")->getProUid();
$data['EVN_UID'] = array_key_exists('EVN_UID', $data) ? $data['EVN_UID'] : Common::generateUID(); $data['EVN_UID'] = array_key_exists('EVN_UID', $data) ? $data['EVN_UID'] : Common::generateUID();
$data["PRO_UID"] = $processUid;
try { try {
self::log("Add Event with data: ", $data); self::log("Add Event with data: ", $data);
@@ -403,7 +409,7 @@ class Bpmn extends Handler
$event = new Event(); $event = new Event();
$event->fromArray($data); $event->fromArray($data);
$event->setPrjUid($this->project->getPrjUid()); $event->setPrjUid($this->project->getPrjUid());
$event->setProUid($this->getProcess("object")->getProUid()); $event->setProUid($processUid);
$event->save(); $event->save();
self::log("Add Event Success!"); self::log("Add Event Success!");
@@ -485,14 +491,17 @@ class Bpmn extends Handler
public function addGateway($data) public function addGateway($data)
{ {
// setting defaults // setting defaults
$processUid = $this->getProcess("object")->getProUid();
$data['GAT_UID'] = array_key_exists('GAT_UID', $data) ? $data['GAT_UID'] : Common::generateUID(); $data['GAT_UID'] = array_key_exists('GAT_UID', $data) ? $data['GAT_UID'] : Common::generateUID();
$data["PRO_UID"] = $processUid;
try { try {
self::log("Add Gateway with data: ", $data); self::log("Add Gateway with data: ", $data);
$gateway = new Gateway(); $gateway = new Gateway();
$gateway->fromArray($data); $gateway->fromArray($data);
$gateway->setPrjUid($this->getUid()); $gateway->setPrjUid($this->getUid());
$gateway->setProUid($this->getProcess("object")->getProUid()); $gateway->setProUid($processUid);
$gateway->save(); $gateway->save();
self::log("Add Gateway Success!"); self::log("Add Gateway Success!");
} catch (\Exception $e) { } catch (\Exception $e) {
@@ -826,4 +835,5 @@ class Bpmn extends Handler
$status = $value ? "DISABLED" : "ACTIVE"; $status = $value ? "DISABLED" : "ACTIVE";
$this->update(array("PRJ_STATUS" => $status)); $this->update(array("PRJ_STATUS" => $status));
} }
} }