diff --git a/module/story/config/form.php b/module/story/config/form.php index 5942dc37a2..3ff460bc82 100644 --- a/module/story/config/form.php +++ b/module/story/config/form.php @@ -53,9 +53,10 @@ $config->story->form->batchCreate['reviewer'] = array('type' => 'array', 'co $config->story->form->batchCreate['keywords'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => ''); $config->story->form->change = array(); -$config->story->form->change['reviewer'] = array('type' => 'array', 'control' => 'multi-select', 'required' => true, 'default' => '', 'options' => ''); -$config->story->form->change['title'] = array('type' => 'string', 'control' => 'text', 'required' => true, 'filter' => 'trim'); -$config->story->form->change['color'] = array('type' => 'string', 'control' => 'color', 'required' => false, 'default' => ''); -$config->story->form->change['spec'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => ''); -$config->story->form->change['verify'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => ''); -$config->story->form->change['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => ''); +$config->story->form->change['reviewer'] = array('type' => 'array', 'control' => 'multi-select', 'required' => true, 'default' => '', 'options' => ''); +$config->story->form->change['title'] = array('type' => 'string', 'control' => 'text', 'required' => true, 'filter' => 'trim'); +$config->story->form->change['color'] = array('type' => 'string', 'control' => 'color', 'required' => false, 'default' => ''); +$config->story->form->change['spec'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => ''); +$config->story->form->change['verify'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => ''); +$config->story->form->change['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => ''); +$config->story->form->change['lastEditedDate'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => ''); diff --git a/module/story/control.php b/module/story/control.php index 72f95d3f95..2d43529915 100755 --- a/module/story/control.php +++ b/module/story/control.php @@ -695,11 +695,6 @@ class story extends control return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink($module, $method, $params))); } - $this->app->loadLang('task'); - $this->app->loadLang('bug'); - $this->app->loadLang('testcase'); - $this->app->loadLang('execution'); - $this->commonAction($storyID); $story = $this->view->story; $this->story->getAffectedScope($story); diff --git a/module/story/tao.php b/module/story/tao.php index f27c341191..3e3f6da51e 100644 --- a/module/story/tao.php +++ b/module/story/tao.php @@ -1274,6 +1274,15 @@ class storyTao extends storyModel return $stages; } + /** + * 获取该需求影响的项目和任务。 + * Get affected projects and tasks for this story. + * + * @param object $story + * @param array $users + * @access protected + * @return object + */ protected function getAffectedProjects(object $story, array $users): object { $this->app->loadLang('task'); @@ -1300,9 +1309,19 @@ class storyTao extends storyModel return $story; } + /** + * 获取该需求影响的Bug。 + * Get affected bugs for this story. + * + * @param object $story + * @param array $users + * @access protected + * @return object + */ protected function getAffectedBugs(object $story, array $users): object { $this->app->loadLang('bug'); + $this->app->loadLang('execution'); $this->config->story->affect->bugs = new stdclass(); $this->config->story->affect->bugs->fields[] = array('name' => 'id', 'title' => $this->lang->idAB); $this->config->story->affect->bugs->fields[] = array('name' => 'title', 'title' => $this->lang->bug->title, 'link' => helper::createLink('bug', 'view', 'id={id}')); @@ -1332,6 +1351,15 @@ class storyTao extends storyModel return $story; } + /** + * 获取该需求影响的用例。 + * Get affected cases for this story. + * + * @param object $story + * @param array $users + * @access protected + * @return object + */ protected function getAffectedCases(object $story, array $users): object { $this->app->loadLang('testcase'); @@ -1357,6 +1385,15 @@ class storyTao extends storyModel return $story; } + /** + * 获取该需求影响的孪生需求。 + * Get affected twins for this story. + * + * @param object $story + * @param array $users + * @access protected + * @return object + */ protected function getAffectedTwins(object $story, array $users): object { if(empty($story->twins)) return $story; diff --git a/module/story/ui/change.html.php b/module/story/ui/change.html.php index 6f43b7109e..1876e32fff 100644 --- a/module/story/ui/change.html.php +++ b/module/story/ui/change.html.php @@ -101,22 +101,26 @@ $formItems['title'] = formGroup ), set::required($fields['title']['required']) ); -$formItems['status'] = formRow +$formItems['hidden'] = formRow ( set::hidden(true), formGroup ( - input(set::name('status'), set::value($fields['status']['default'])) + input(set::type('hidden'), set::name('status'), set::value($fields['status']['default'])), + input(set::type('hidden'), set::name('lastEditedDate'), set::value($story->lastEditedDate)) ) ); $formItems['spec'] = formGroup ( + set::width('full'), + set::name('spec'), set::label($fields['spec']['title']), set::control($fields['spec']['control']), set::value($fields['spec']['default']), + set::required($fields['spec']['required']), set::tip($lang->story->specTemplate) ); -unset($fields['reviewer'], $fields['title'], $fields['color'], $fields['status'], $fields['spec']); +unset($fields['reviewer'], $fields['title'], $fields['color'], $fields['status'], $fields['lastEditedDate'], $fields['spec']); foreach($fields as $field => $attr) { @@ -215,7 +219,6 @@ $formItems['affected'] = formGroup ), ) ); -$formItems['lastEditedDate'] = input(set::type('hidden'), set::name('lastEditedDate', set::id('lastEditedDate'), set::value($story->lastEditedDate))); $formActions = formRow (