This commit is contained in:
wangyidong
2024-07-02 11:15:56 +08:00
committed by 田淑杰
parent df34e43515
commit 76549b90eb
3 changed files with 17 additions and 2 deletions
+7
View File
@@ -807,6 +807,13 @@ class product extends control
$branch = ($this->cookie->preBranch !== '' and $branch === '') ? $this->cookie->preBranch : $branch;
if(is_bool($branch)) $branch = (string)(int)$branch;
$rawModule = $this->app->rawModule;
if($browseType == 'bysearch' && isset($_SESSION[$rawModule . 'TrackQuery']))
{
if($rawModule == 'product') $this->session->set('storyQuery', $_SESSION[$rawModule . 'TrackQuery']);
if($rawModule == 'projectstory') $this->session->set('projectstoryQuery', $_SESSION[$rawModule . 'TrackQuery']);
}
/* Set menu. The projectstory module does not execute. */
$this->productZen->setTrackMenu($productID, $branch, $projectID);
+5
View File
@@ -771,6 +771,11 @@ class productModel extends model
$searchConfig['params']['branch']['values'] = array('' => '', '0' => $this->lang->branch->main) + $this->loadModel('branch')->getPairs($productID, 'noempty');
}
}
else
{
unset($searchConfig['fields']['branch']);
unset($searchConfig['params']['branch']);
}
$this->loadModel('search')->setSearchParams($searchConfig);
}
+5 -2
View File
@@ -458,15 +458,18 @@ class storyTao extends storyModel
$storyQuery = preg_replace_callback("/t2.`grade` (=|!=) '(\w+)(\d+)'/", function($matches){return "t2.`grade` {$matches[1]} '" . $matches[3] . "' AND t2.`type` = '" . $matches[2] . "'";}, $storyQuery);
if(strpos($storyQuery, 'result') !== false) $storyQuery = str_replace('t2.`result`', 't4.`result`', $storyQuery);
$hasExecution = strpos($storyQuery, 't2.`execution`') !== false;
if($hasExecution) $storyQuery = str_replace('t2.`execution`', 't1.`project`', $storyQuery);
return $this->dao->select("distinct t1.*, t2.*, IF(t2.`pri` = 0, {$this->config->maxPriValue}, t2.`pri`) as priOrder, t3.type as productType, t2.version as version")->from(TABLE_PROJECTSTORY)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t2.product = t3.id')
->beginIF(strpos($storyQuery, 'result') !== false)->leftJoin(TABLE_STORYREVIEW)->alias('t4')->on('t2.id = t4.story and t2.version = t4.version')->fi()
->where($storyQuery)
->andWhere('t1.project')->eq($executionID)
->beginIF(!$hasExecution)->andWhere('t1.project')->eq($executionID)->fi()
->andWhere('t2.deleted')->eq(0)
->andWhere('t3.deleted')->eq(0)
->andWhere('t2.type')->in($storyType)
->beginIF($storyType != 'all')->andWhere('t2.type')->in($storyType)->fi()
->beginIF($sqlCondition)->andWhere($sqlCondition)->fi()
->beginIF($excludeStories)->andWhere('t2.id')->notIN($excludeStories)->fi()
->orderBy($orderBy)