Beispiel #1
0
 /**
  * Builds Project Data Structure
  *
  * @return array
  */
 protected function buildData()
 {
     $data = array();
     $data["metadata"] = $this->getMetadata();
     $data["metadata"]["workspace"] = defined("SYS_SYS") ? SYS_SYS : "Unknown";
     $data["metadata"]["name"] = $this->getProjectName();
     $data["metadata"]["uid"] = $this->getProjectUid();
     $bpmnStruct["ACTIVITY"] = \BpmnActivity::getAll($this->prjUid);
     $bpmnStruct["ARTIFACT"] = \BpmnArtifact::getAll($this->prjUid);
     $bpmnStruct["BOUND"] = \BpmnBound::getAll($this->prjUid);
     $bpmnStruct["DATA"] = \BpmnData::getAll($this->prjUid);
     $bpmnStruct["DIAGRAM"] = \BpmnDiagram::getAll($this->prjUid);
     $bpmnStruct["DOCUMENTATION"] = array();
     $bpmnStruct["EVENT"] = \BpmnEvent::getAll($this->prjUid);
     $bpmnStruct["EXTENSION"] = array();
     $bpmnStruct["FLOW"] = \BpmnFlow::getAll($this->prjUid, null, null, "", CASE_UPPER, false);
     $bpmnStruct["GATEWAY"] = \BpmnGateway::getAll($this->prjUid);
     $bpmnStruct["LANE"] = \BpmnLane::getAll($this->prjUid);
     $bpmnStruct["LANESET"] = \BpmnLaneset::getAll($this->prjUid);
     $bpmnStruct["PARTICIPANT"] = \BpmnParticipant::getAll($this->prjUid);
     $bpmnStruct["PROCESS"] = \BpmnProcess::getAll($this->prjUid);
     $bpmnStruct["PROJECT"] = array(\BpmnProjectPeer::retrieveByPK($this->prjUid)->toArray());
     $workflow = new \ProcessMaker\Project\Workflow();
     list($workflowData, $workflowFile) = $workflow->getData($this->prjUid);
     $data["bpmn-definition"] = $bpmnStruct;
     $data["workflow-definition"] = $workflowData;
     $data["workflow-files"] = $workflowFile;
     return $data;
 }
Beispiel #2
0
 public function addProcess($data = array())
 {
     if (empty($this->diagram)) {
         throw new \Exception("Error: There is not an initialized diagram.");
     }
     // setting defaults
     $data['PRO_UID'] = array_key_exists('PRO_UID', $data) ? $data['PRO_UID'] : Common::generateUID();
     $data['PRO_NAME'] = array_key_exists('PRO_NAME', $data) ? $data['PRO_NAME'] : $this->diagram->getDiaName();
     $this->process = new Process();
     $this->process->fromArray($data, BasePeer::TYPE_FIELDNAME);
     $this->process->setPrjUid($this->project->getPrjUid());
     $this->process->setDiaUid($this->getDiagram("object")->getDiaUid());
     $this->process->save();
 }
 /**
  * Method called to associate a BpmnDiagram object to this object
  * through the BpmnDiagram foreign key attribute
  *
  * @param      BpmnDiagram $l BpmnDiagram
  * @return     void
  * @throws     PropelException
  */
 public function addBpmnDiagram(BpmnDiagram $l)
 {
     $this->collBpmnDiagrams[] = $l;
     $l->setBpmnProject($this);
 }
 /**
  * Declares an association between this object and a BpmnDiagram object.
  *
  * @param      BpmnDiagram $v
  * @return     void
  * @throws     PropelException
  */
 public function setBpmnDiagram($v)
 {
     if ($v === null) {
         $this->setDiaUid('');
     } else {
         $this->setDiaUid($v->getDiaUid());
     }
     $this->aBpmnDiagram = $v;
 }