diff --git a/framework/control.class.php b/framework/control.class.php index 86416f10dd..ff118ee548 100644 --- a/framework/control.class.php +++ b/framework/control.class.php @@ -529,11 +529,11 @@ class control extends baseControl $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return $fields; - $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); + $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $flow->group); if(!$action || $action->extensionType != 'extend') return $fields; $uiID = $this->loadModel('workflowlayout')->getUIByData($flow->module, $action->action, $object); - $fieldList = $this->workflowaction->getPageFields($flow->module, $action->action, true, null, $uiID, $groupID); + $fieldList = $this->workflowaction->getPageFields($flow->module, $action->action, true, null, $uiID, $flow->group); /* 复制项目时显示被复制项目的工作流字段值。*/ if($moduleName == 'project' && $methodName == 'create') @@ -569,11 +569,11 @@ class control extends baseControl $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return ''; - $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); + $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $flow->group); if(!$action || $action->extensionType == 'none') return ''; $uiID = $this->loadModel('workflowlayout')->getUIByData($flow->module, !empty($action->action) ? $action->action: '', $object); - $fieldList = $this->loadModel('workflowaction')->getPageFields($flow->module, !empty($action->action) ? $action->action: '', true, null, $uiID, $groupID); + $fieldList = $this->loadModel('workflowaction')->getPageFields($flow->module, !empty($action->action) ? $action->action: '', true, null, $uiID, $flow->group); $html = ''; if(!empty($flow->css)) $html .= ""; @@ -613,13 +613,13 @@ class control extends baseControl $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return array(); - $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); + $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $flow->group); if(!$action || $action->extensionType != 'extend') return array(); $uiID = is_object($object) ? $this->loadModel('workflowlayout')->getUIByData($flow->module, $action->action, $object) : 0; - $fieldList = $this->workflowaction->getPageFields($flow->module, $action->action, true, $object, $uiID, $groupID); - $layouts = $this->loadModel('workflowlayout')->getFields($moduleName, $methodName, $uiID, $groupID); + $fieldList = $this->workflowaction->getPageFields($flow->module, $action->action, true, $object, $uiID, $flow->group); + $layouts = $this->loadModel('workflowlayout')->getFields($moduleName, $methodName, $uiID, $flow->group); $notEmptyRule = $this->loadModel('workflowrule')->getByTypeAndRule('system', 'notempty'); if($layouts) diff --git a/lib/form/form.class.php b/lib/form/form.class.php index d5801f4eec..bc38b8ea15 100644 --- a/lib/form/form.class.php +++ b/lib/form/form.class.php @@ -143,8 +143,6 @@ class form extends fixer if($moduleName == 'project' && $methodName == 'copyconfirm') $methodName = 'create'; if(empty($app->control)) return $configObject; - $flow = $app->control->loadModel('workflow')->getByModule($moduleName); - if(!$flow) return $configObject; $app->control->loadModel('workflowgroup'); if($flowGroupID) @@ -153,13 +151,16 @@ class form extends fixer $groupID = (empty($group) || $group->main) ? 0 : $flowGroupID; } - $groupID = isset($groupID) ? $groupID : $app->control->workflowgroup->getGroupIDByDataID($flow->module, $objectID); - $action = $app->control->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); + $groupID = isset($groupID) ? $groupID : $app->control->workflowgroup->getGroupIDByDataID($moduleName, $objectID); + $flow = $app->control->loadModel('workflow')->getByModule($moduleName, false, $groupID); + if(!$flow) return $configObject; + + $action = $app->control->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $flow->group); if(!$action || $action->extensionType != 'extend') return $configObject; $uiID = $app->control->loadModel('workflowlayout')->getUIByDataID($flow->module, $action->action, $objectID); - $fieldList = $app->control->workflowaction->getPageFields($flow->module, $action->action, true, null, $uiID, $groupID); - $layouts = $app->control->workflowlayout->getFields($moduleName, $methodName, $uiID, $groupID); + $fieldList = $app->control->workflowaction->getPageFields($flow->module, $action->action, true, null, $uiID, $flow->group); + $layouts = $app->control->workflowlayout->getFields($moduleName, $methodName, $uiID, $flow->group); $notEmptyRule = $app->control->loadModel('workflowrule')->getByTypeAndRule('system', 'notempty'); if($layouts) {