* fix error for task #2554 when browseType is 'byproduct'.
This commit is contained in:
@@ -121,13 +121,22 @@ class project extends control
|
||||
/* Set browse type. */
|
||||
$browseType = strtolower($status);
|
||||
|
||||
if($browseType == 'bymodule') setcookie('taskModule', (int)$param, $this->config->cookieLife, $this->config->webRoot);
|
||||
if($browseType != 'bymodule') $this->session->set('taskBrowseType', $browseType);
|
||||
if($browseType == 'bymodule' or $browseType == 'byproduct')
|
||||
{
|
||||
setcookie('taskBrowseType', $browseType, $this->config->cookieLife, $this->config->webRoot);
|
||||
setcookie('browseParam', (int)$param, $this->config->cookieLife, $this->config->webRoot);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->session->set('taskBrowseType', $browseType);
|
||||
}
|
||||
|
||||
/* Set productID, moduleID and queryID. */
|
||||
/* Set queryID, moduleID and productID. */
|
||||
$queryID = ($browseType == 'bysearch') ? (int)$param : 0;
|
||||
$moduleID = ($browseType == 'bymodule') ? (int)$param : ($browseType == 'bysearch' ? 0 : ($this->cookie->taskModule ? $this->cookie->taskModule : 0));
|
||||
$productID = ($browseType == 'byproduct') ? (int)$param : 0;
|
||||
$moduleID = ($browseType == 'bymodule') ? (int)$param : (($browseType == 'bysearch' or $browseType == 'byproduct') ? 0 : ($this->cookie->taskBrowseType == 'bymodule' ? $this->cookie->browseParam : 0));
|
||||
$productID = ($browseType == 'byproduct') ? (int)$param : (($browseType == 'bysearch' or $browseType == 'bymodule') ? 0 : ($this->cookie->taskBrowseType == 'byproduct' ? $this->cookie->browseParam : 0));
|
||||
|
||||
/* Get products by project. */
|
||||
$project = $this->commonAction($projectID, $status);
|
||||
$projectID = $project->id;
|
||||
$products = $this->loadModel('product')->getProductsByProject($projectID);
|
||||
@@ -156,7 +165,7 @@ class project extends control
|
||||
$pager = new pager($recTotal, $recPerPage, $pageID);
|
||||
|
||||
/* Get tasks. */
|
||||
$tasks = $this->project->getTasks($productID, $projectID, $this->projects, $status, $browseType, $queryID, $moduleID, $sort, $pager);
|
||||
$tasks = $this->project->getTasks($productID, $projectID, $this->projects, $browseType, $queryID, $moduleID, $sort, $pager);
|
||||
|
||||
/* Build the search form. */
|
||||
$actionURL = $this->createLink('project', 'task', "projectID=$projectID&status=bySearch¶m=myQueryID");
|
||||
@@ -187,7 +196,6 @@ class project extends control
|
||||
$this->view->modules = $this->tree->getTaskOptionMenu($projectID);
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->moduleTree = $this->tree->getTaskTreeMenu($projectID, $productID = 0, $startModuleID = 0, array('treeModel', 'createTaskLink'));
|
||||
$this->view->moduleName = $moduleID ? $this->tree->getById($moduleID)->name : $this->lang->tree->all;
|
||||
$this->view->projectTree = $this->project->tree();
|
||||
$this->view->memberPairs = $memberPairs;
|
||||
$this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products), 'noempty');
|
||||
|
||||
@@ -752,7 +752,6 @@ class projectModel extends model
|
||||
* @param int $productID
|
||||
* @param int $projectID
|
||||
* @param array $projects
|
||||
* @param string $status
|
||||
* @param string $browseType
|
||||
* @param int $queryID
|
||||
* @param int $moduleID
|
||||
@@ -761,20 +760,24 @@ class projectModel extends model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getTasks($productID, $projectID, $projects, $status, $browseType, $queryID, $moduleID, $sort, $pager)
|
||||
public function getTasks($productID, $projectID, $projects, $browseType, $queryID, $moduleID, $sort, $pager)
|
||||
{
|
||||
$this->loadModel('task');
|
||||
|
||||
/* Set modules and $browseType. */
|
||||
$modules = $moduleID ? $this->loadModel('tree')->getAllChildID($moduleID) : '0';
|
||||
$browseType = (($browseType == 'bymodule') and ($this->session->taskBrowseType) and ($this->session->taskBrowseType != 'bysearch')) ? $this->session->taskBrowseType : $browseType;
|
||||
$modules = 0;
|
||||
if($productID) $modules = $this->loadModel('tree')->getProjectModule($projectID, $productID);
|
||||
if($moduleID) $modules = $this->loadModel('tree')->getAllChildID($moduleID);
|
||||
if($browseType == 'bymodule' or $browseType == 'byproduct')
|
||||
{
|
||||
if(($this->session->taskBrowseType) and ($this->session->taskBrowseType != 'bysearch')) $browseType = $this->session->taskBrowseType;
|
||||
}
|
||||
|
||||
/* Get tasks. */
|
||||
$tasks = array();
|
||||
if($status == 'byProduct')
|
||||
if($browseType == 'byproduct')
|
||||
{
|
||||
$modules = $this->loadModel('tree')->getProjectModule($projectID, $productID);
|
||||
$tasks = $this->task->getTasksByModule($projectID, $modules, $sort, $pager);
|
||||
$tasks = $this->task->getTasksByModule($projectID, $modules, $sort, $pager);
|
||||
}
|
||||
elseif($browseType == 'bymodule')
|
||||
{
|
||||
|
||||
@@ -1,20 +1,30 @@
|
||||
<div id='featurebar'>
|
||||
<ul class='nav'>
|
||||
<?php if(isset($moduleID)):?>
|
||||
<li>
|
||||
<span>
|
||||
<?php
|
||||
echo $moduleName;
|
||||
if($moduleID)
|
||||
if($productID)
|
||||
{
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('task', "projectID=$projectID&browseType=$status¶m=0&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("taskModule")';
|
||||
$product = $this->product->getById($productID);
|
||||
$removeLink = $browseType == 'byproduct' ? inlink('task', "projectID=$projectID&browseType=$status¶m=0&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("browseParam")';
|
||||
echo $product->name;
|
||||
echo ' ' . html::a($removeLink, "<i class='icon icon-remove'></i>") . ' ';
|
||||
}
|
||||
elseif($moduleID)
|
||||
{
|
||||
$module = $this->tree->getById($moduleID);
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('task', "projectID=$projectID&browseType=$status¶m=0&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("browseParam")';
|
||||
echo $module->name;
|
||||
echo ' ' . html::a($removeLink, "<i class='icon icon-remove'></i>") . ' ';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $this->lang->tree->all;
|
||||
}
|
||||
echo " <i class='icon-angle-right'></i> ";
|
||||
?>
|
||||
</span>
|
||||
</li>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$hasBrowsePriv = common::hasPriv('project', 'task');
|
||||
$hasKanbanPriv = common::hasPriv('project', 'kanban');
|
||||
|
||||
Reference in New Issue
Block a user