/**
  * The _put method updates an Activity Definition record based on the args data array
  * @param array $args
  * @return boolean
  */
 public function _put(array $args)
 {
     $data = array("success" => false);
     if (isset($args['record']) && count($args) > 0) {
         if ($this->activity->retrieve_by_string_fields(array('act_uid' => $args['record']))) {
             if ($this->activity->fetched_row != false) {
                 $args['id'] = $this->activity->id;
                 $this->activityDefinition->retrieve_by_string_fields(array('id' => $this->activity->id));
                 $args = $args['data'];
                 foreach ($args as $key => $value) {
                     if ($key == 'act_readonly_fields' || $key == 'act_required_fields' || $key == 'act_expected_time' || $key == 'act_related_modules') {
                         $this->activityDefinition->{$key} = base64_encode(json_encode($args[$key]));
                     } else {
                         $this->activityDefinition->{$key} = $args[$key];
                     }
                 }
                 if ($this->activity->act_type != 'TASK') {
                     if ($this->activityDefinition->act_assignment_method == 'static') {
                         $this->activityDefinition->act_assign_team = '';
                     } else {
                         $this->activityDefinition->act_assign_user = '';
                     }
                 }
                 $this->activityDefinition->save();
                 if (!$this->activityDefinition->in_save) {
                     $data = array("success" => true);
                 }
             }
         }
     }
     return $data;
 }
Example #2
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;
 }
 /**
  * Method called to associate a BpmnActivity object to this object
  * through the BpmnActivity foreign key attribute
  *
  * @param      BpmnActivity $l BpmnActivity
  * @return     void
  * @throws     PropelException
  */
 public function addBpmnActivity(BpmnActivity $l)
 {
     $this->collBpmnActivitys[] = $l;
     $l->setBpmnProject($this);
 }
Example #4
0
 public function activityExists($actUid)
 {
     return \BpmnActivity::exists($actUid);
 }
Example #5
0
 /**
  * This method gets the form data from BpmnActivity or BpmnEvent, for purposes of reassignment of the case
  * @param array $args
  * @return array
  */
 public function getFormDataAdhoc($args)
 {
     $bpmFlow = BeanFactory::getBean('pmse_BpmFlow');
     //new BpmFlow();
     $orderBy = '';
     $where = "cas_id='{$args['cas_id']}' AND cas_index='{$args['cas_index']}'";
     $joinedTables = array(array('INNER', 'bpmn_process', 'bpmn_process.pro_id=bpm_flow.pro_id'));
     $flowList = $bpmFlow->getSelectRows($orderBy, $where, 0, -1, -1, array(), $joinedTables);
     foreach ($flowList['rowList'] as $flow) {
         switch ($flow['bpmn_type']) {
             case 'bpmnActivity':
                 $objectBean = new BpmnActivity();
                 $objectBean->retrieve_by_string_fields(array('act_id' => $flow['bpmn_id']));
                 $taskName = $objectBean->act_name;
                 break;
             case 'bpmnEvent':
                 $objectBean = new BpmnEvent();
                 $objectBean->retrieve_by_string_fields(array('evn_id' => $flow['bpmn_id']));
                 $taskName = $objectBean->evn_name;
                 break;
             default:
                 break;
         }
         $processName = $flow['pro_name'];
     }
     return array("process_name" => $processName, "process_task" => $taskName);
 }