diff --git a/module/project/control.php b/module/project/control.php index 5d1b88b417..623729e239 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -158,8 +158,8 @@ class project extends control /* Set queryID, moduleID and productID. */ $queryID = ($browseType == 'bysearch') ? (int)$param : 0; - $moduleID = ($browseType == 'bymodule') ? (int)$param : ($browseType == 'bysearch' ? 0 : $this->cookie->moduleBrowseParam); - $productID = ($browseType == 'byproduct') ? (int)$param : ($browseType == 'bysearch' ? 0 : $this->cookie->productBrowseParam); + $moduleID = ($browseType == 'bymodule') ? (int)$param : (($browseType == 'bysearch' or $browseType == 'byproduct') ? 0 : $this->cookie->moduleBrowseParam); + $productID = ($browseType == 'byproduct') ? (int)$param : (($browseType == 'bysearch' or $browseType == 'bymodule') ? 0 : $this->cookie->productBrowseParam); /* Save to session. */ $uri = $this->app->getURI(true); @@ -249,7 +249,7 @@ class project extends control /* Get tasks and group them. */ if(empty($groupBy))$groupBy = 'story'; - $tasks = $this->loadModel('task')->getProjectTasks($projectID, $status = 'all', $modules = 0, $groupBy); + $tasks = $this->loadModel('task')->getProjectTasks($projectID, $productID = 0, $status = 'all', $modules = 0, $groupBy); $groupBy = str_replace('`', '', $groupBy); $taskLang = $this->lang->task; $groupByList = array(); diff --git a/module/project/model.php b/module/project/model.php index fdca2c80b6..d01e1373b8 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -766,9 +766,13 @@ class projectModel extends model $this->loadModel('task'); /* Set modules and $browseType. */ - $modules = 0; - if($productID) $modules = $this->loadModel('tree')->getProjectModule($projectID, $productID); - if($moduleID) $modules = $this->loadModel('tree')->getAllChildID($moduleID); + $modules = array(); + if($productID) + { + $modules = $this->loadModel('tree')->getProjectModule($projectID, $productID); + $modules[0] = 0; + } + 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; @@ -793,7 +797,7 @@ class projectModel extends model unset($queryStatus['closed']); $queryStatus = array_keys($queryStatus); } - $tasks = $this->task->getProjectTasks($projectID, $queryStatus, $modules, $sort, $pager); + $tasks = $this->task->getProjectTasks($projectID, $productID, $queryStatus, $modules, $sort, $pager); } else { @@ -1234,7 +1238,7 @@ class projectModel extends model $versions = $this->loadModel('story')->getVersions($this->post->stories); foreach($this->post->stories as $key => $storyID) { - $productID = $this->post->products[$key]; + $productID = $this->post->products[$storyID]; $data = new stdclass(); $data->project = $projectID; $data->product = $productID; diff --git a/module/project/view/linkstory.html.php b/module/project/view/linkstory.html.php index a448e25776..9325fa805c 100644 --- a/module/project/view/linkstory.html.php +++ b/module/project/view/linkstory.html.php @@ -45,7 +45,7 @@