diff --git a/extension/lite/kanban/ext/view/view.lite.html.hook.php b/extension/lite/kanban/ext/view/view.lite.html.hook.php index 6884cd6a27..b26a53e194 100644 --- a/extension/lite/kanban/ext/view/view.lite.html.hook.php +++ b/extension/lite/kanban/ext/view/view.lite.html.hook.php @@ -1,7 +1,7 @@ diff --git a/module/execution/control.php b/module/execution/control.php index 0119d2273d..6c75eb573b 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2129,7 +2129,7 @@ class execution extends control } /* Set custom. */ - foreach(explode(',', $this->config->execution->customBatchEditFields) as $field) $customFields[$field] = $this->lang->execution->$field; + foreach(explode(',', $this->config->execution->customBatchEditFields) as $field) $customFields[$field] = str_replace($this->lang->executionCommon, $this->lang->execution->common, $this->lang->execution->$field); $this->view->customFields = $customFields; $this->view->showFields = $this->config->execution->custom->batchEditFields; diff --git a/module/execution/model.php b/module/execution/model.php index fcd52fd0bc..03e57902cd 100755 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -566,8 +566,8 @@ class executionModel extends model if($oldExecution->type == 'stage' and $field == 'name') $this->lang->project->name = str_replace($this->lang->executionCommon, $this->lang->project->stage, $this->lang->project->name); } - $relationExecutionsID = $this->getRelatedExecutions($executionID); - $relationExecutionsID = !empty($relationExecutionsID) ? implode(',', array_keys($relationExecutionsID)) : ''; + $relatedExecutionsID = $this->getRelatedExecutions($executionID); + $relatedExecutionsID = !empty($relatedExecutionsID) ? implode(',', array_keys($relatedExecutionsID)) : ''; /* Update data. */ $this->lang->error->unique = $this->lang->error->repeat; @@ -578,7 +578,7 @@ class executionModel extends model ->checkIF($execution->begin != '', 'begin', 'date') ->checkIF($execution->end != '', 'end', 'date') ->checkIF($execution->end != '', 'end', 'ge', $execution->begin) - ->checkIF(!empty($execution->name), 'name', 'unique', "id in ('$relationExecutionsID') and type in ('sprint','stage', 'kanban') and `project` = $executionProject and `deleted` = '0'") + ->checkIF(!empty($execution->name), 'name', 'unique', "id in ('$relatedExecutionsID') and type in ('sprint','stage', 'kanban') and `project` = $executionProject and `deleted` = '0'") ->checkIF(!empty($execution->code), 'code', 'unique', "id != $executionID and type in ('sprint','stage', 'kanban') and `deleted` = '0'") ->checkFlow() ->where('id')->eq($executionID) diff --git a/module/product/control.php b/module/product/control.php index f2b5839aef..4abee5a844 100755 --- a/module/product/control.php +++ b/module/product/control.php @@ -431,9 +431,13 @@ class product extends control if($this->app->tab == 'doc') unset($this->lang->doc->menu->product['subMenu']); + $gobackLink = ''; + if(isset($output['from']) and $output['from'] == 'qa') $gobackLink = $this->createLink('qa', 'index'); + if(isset($output['from']) and $output['from'] == 'global') $gobackLink = $this->createLink('product', 'all'); + $this->view->title = $this->lang->product->create; $this->view->position[] = $this->view->title; - $this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('product', 'all') : ''; + $this->view->gobackLink = $gobackLink; $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->programID = $programID; $this->view->poUsers = $poUsers; @@ -1190,7 +1194,8 @@ class product extends control elseif($moduleName == 'qa') { $this->loadModel('qa')->setMenu(array(), 0); - $this->app->rawModule = $activeMenu; + $this->app->rawModule = $activeMenu; + $this->view->moduleName = $moduleName; if($activeMenu == 'testcase') unset($this->lang->qa->menu->testcase['subMenu']); if($activeMenu == 'testsuite') unset($this->lang->qa->menu->testcase['subMenu']); diff --git a/module/product/view/showerrornone.html.php b/module/product/view/showerrornone.html.php index cf8f2cac16..ad58a31046 100644 --- a/module/product/view/showerrornone.html.php +++ b/module/product/view/showerrornone.html.php @@ -21,7 +21,7 @@
-

product->noProduct;?> " . $lang->product->create, '', "class='btn btn-info' data-app='product'");?>

+

product->noProduct;?> " . $lang->product->create, '', "class='btn btn-info' data-app='product'");?>

diff --git a/module/programplan/model.php b/module/programplan/model.php index bd0faad21f..c68c38571f 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -1086,15 +1086,15 @@ class programplanModel extends model $this->lang->project->name = $this->lang->programplan->name; $this->lang->project->code = $this->lang->execution->code; - $relationExecutionsID = $this->loadModel('execution')->getRelatedExecutions($planID); - $relationExecutionsID = !empty($relationExecutionsID) ? implode(',', array_keys($relationExecutionsID)) : ''; + $relatedExecutionsID = $this->loadModel('execution')->getRelatedExecutions($planID); + $relatedExecutionsID = !empty($relatedExecutionsID) ? implode(',', array_keys($relatedExecutionsID)) : ''; $this->dao->update(TABLE_PROJECT)->data($plan) ->autoCheck() ->batchCheck($this->config->programplan->edit->requiredFields, 'notempty') ->checkIF($plan->end != '0000-00-00', 'end', 'ge', $plan->begin) ->checkIF($plan->percent != false, 'percent', 'float') - ->checkIF(!empty($plan->name), 'name', 'unique', "id in ('{$relationExecutionsID}') and type in ('sprint','stage') and `project` = {$oldPlan->project} and `deleted` = '0'" . ($parentStage ? " and `parent` = {$oldPlan->parent}" : '')) + ->checkIF(!empty($plan->name), 'name', 'unique', "id in ('{$relatedExecutionsID}') and type in ('sprint','stage') and `project` = {$oldPlan->project} and `deleted` = '0'" . ($parentStage ? " and `parent` = {$oldPlan->parent}" : '')) ->checkIF(!empty($plan->code) and $setCode, 'code', 'unique', "id != $planID and type in ('sprint','stage','kanban') and `deleted` = '0'") ->where('id')->eq($planID) ->exec(); diff --git a/module/story/control.php b/module/story/control.php index be95803914..eb011327be 100755 --- a/module/story/control.php +++ b/module/story/control.php @@ -2015,7 +2015,7 @@ class story extends control */ public function batchToTask($executionID = 0, $projectID = 0) { - if($executionID) $this->loadModel('execution')->setMenu($executionID); + if($this->app->tab == 'execution' and $executionID) $this->loadModel('execution')->setMenu($executionID); if(!empty($_POST['name'])) { @@ -2414,7 +2414,11 @@ class story extends control $type = $story->type == 'story' ? 'linkRelateSR' : 'linkRelateUR'; $method = $story->type == 'story' ? 'linkStories' : 'linkRequirements'; - if(!empty($product->shadow)) unset($this->config->product->search['fields']['product']); + if(!empty($product->shadow)) + { + unset($this->config->product->search['fields']['product']); + unset($this->config->product->search['fields']['plan']); + } /* Build search form. */ $actionURL = $this->createLink('story', $method, "storyID=$storyID&browseType=bySearch&excludeStories=$excludeStories&queryID=myQueryID", '', true); diff --git a/www/theme/default/style.css b/www/theme/default/style.css index b845dd1cdc..39a049cd7c 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -95,7 +95,7 @@ th.c-confirmed, th.c-confirm {text-align: center;} #headerActions .setting {border-color: transparent;} #headerActions .dropdown-menu {top: 35px; z-index: 2000;} #headerActions .dropdown-menu:before, #headerActions .dropdown-menu:hover:before {position: absolute; top: -9px; right: 50%; width: 0; height: 0; content: ' '; border-color: transparent transparent #fff transparent; border-style: solid; border-width: 0 10px 10px 10px;} -[lang^='zh'] #headerActions {right: 230px;} +[lang^='zh'] #headerActions {right: 235px;} .icon-size-width:before {content: "\e9c5"; transform: rotate(90deg); -ms-transform: rotate(90deg); -moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); -o-transform: rotate(90deg);} .checkbox-primary > label{overflow: hidden;}