diff --git a/framework/control.class.php b/framework/control.class.php index 9419a028b0..8c5fcf895e 100644 --- a/framework/control.class.php +++ b/framework/control.class.php @@ -529,8 +529,6 @@ class control extends baseControl $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return $fields; - if($groupID && $moduleName == 'project' && $methodName == 'create') $groupID = 0; // 项目创建页面用通用的工作流配置 - $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); if(!$action || $action->extensionType != 'extend') return $fields; diff --git a/lib/zin/wg/formpanel/v1.php b/lib/zin/wg/formpanel/v1.php index 4be8c68c2b..8e3e0161ec 100644 --- a/lib/zin/wg/formpanel/v1.php +++ b/lib/zin/wg/formpanel/v1.php @@ -83,7 +83,7 @@ class formPanel extends panel if($moduleName == 'productplan') return data('plan'); if($moduleName == 'projectrelease') return data('release'); if($moduleName == 'projectbuild') return data('build'); - if($moduleName == 'project' && ($methodName == 'create' or $methodName == 'createtemplate')) return data('copyProject') ? data('copyProject') : null; + if($moduleName == 'project' && ($methodName == 'create' or $methodName == 'createtemplate') && data('copyProject')) return data('copyProject'); return data($moduleName); } diff --git a/module/project/control.php b/module/project/control.php index 80cd3d2219..d68a60b145 100755 --- a/module/project/control.php +++ b/module/project/control.php @@ -458,11 +458,13 @@ class project extends control return; } + $workflowGroup = !empty($output['workflowGroup']) ? (int)$output['workflowGroup'] : 0; + if($_POST) { if($this->post->longTime || $this->post->LONG_TIME) $this->config->project->form->create['end']['skipRequired'] = true; - $postData = form::data($this->config->project->form->create); + $postData = form::data($this->config->project->form->create, 0, $workflowGroup); $project = $this->projectZen->prepareCreateExtras($postData, $copyProjectID); if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); diff --git a/module/project/js/common.ui.js b/module/project/js/common.ui.js index 3256a6b356..f6e9eec57a 100644 --- a/module/project/js/common.ui.js +++ b/module/project/js/common.ui.js @@ -25,21 +25,6 @@ function changeType() { $('.productsBox').removeClass('hidden'); } - - if(hasProduct !== '') - { - const category = $('[name=category]').val() || ''; - const link = $.createLink('project', 'ajaxGetWorkflowGroups', `model=${model}&hasProduct=${hasProduct}&category=${category}`); - $.getJSON(link, function(data) - { - if(data.items) - { - const $workflowGroup = $('[name=workflowGroup]').zui('picker'); - $workflowGroup.render({items: data.items}); - $workflowGroup.$.setValue(data.defaultValue); - } - }) - } } /** diff --git a/module/project/zen.php b/module/project/zen.php index 62b1fdcdc8..bd181bba41 100755 --- a/module/project/zen.php +++ b/module/project/zen.php @@ -326,13 +326,20 @@ class projectZen extends project } } - $hasProduct = isset($copyProject->hasProduct) ? $copyProject->hasProduct : 1; if($this->config->edition != 'open') { - $workflowGroups = $this->loadModel('workflowgroup')->getPairs('project', $model, (int)$hasProduct, 'normal', '0'); + $hasProduct = isset($copyProject->hasProduct) ? $copyProject->hasProduct : zget($output, 'hasProduct', 1); + $workflowGroups = $this->loadModel('workflowgroup')->getPairs('project', $model, (int)$hasProduct, 'normal', '0', !empty($output['category']) ? $output['category'] : 'ipd'); $this->view->workflowGroupPairs = $workflowGroups; $this->view->workflowGroups = $this->workflowgroup->appendBuildinLabel($workflowGroups); $this->view->copyWorkflowGroup = !empty($copyProject->workflowGroup) ? $this->workflowgroup->getById((int)$copyProject->workflowGroup) : null; + + $project = new stdclass(); + $project->id = 0; + $project->workflowGroup = !empty($output['workflowGroup']) ? $output['workflowGroup'] : 0; + $project->hasProduct = $hasProduct; + $project->model = $model; + $this->view->project = $project; } /* Get copy projects. */