diff --git a/module/custom/control.php b/module/custom/control.php
index 7fac73b290..4e3fb5de30 100644
--- a/module/custom/control.php
+++ b/module/custom/control.php
@@ -248,4 +248,19 @@ class custom extends control
$this->display();
}
}
+
+ /**
+ * Ajax restore menu.
+ *
+ * @param string $confirm
+ * @access public
+ * @return void
+ */
+ public function ajaxRestoreMenu($confirm = 'no')
+ {
+ if($confirm == 'no') die(js::confirm($this->lang->custom->confirmRestore, inlink('ajaxRestoreMenu', "confirm=yes")));
+
+ $this->loadModel('setting')->deleteItems("owner={$this->app->user->account}&module=common§ion=menucustom");
+ die(js::reload('parent.parent'));
+ }
}
diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php
index ba5105fa41..c05254a10a 100644
--- a/module/custom/lang/en.php
+++ b/module/custom/lang/en.php
@@ -7,6 +7,7 @@ $lang->custom->key = 'Key';
$lang->custom->value = 'Value';
$lang->custom->flow = 'Flow';
$lang->custom->select = 'Select flow:';
+$lang->custom->branch = 'Multi branch';
$lang->custom->object['story'] = 'Story';
$lang->custom->object['task'] = 'Task';
@@ -63,7 +64,7 @@ $lang->custom->user->fields['statusList'] = 'Status';
$lang->custom->currentLang = 'For current language';
$lang->custom->allLang = 'For all language';
-$lang->custom->confirmRestore = 'Are you sure to restore the default lang setting?';
+$lang->custom->confirmRestore = 'Are you sure to restore the default setting?';
$lang->custom->notice = new stdclass();
$lang->custom->notice->userRole = 'The length of key must be less than 20!';
diff --git a/module/custom/lang/zh-cn.php b/module/custom/lang/zh-cn.php
index 316367ab90..57a69c16c4 100644
--- a/module/custom/lang/zh-cn.php
+++ b/module/custom/lang/zh-cn.php
@@ -7,6 +7,7 @@ $lang->custom->key = '键';
$lang->custom->value = '值';
$lang->custom->flow = '流程';
$lang->custom->select = '请选择流程:';
+$lang->custom->branch = '多分支';
$lang->custom->object['story'] = '需求';
$lang->custom->object['task'] = '任务';
@@ -63,7 +64,7 @@ $lang->custom->user->fields['statusList'] = '状态';
$lang->custom->currentLang = '适用当前语言';
$lang->custom->allLang = '适用所有语言';
-$lang->custom->confirmRestore = '是否要恢复默认语言配置?';
+$lang->custom->confirmRestore = '是否要恢复默认配置?';
$lang->custom->notice = new stdclass();
$lang->custom->notice->userRole = '键的长度必须小于20个字符!';
diff --git a/module/custom/model.php b/module/custom/model.php
index 395e07b113..8ff8355347 100644
--- a/module/custom/model.php
+++ b/module/custom/model.php
@@ -246,8 +246,9 @@ class customModel extends model
if(!empty($menuConfig)) $menuConfig = json_decode($menuConfig);
if(!isset($menuConfig) && common::inNoviceMode()) $menuConfig = $config->menu->$module['novice'];
- $allMenu = $module == 'main' ? $lang->menu : $lang->$module->menu;
- $menu = self::buildMenuConfig($allMenu, $menuConfig);
+ $allMenu = $module == 'main' ? $lang->menu : (isset($lang->$module->menu) ? $lang->$module->menu : $lang->my->menu);
+ if($module == 'product' and isset($allMenu->branch)) $allMenu->branch = str_replace('@branch@', $lang->custom->branch, $allMenu->branch);
+ $menu = self::buildMenuConfig($allMenu, $menuConfig);
$app->customMenu[$module] = $menu;
return $menu;
diff --git a/module/custom/view/menu.html.php b/module/custom/view/menu.html.php
index c64cc0bfeb..71fd5a1420 100644
--- a/module/custom/view/menu.html.php
+++ b/module/custom/view/menu.html.php
@@ -32,7 +32,8 @@
-
+
+ custom->restore, 'hiddenwin', "class='btn'")?>
diff --git a/module/my/control.php b/module/my/control.php
index 3263a65b0d..9621c8e2eb 100644
--- a/module/my/control.php
+++ b/module/my/control.php
@@ -33,26 +33,7 @@ class my extends control
*/
public function index()
{
- $account = $this->app->user->account;
-
- /* Get project and product stats. */
- $projectStats = $this->loadModel('project')->getProjectStats();
- $productStats = $this->loadModel('product')->getStats();
-
- /* Set the dynamic pager. */
- $this->app->loadClass('pager', true);
- $pager = new pager($recTotal = 1000, $this->config->my->dynamicCounts); // Init the $recTotal var, thus omit one sql query.
-
- $this->view->projectStats = $projectStats;
- $this->view->productStats = $productStats;
- $this->view->actions = $this->loadModel('action')->getDynamic('all', 'all', 'date_desc', $pager);
- $this->view->todos = $this->loadModel('todo')->getList('all', $account, 'wait, doing', $this->config->my->todoCounts);
- $this->view->tasks = $this->loadModel('task')->getUserTasks($account, 'assignedTo', $this->config->my->taskCounts);
- $this->view->bugs = $this->loadModel('bug')->getUserBugPairs($account, false, $this->config->my->bugCounts);
- $this->view->stories = $this->loadModel('story')->getUserStoryPairs($account, $this->config->my->storyCounts);
- $this->view->users = $this->loadModel('user')->getPairs('noletter|withguest');
- $this->view->title = $this->lang->my->common;
-
+ $this->view->title = $this->lang->my->common;
$this->display();
}
diff --git a/module/project/control.php b/module/project/control.php
index 189d4273c1..00cd6f3178 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -1260,6 +1260,8 @@ class project extends control
}
$this->view->title = $this->lang->project->tree;
+ $this->view->position[] = html::a($this->createLink('project', 'browse', "projectID=$projectID"), $project->name);
+ $this->view->position[] = $this->lang->project->tree;
$this->view->project = $project;
$this->view->projectID = $projectID;
$this->view->level = $type;
diff --git a/module/project/css/task.css b/module/project/css/task.css
index 52dc43b0a1..bb2b722abf 100644
--- a/module/project/css/task.css
+++ b/module/project/css/task.css
@@ -5,6 +5,8 @@
#hideButton span{padding:2px 10px; background:url(theme/default/images/main/zt-icons.png) -100px -161px;}
#featurebar .f-right .icon-green-task-import {padding:2px 8px; background:url(theme/default/images/main/zt-icons.png) 0px -82px;}
.sub-featurebar #querybox {margin:0px;}
+.sub-featurebar #bysearchTab.active {padding:0px;}
+.sub-featurebar #bysearchTab.active:hover {background:#fff;}
.dropdown-menu.with-search {padding-bottom: 34px; min-width: 150px; overflow: hidden; max-height: 305px}
.dropdown-menu > .menu-search {padding: 0; position: absolute; z-index: 0; bottom: 0; left: 0; right: 0}
diff --git a/module/testtask/css/runcase.css b/module/testtask/css/runcase.css
index efe0458783..9a6fc8262e 100644
--- a/module/testtask/css/runcase.css
+++ b/module/testtask/css/runcase.css
@@ -1,5 +1,6 @@
.outer > #titlebar {display: none}
-.btn-file {float:right}
+.table > thead > tr > th {vertical-align: middle;}
+.btn-file {float:right; padding: 0px 5px!important}
.fix-border td {border:0px;}
.fix-position td {vertical-align: middle;}
diff --git a/module/testtask/view/results.html.php b/module/testtask/view/results.html.php
index 85fb9ec444..264d07de83 100644
--- a/module/testtask/view/results.html.php
+++ b/module/testtask/view/results.html.php
@@ -42,12 +42,14 @@
date;?> |
lastRunner] . ' ' . $lang->testtask->runCase;?> |
build, '');?> |
- files)) echo html::a("#caseResult{$result->id}", '', '', "data-toggle='modal' title='{$lang->files}' data-type='iframe'")?> |
testcase->resultList[$result->caseResult]?> |
+ files)):?>
+ id}", '', '', "data-toggle='modal' title='{$lang->files}' data-type='iframe'")?> |
+
|
- |
+ |
@@ -71,7 +73,7 @@
| text-center'>testcase->resultList[$stepResult['result']];?> |
- ', '', "data-toggle='modal' title='{$lang->files}' data-type='iframe' style='float:right'")?>
+ ', '', "data-toggle='modal' title='{$lang->files}' data-type='iframe' style='float:right'")?>
|
diff --git a/module/testtask/view/runcase.html.php b/module/testtask/view/runcase.html.php
index 06f4e7908b..694b01621b 100644
--- a/module/testtask/view/runcase.html.php
+++ b/module/testtask/view/runcase.html.php
@@ -25,7 +25,7 @@
| testcase->precondition;?> case->precondition;?> |
-
+
| testcase->stepID;?> |
testcase->stepDesc;?> |
testcase->stepExpect;?> |
@@ -33,7 +33,7 @@
testcase->real;?>
case->steps)):?>
-
+
|
@@ -49,7 +49,7 @@
| id]", '', "rows=2 class='form-control fix-textarea'");?> |
- |
+ |
|