* adjust search config for branch.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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¤tModuleID=0" . ($branch ? "&branch=%s" : ''));
|
||||
}
|
||||
return $link;
|
||||
}
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);});
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user