示例#1
0
 public static function update_action()
 {
     $flow_id = Lib_Request::post_var('flow_id');
     $flow_id = intval($flow_id);
     if (empty($flow_id)) {
         Lib_Request::flash('error', '流程ID为空!');
         Module_HttpRequest_Router::redirect_to('/flow_manager/flow/list');
     }
     $flow = new Module_FlowManager_Flow();
     $url = '/flow_manager/flow/edit?flow_id=' . $flow_id;
     $data = self::_get_flow_data($url, $flow_id);
     $model_flow = new Model_FlowInfo();
     $old_flow = $model_flow->get_flow_info_by_id($flow_id);
     if ($old_flow['errno'] !== Const_Err_Base::ERR_OK) {
         $old_flow['data'] = [];
     }
     $old_flow = $old_flow['data'];
     $ignore_fields = ['flow_id', 'create_time', 'update_time'];
     $diff = Module_OperationRecord_Main::get_diff($old_flow, $data, $ignore_fields);
     if (Const_Err_Base::ERR_OK !== $diff['errno']) {
         $msg = isset($diff['data']['msg']) ? $diff['data']['msg'] : '未知错误!';
         Lib_Request::flash('warn', $msg);
         Module_HttpRequest_Router::redirect_to($url);
     }
     $diff = $diff['data'];
     $result = $flow->update($flow_id, $data);
     if ($result['errno'] !== Const_Err_Base::ERR_OK) {
         throw new Exception('流程修改失败', Const_Err_Db::ERR_SAVE_DATA_FAIL);
         Lib_Request::flash('error', '流程修改失败!');
         Module_HttpRequest_Router::redirect_to($url);
     }
     Module_OperationRecord_Main::add_record(Module_OperationRecord_Main::OPCODE_FLOW_EDIT, $diff, $flow_id);
     Lib_Request::flash('success', '流程修改成功!');
     Module_HttpRequest_Router::redirect_to('/flow_manager/flow/list');
 }
示例#2
0
文件: flow.php 项目: vincenttone/daf
 /**
  * @return $this|bool
  */
 public function get()
 {
     $flow_model = new Model_FlowInfo();
     $flow = $flow_model->get_flow_info_by_id($this->id);
     if ($flow['errno'] !== Const_Err_Base::ERR_OK) {
         Lib_Log::error(__METHOD__ . ' faild! cause: ' . Lib_Helper::format_err_struct($flow));
         return false;
     }
     $flow = $flow['data'];
     if ($flow) {
         $this->name = $flow[Model_FlowInfo::FIELD_FLOW_NAME];
         $this->flow = $flow[Model_FlowInfo::FIELD_FLOW_FLOW];
         isset($flow[Model_FlowInfo::FIELD_FLOW_OPTIONS]) || ($flow[Model_FlowInfo::FIELD_FLOW_OPTIONS] = []);
         $this->options = array_merge($flow[Model_FlowInfo::FIELD_FLOW_OPTIONS], $this->options);
         $this->modules = $this->flow[Module_FlowManager_Main::FLOW_TYPE_MAIN];
         if (isset($this->flow[Module_FlowManager_Main::FLOW_TYPE_BRANCH])) {
             foreach ($this->flow[Module_FlowManager_Main::FLOW_TYPE_BRANCH] as $_m) {
                 if (is_array($_m)) {
                     $this->modules = array_merge($this->modules, $_m);
                 } else {
                     $this->modules[] = $_m;
                 }
             }
         }
         if (isset($this->flow[Module_FlowManager_Main::FLOW_TYPE_STUFF])) {
             foreach ($this->flow[Module_FlowManager_Main::FLOW_TYPE_STUFF] as $_m) {
                 if (is_array($_m)) {
                     $this->modules = array_merge($this->modules, $_m);
                 } else {
                     $this->modules[] = $_m;
                 }
             }
         }
         if (isset($this->flow[Module_FlowManager_Main::FLOW_TYPE_CONFIG])) {
             $this->modules = array_merge($this->modules, $this->flow[Module_FlowManager_Main::FLOW_TYPE_CONFIG]);
         }
         return $this;
     }
     return false;
 }