diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php
index 3ca59f44a8..4ed14ad14d 100644
--- a/module/common/lang/menu.php
+++ b/module/common/lang/menu.php
@@ -210,7 +210,7 @@ $lang->scrum->menu->projectplan = array('link' => "{$lang->productplan->shortCom
$lang->scrum->menu->doc = array('link' => "{$lang->doc->common}|doc|projectSpace|objectID=%s", 'subModule' => 'doc,api');
$lang->scrum->menu->qa = array('link' => "{$lang->qa->common}|project|bug|projectID=%s", 'subModule' => 'testcase,testtask,bug,testreport', 'alias' => 'bug,testtask,testcase,testreport', 'exclude' => 'execution-create,execution-batchedit');
$lang->scrum->menu->devops = array('link' => "{$lang->repo->common}|repo|browse|repoID=0&branchID=&objectID=%s", 'subModule' => 'repo');
-$lang->scrum->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s", 'subModule' => 'projectbuild');
+$lang->scrum->menu->build = array('link' => "{$lang->build->common}|projectbuild|browse|project=%s", 'subModule' => 'projectbuild');
$lang->scrum->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease');
$lang->scrum->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s");
$lang->scrum->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'tree,stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team', 'exclude' => 'tree-browsetask');
@@ -262,7 +262,7 @@ $lang->waterfall->menu->design = array('link' => "{$lang->design->common}|de
$lang->waterfall->menu->qa = array('link' => "{$lang->qa->common}|project|bug|projectID=%s", 'subModule' => 'testcase,testtask,bug,testreport', 'alias' => 'bug,testtask,testcase,testreport');
$lang->waterfall->menu->doc = array('link' => "{$lang->doc->common}|doc|projectSpace|objectID=%s");
$lang->waterfall->menu->devops = array('link' => "{$lang->repo->common}|repo|browse|repoID=0&branchID=&objectID=%s", 'subModule' => 'repo');
-$lang->waterfall->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s", 'subModule' => 'projectbuild');
+$lang->waterfall->menu->build = array('link' => "{$lang->build->common}|projectbuild|browse|project=%s", 'subModule' => 'projectbuild');
$lang->waterfall->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease');
$lang->waterfall->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s");
$lang->waterfall->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team', 'exclude' => 'tree-browsetask');
@@ -306,7 +306,7 @@ $lang->waterfall->menu->design['subMenu']->bysearch = array('link' => 'kanban->common}|project|index|project=%s");
-$lang->kanbanProject->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s", 'subModule' => 'projectbuild');
+$lang->kanbanProject->menu->build = array('link' => "{$lang->build->common}|projectbuild|browse|project=%s", 'subModule' => 'projectbuild');
$lang->kanbanProject->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'tree,stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team');
$lang->kanbanProject->dividerMenu = '';
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index 1a4b1758d2..d90bc4ab29 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -187,7 +187,6 @@ $lang->resource->project->addWhitelist = 'addWhitelist';
$lang->resource->project->unbindWhitelist = 'unbindWhitelist';
$lang->resource->project->manageProducts = 'manageProducts';
$lang->resource->project->dynamic = 'dynamic';
-$lang->resource->project->build = 'build';
$lang->resource->project->qa = 'qa';
$lang->resource->project->bug = 'bug';
$lang->resource->project->testcase = 'testcase';
@@ -228,18 +227,17 @@ $lang->project->methodOrder[115] = 'unbindWhitelist';
$lang->project->methodOrder[120] = 'manageProducts';
$lang->project->methodOrder[125] = 'view';
$lang->project->methodOrder[130] = 'dynamic';
-$lang->project->methodOrder[135] = 'build';
-$lang->project->methodOrder[140] = 'qa';
-$lang->project->methodOrder[145] = 'bug';
-$lang->project->methodOrder[150] = 'testcase';
-$lang->project->methodOrder[155] = 'testtask';
-$lang->project->methodOrder[160] = 'testreport';
-$lang->project->methodOrder[165] = 'execution';
-$lang->project->methodOrder[170] = 'export';
-$lang->project->methodOrder[175] = 'updateOrder';
-$lang->project->methodOrder[180] = 'team';
-$lang->project->methodOrder[185] = 'unlinkMember';
-$lang->project->methodOrder[190] = 'manageRepo';
+$lang->project->methodOrder[135] = 'qa';
+$lang->project->methodOrder[140] = 'bug';
+$lang->project->methodOrder[145] = 'testcase';
+$lang->project->methodOrder[150] = 'testtask';
+$lang->project->methodOrder[155] = 'testreport';
+$lang->project->methodOrder[160] = 'execution';
+$lang->project->methodOrder[165] = 'export';
+$lang->project->methodOrder[170] = 'updateOrder';
+$lang->project->methodOrder[175] = 'team';
+$lang->project->methodOrder[180] = 'unlinkMember';
+$lang->project->methodOrder[185] = 'manageRepo';
$lang->resource->projectbuild = new stdclass();
$lang->resource->projectbuild->browse = 'browse';
diff --git a/module/project/control.php b/module/project/control.php
index 7ec9d24580..efefdbe554 100755
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -1436,10 +1436,13 @@ class project extends control
$products = $this->product->getProducts($projectID, 'all', '', false);
$products = array('' => '') + $products;
+
+ $fromModule = $this->app->tab == 'project' ? 'projectbuild' : 'project';
+ $fromMethod = $this->app->tab == 'project' ? 'browse' : 'build';
/* Build the search form. */
$type = strtolower($type);
$queryID = ($type == 'bysearch') ? (int)$param : 0;
- $actionURL = $this->createLink('project', 'build', "projectID=$projectID&type=bysearch&queryID=myQueryID");
+ $actionURL = $this->createLink($fromModule, $fromMethod, "projectID=$projectID&type=bysearch&queryID=myQueryID");
$devel = $project->model == 'waterfall' ? true : false;
$executions = $this->loadModel('execution')->getByProject($projectID, 'all', '', true, $devel);
@@ -1514,6 +1517,8 @@ class project extends control
$this->view->buildPairs = $this->loadModel('build')->getBuildPairs(0);
$this->view->type = $type;
$this->view->showBranch = $showBranch;
+ $this->view->fromModule = $fromModule;
+ $this->view->fromMethod = $fromMethod;
$this->display();
}
diff --git a/module/project/js/build.js b/module/project/js/build.js
index 23c21fa95c..0c6f514ae7 100644
--- a/module/project/js/build.js
+++ b/module/project/js/build.js
@@ -7,7 +7,7 @@
*/
function changeProduct(productID)
{
- link = createLink('project', 'build', 'projectID=' + projectID + '&type=product¶m=' + productID);
+ link = createLink(fromModule, fromMethod, 'projectID=' + projectID + '&type=product¶m=' + productID);
location.href = link;
}
diff --git a/module/project/model.php b/module/project/model.php
index 565734be8d..1ee37eb913 100644
--- a/module/project/model.php
+++ b/module/project/model.php
@@ -681,7 +681,9 @@ class projectModel extends model
}
else
{
- $link = helper::createLink('project', 'build', "projectID=%s");
+ $fromModule = $this->app->tab == 'project' ? 'projectbuild' : 'project';
+ $fromMethod = $this->app->tab == 'project' ? 'browse' : 'build';
+ $link = helper::createLink($fromModule, $fromMethod, "projectID=%s");
}
}
elseif($module == 'projectrelease')
diff --git a/module/project/view/build.html.php b/module/project/view/build.html.php
index 6b4a0966b3..6d7542d6ff 100644
--- a/module/project/view/build.html.php
+++ b/module/project/view/build.html.php
@@ -15,6 +15,8 @@
project->noDevStage)?>
project->createExecution)?>
build->confirmDelete)?>
+
+
$label";
if($type == $featureType) $label .= " {$buildsTotal}";
- echo html::a(inlink('build', "projectID=$projectID&type=$featureType"), $label, '',"class='btn btn-link $activeClass' data-app={$app->tab} id=" . $featureType .'Tab');
+ echo html::a($this->createLink($fromModule, $fromMethod, "projectID=$projectID&type=$featureType"), $label, '',"class='btn btn-link $activeClass' data-app={$app->tab} id=" . $featureType .'Tab');
}
?>
hasProduct):?>
@@ -67,12 +69,11 @@
$builds):?>
$build):?>
- execution ? 'build' : 'projectbuild';?>
- id"), sprintf('%03d', $build->id), '', "data-app='project'");?>
+ id"), sprintf('%03d', $build->id), '', "data-app='project'");?>
- createLink($module, 'view', "buildID=$build->id"), $build->name, '', "data-app='project' class='buildName'");?>
+ createLink($fromModule, 'view', "buildID=$build->id"), $build->name, '', "data-app='project' class='buildName'");?>
execution):?>
diff --git a/module/projectbuild/control.php b/module/projectbuild/control.php
index 2b7e6385cb..40e43b1f47 100644
--- a/module/projectbuild/control.php
+++ b/module/projectbuild/control.php
@@ -19,62 +19,9 @@ class projectBuild extends control
* @access public
* @return void
*/
- public function browse($projectID = 0, $type = 'all', $param = 0)
+ public function browse($projectID = 0, $type = 'all', $param = 0, $orderBy = 't1.date_desc,t1.id_desc')
{
- $this->loadModel('project');
- $this->loadModel('product');
- $this->loadModel('execution');
- $this->loadModel('build');
- $project = $this->project->getByID($projectID);
-
- /* Get products' list. */
- $products = $this->product->getProducts($projectID, 'all', '', false);
- $products = array('' => '') + $products;
-
- /* Build the search form. */
- $type = strtolower($type);
- $queryID = ($type == 'bysearch') ? (int)$param : 0;
- $actionURL = $this->createLink('projectbuild', 'browse', "projectID=$projectID&type=bysearch&queryID=myQueryID");
-
- $executions = $this->execution->getByProject($projectID, 'all', '', true);
- $this->config->build->search['fields']['project'] = $this->project->lang->executionCommon;
- $this->config->build->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => array('' => '') + $executions);
-
- $this->project->buildProjectBuildSearchForm($products, $queryID, $actionURL, 'project');
- commonModel::setAppObjectID('project', $projectID);
-
- if($type == 'bysearch')
- {
- $builds = $this->build->getProjectBuildsBySearch((int)$projectID, (int)$param);
- }
- else
- {
- $builds = $this->build->getProjectBuilds((int)$projectID, $type, $param);
- }
-
- /* Set project builds. */
- $projectBuilds = array();
- if(!empty($builds))
- {
- foreach($builds as $build) $projectBuilds[$build->product][] = $build;
- }
-
- /* Header and position. */
- $this->view->title = $project->name . $this->lang->colon . $this->lang->execution->build;
- $this->view->position[] = html::a(inlink('browse', "projectID=$projectID"), $project->name);
- $this->view->position[] = $this->lang->execution->build;
-
- $this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->buildsTotal = count($builds);
- $this->view->projectBuilds = $projectBuilds;
- $this->view->projectID = $projectID;
- $this->view->product = $type == 'product' ? $param : 'all';
- $this->view->project = $project;
- $this->view->products = $products;
- $this->view->executions = $executions;
- $this->view->type = $type;
-
- $this->display();
+ echo $this->fetch('project', 'build', "projectID=$projectID&type=$type¶m=$param&orderBy=$orderBy");
}
/**
diff --git a/module/projectbuild/lang/zh-cn.php b/module/projectbuild/lang/zh-cn.php
index 9273c76f37..425280824e 100644
--- a/module/projectbuild/lang/zh-cn.php
+++ b/module/projectbuild/lang/zh-cn.php
@@ -11,14 +11,14 @@
*/
$lang->projectbuild->common = $lang->projectCommon . '版本';
$lang->projectbuild->browse = '版本列表';
-$lang->projectbuild->create = "创建集成版本";
-$lang->projectbuild->edit = "编辑集成版本";
-$lang->projectbuild->delete = "删除集成版本";
-$lang->projectbuild->view = "集成版本详情";
-$lang->projectbuild->linkStory = "集成版本关联{$lang->SRCommon}";
-$lang->projectbuild->linkBug = "集成版本关联Bug";
-$lang->projectbuild->unlinkStory = "集成版本移除{$lang->SRCommon}";
-$lang->projectbuild->unlinkBug = "集成版本移除Bug";
-$lang->projectbuild->batchUnlink = '集成版本批量移除';
-$lang->projectbuild->batchUnlinkStory = "集成版本批量移除{$lang->SRCommon}";
-$lang->projectbuild->batchUnlinkBug = '集成版本批量移除Bug';
+$lang->projectbuild->create = "创建版本";
+$lang->projectbuild->edit = "编辑版本";
+$lang->projectbuild->delete = "删除版本";
+$lang->projectbuild->view = "版本详情";
+$lang->projectbuild->linkStory = "关联{$lang->SRCommon}";
+$lang->projectbuild->linkBug = "关联Bug";
+$lang->projectbuild->unlinkStory = "移除{$lang->SRCommon}";
+$lang->projectbuild->unlinkBug = "移除Bug";
+$lang->projectbuild->batchUnlink = '批量移除';
+$lang->projectbuild->batchUnlinkStory = "批量移除{$lang->SRCommon}";
+$lang->projectbuild->batchUnlinkBug = '批量移除Bug';