* adjust search config for branch.

This commit is contained in:
wangyidong
2015-10-30 09:13:43 +08:00
parent 2fd60f85c3
commit e58fe08c46
15 changed files with 33 additions and 48 deletions
+1 -1
View File
@@ -167,7 +167,7 @@ class block extends control
{
$this->app->loadClass('pager', $static = true);
$pager = pager::init(0, $this->params->num, 1);
$this->view->projectStats = $this->loadModel('project')->getProjectStats($status = 'undone', $productID = 0, $itemCounts = 30, $orderBy = 'code', $pager);
$this->view->projectStats = $this->loadModel('project')->getProjectStats($status = 'undone', $productID = 0, $branch = 0, $itemCounts = 30, $orderBy = 'code', $pager);
$this->display();
}
+2 -9
View File
@@ -338,15 +338,8 @@ class build extends control
$this->config->product->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts(array($build->product => $build->product));
$this->config->product->search['params']['module']['values'] = $this->tree->getOptionMenu($build->product, $viewType = 'story', $startModuleID = 0);
$this->config->product->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $this->lang->story->statusList);
if($product->type == 'normal')
{
unset($this->config->product->search['fields']['branch']);
unset($this->config->product->search['params']['branch']);
}
else
{
$this->config->product->search['params']['branch']['values'] = array('' => '') + $this->loadModel('branch')->getPairs($product->id, 'noempty');
}
unset($this->config->product->search['fields']['branch']);
unset($this->config->product->search['params']['branch']);
$this->loadModel('search')->setSearchParams($this->config->product->search);
if($browseType == 'bySearch')
+3 -3
View File
@@ -38,12 +38,12 @@ $lang->product->menuOrder[35] = 'project';
$lang->product->menuOrder[40] = 'branch';
$lang->product->menuOrder[45] = 'module';
$lang->product->menuOrder[50] = 'view';
$lang->product->menuOrder[55] = 'order';
$lang->product->menuOrder[60] = 'create';
$lang->product->menuOrder[65] = 'all';
$lang->product->menuOrder[55] = 'create';
$lang->product->menuOrder[60] = 'all';
$lang->story->menuOrder = $lang->product->menuOrder;
$lang->productplan->menuOrder = $lang->product->menuOrder;
$lang->release->menuOrder = $lang->product->menuOrder;
$lang->branch->menuOrder = $lang->product->menuOrder;
/* project menu order. */
$lang->project->menuOrder[5] = 'task';
+1 -1
View File
@@ -84,7 +84,7 @@ class product extends control
$this->product->setMenu($this->products, $productID, $branch);
$this->app->loadLang('my');
$this->view->projectStats = $this->loadModel('project')->getProjectStats($status, $productID);
$this->view->projectStats = $this->loadModel('project')->getProjectStats($status, $productID, $branch);
$this->view->title = $this->products[$productID] . $this->lang->colon . $this->lang->product->project;
$this->view->position[] = $this->products[$productID];
+5 -1
View File
@@ -689,6 +689,10 @@ class productModel extends model
{
$link = helper::createLink($module, $method, "status=all&productID=%s" . ($branch ? "&branch=%s" : ''));
}
elseif($module == 'product' && ($method == 'dynamic' or $method == 'roadmap' or $method == 'doc' or $method == 'view'))
{
$link = helper::createLink($module, $method, "productID=%s");
}
elseif($module == 'product' && $method == 'index')
{
$link = helper::createLink($module, $method, "locate=no&productID=%s");
@@ -709,7 +713,7 @@ class productModel extends model
}
else if($module == 'tree')
{
$link = helper::createLink($module, $method, "productID=%s&type=$extra");
$link = helper::createLink($module, $method, "productID=%s&type=$extra&currentModuleID=0" . ($branch ? "&branch=%s" : ''));
}
return $link;
}
+3 -10
View File
@@ -281,20 +281,13 @@ class productplan extends control
$storyStatusList = $this->lang->story->statusList;
unset($storyStatusList['closed']);
$this->config->product->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $storyStatusList);
if($this->view->product->type == 'normal')
{
unset($this->config->product->search['fields']['branch']);
unset($this->config->product->search['params']['branch']);
}
else
{
$this->config->product->search['params']['branch']['values'] = array('' => '') + $this->loadModel('branch')->getPairs($this->view->product->id, 'noempty');
}
unset($this->config->product->search['fields']['branch']);
unset($this->config->product->search['params']['branch']);
$this->loadModel('search')->setSearchParams($this->config->product->search);
if($browseType == 'bySearch')
{
$allStories = $this->story->getBySearch($plan->product, $queryID, 'id');
$allStories = $this->story->getBySearch($plan->product, $queryID, 'id', $pager = null, $projectID = '', $plan->branch);
foreach($allStories as $key => $story)
{
if($story->status == 'closed') unset($allStories[$key]);
+1 -1
View File
@@ -51,7 +51,7 @@ class project extends control
$this->app->loadLang('my');
$this->view->title = $this->lang->project->allProject;
$this->view->position[] = $this->lang->project->allProject;
$this->view->projectStats = $this->project->getProjectStats($status == 'byproduct' ? 'all' : $status, $productID, 30, $orderBy, $pager);
$this->view->projectStats = $this->project->getProjectStats($status == 'byproduct' ? 'all' : $status, $productID, 0, 30, $orderBy, $pager);
$this->view->products = array(0 => $this->lang->product->select) + $this->loadModel('product')->getPairs();
$this->view->productID = $productID;
$this->view->projectID = $projectID;
+3 -3
View File
@@ -561,7 +561,7 @@ class projectModel extends model
->andWhere('t2.deleted')->eq(0)
->andWhere('t2.iscat')->eq(0)
->beginIF($status == 'undone')->andWhere('t2.status')->ne('done')->fi()
->beginIF($branch != 0)->andWhere('t1.branch')->eq($branch)->fi()
->beginIF($branch)->andWhere('t1.branch')->eq($branch)->fi()
->beginIF($status == 'isdoing')->andWhere('t2.status')->ne('done')->andWhere('t2.status')->ne('suspended')->fi()
->beginIF($status != 'all' and $status != 'isdoing' and $status != 'undone')->andWhere('status')->in($status)->fi()
->orderBy('order_desc')
@@ -629,10 +629,10 @@ class projectModel extends model
* @access public
* @return void
*/
public function getProjectStats($status = 'undone', $productID = 0, $itemCounts = 30, $orderBy = 'order_desc', $pager = null)
public function getProjectStats($status = 'undone', $productID = 0, $branch = 0, $itemCounts = 30, $orderBy = 'order_desc', $pager = null)
{
/* Init vars. */
$projects = $this->getList($status, 0, $productID);
$projects = $this->getList($status, 0, $productID, $branch);
foreach($projects as $projectID => $project)
{
if(!$this->checkPriv($project)) unset($projects[$projectID]);
+3 -10
View File
@@ -347,20 +347,13 @@ class release extends control
$this->config->product->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts(array($release->product => $release->product));
$this->config->product->search['params']['module']['values'] = $this->tree->getOptionMenu($release->product, $viewType = 'story', $startModuleID = 0);
$this->config->product->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $this->lang->story->statusList);
if($this->session->currentProductType == 'normal')
{
unset($this->config->product->search['fields']['branch']);
unset($this->config->product->search['params']['branch']);
}
else
{
$this->config->product->search['params']['branch']['values'] = array('' => '') + $this->loadModel('branch')->getPairs($release->product, 'noempty');
}
unset($this->config->product->search['fields']['branch']);
unset($this->config->product->search['params']['branch']);
$this->loadModel('search')->setSearchParams($this->config->product->search);
if($browseType == 'bySearch')
{
$allStories = $this->story->getBySearch($release->product, $queryID, 'id', null, $build->project ? $build->project : '');
$allStories = $this->story->getBySearch($release->product, $queryID, 'id', null, $build->project ? $build->project : '', $release->branch);
}
else
{
+5 -1
View File
@@ -1152,7 +1152,7 @@ class storyModel extends model
* @access public
* @return array
*/
public function getBySearch($productID, $queryID, $orderBy, $pager = null, $projectID = '')
public function getBySearch($productID, $queryID, $orderBy, $pager = null, $projectID = '', $branch = 0)
{
if($projectID != '')
{
@@ -1188,6 +1188,10 @@ class storyModel extends model
$storyQuery .= " AND `branch`" . helper::dbIN($branches);
$storyQuery .= " AND `status` != 'draft'";
}
elseif($branch)
{
$storyQuery .= " AND `branch`" . helper::dbIN("0,$branch");
}
return $this->getBySQL($queryProductID, $storyQuery, $orderBy, $pager);
}
+1 -1
View File
@@ -4,7 +4,7 @@ delete defaultChosenOptions.width;
/* Get select of stories.*/
function setStories(moduleID, projectID, num)
{
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&moduleID=' + moduleID + '&storyID=0&num=' + num + '&type=short');
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=' + moduleID + '&storyID=0&num=' + num + '&type=short');
$.get(link, function(stories)
{
var storyID = $('#story' + num).val();
+1 -1
View File
@@ -111,7 +111,7 @@ function loadModuleRelated()
/* Get select of stories.*/
function setStories(moduleID, projectID)
{
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&moduleID=' + moduleID);
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=' + moduleID);
$.get(link, function(stories)
{
var storyID = $('#story').val();
+1 -1
View File
@@ -48,7 +48,7 @@ function loadModuleMenu(projectID)
*/
function loadProjectStories(projectID)
{
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&moduleID=0&storyID=' + oldStoryID);
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=0&storyID=' + oldStoryID);
$('#storyIdBox').load(link, function(){$('#story').chosen(defaultChosenOptions);});
}
+1 -1
View File
@@ -55,7 +55,7 @@ class tree extends control
if($viewType == 'story')
{
$this->lang->set('menugroup.tree', 'product');
$this->product->setMenu($this->product->getPairs(), $rootID, 'story');
$this->product->setMenu($this->product->getPairs(), $rootID, $branch, 'story');
$this->lang->tree->menu = $this->lang->product->menu;
$this->lang->tree->menuOrder = $this->lang->product->menuOrder;
+2 -4
View File
@@ -856,8 +856,7 @@ class treeModel extends model
->where('root')->eq((int)$rootID)
->andWhere('parent')->eq((int)$moduleID)
->andWhere('type')->eq($type)
->beginIF(empty($branch))->andWhere("branch")->eq(0)->fi()
->beginIF(!empty($branch))->andWhere("branch")->eq($branch)->fi()
->andWhere("branch")->eq((int)$branch)
->orderBy('`order`')
->fetchAll();
}
@@ -868,8 +867,7 @@ class treeModel extends model
->where('root')->eq((int)$rootID)
->andWhere('parent')->eq((int)$moduleID)
->andWhere('type')->in($type)
->beginIF(empty($branch))->andWhere("branch")->eq(0)->fi()
->beginIF(!empty($branch))->andWhere("branch")->eq($branch)->fi()
->andWhere("branch")->eq((int)$branch)
->orderBy('type desc,`order`')
->fetchAll();
}