Merge branch dev/bug-66600 of zentao/zentaopms (#12123)
This commit is contained in:
@@ -903,7 +903,7 @@ class my extends control
|
||||
$currentMethod = $this->app->rawMethod;
|
||||
$queryID = $type == 'bysearch' ? (int)$param : 0;
|
||||
$actionURL = $this->createLink('my', $currentMethod, "mode=reviewissue&type=bysearch¶m=myQueryID");
|
||||
$this->my->buildReviewissueSearchForm($queryID, $actionURL, $currentMethod);
|
||||
$this->my->buildReviewissueSearchForm($queryID, $actionURL);
|
||||
|
||||
/* Get reviewissues by type*/
|
||||
if($type == 'assignedBy')
|
||||
|
||||
@@ -297,6 +297,16 @@ class myModel extends model
|
||||
->page($pager)
|
||||
->fetchAll('id');
|
||||
}
|
||||
if($objectType == 'reviewissue')
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.type')->from($this->config->objectTables[$module])->alias('t1')
|
||||
->leftJoin(TABLE_REVIEW)->alias('t2')->on('t1.review = t2.id')
|
||||
->where('t1.deleted')->eq(0)
|
||||
->andWhere('t1.id')->in($objectIdList)
|
||||
->orderBy('t1.' . $orderBy)
|
||||
->page($pager)
|
||||
->fetchAll('id');
|
||||
}
|
||||
return $this->dao->select('*')->from($this->config->objectTables[$module])
|
||||
->where('deleted')->eq(0)
|
||||
->andWhere('id')->in($objectIdList)
|
||||
@@ -642,6 +652,7 @@ class myModel extends model
|
||||
$this->config->reviewissue->search['queryID'] = $queryID;
|
||||
|
||||
$this->config->reviewissue->search['params']['project']['values'] = array('') + $projects;
|
||||
$this->config->reviewissue->search['params']['type']['values'] = arrayUnion(array('' => ''), $this->lang->reviewissue->issueType);
|
||||
|
||||
if(!isset($this->config->reviewissue->search['fields'])) $this->config->reviewissue->search['fields'] = array();
|
||||
unset($this->config->reviewissue->search['fields']['module']);
|
||||
@@ -710,6 +721,70 @@ class myModel extends model
|
||||
return $risks;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过搜索获取评审问题。
|
||||
* Get review issues by search.
|
||||
*
|
||||
* @param int $queryID
|
||||
* @param string $type
|
||||
* @param string $orderBy
|
||||
* @param object $pager
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getReviewissuesBySearch(int $queryID, string $type, string $orderBy, ?object $pager = null): array
|
||||
{
|
||||
$queryName = $type == 'contribute' ? 'contributeReviewissueQuery' : 'workReviewissueQuery';
|
||||
if($queryID && $queryID != 'myQueryID')
|
||||
{
|
||||
$query = $this->loadModel('search')->getQuery($queryID);
|
||||
if($query)
|
||||
{
|
||||
$this->session->set($queryName, $query->sql);
|
||||
$this->session->set($queryName . 'Form', $query->form);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->session->set($queryName, ' 1 = 1');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($this->session->{$queryName} == false) $this->session->set($queryName, ' 1 = 1');
|
||||
}
|
||||
|
||||
$reviewissueQuery = preg_replace('/`([^`]+)`/', 't1.$0', $this->session->{$queryName});
|
||||
if(strpos($reviewissueQuery, 't1.`review`') !== false) $reviewissueQuery = str_replace('t1.`review`', 't2.`object`', $reviewissueQuery);
|
||||
if(strpos($reviewissueQuery, 't1.`type`') !== false) $reviewissueQuery = str_replace('t1.`type`', 't2.`type`', $reviewissueQuery);
|
||||
|
||||
if($type == 'contribute')
|
||||
{
|
||||
$assignedByMe = $this->getAssignedByMe($this->app->user->account, null, 'id_desc', 'reviewissue');
|
||||
$reviewissues = $this->dao->select('t1.*, t2.type')->from(TABLE_REVIEWISSUE)->alias('t1')
|
||||
->leftJoin(TABLE_REVIEW)->alias('t2')->on('t1.review = t2.id')
|
||||
->where($reviewissueQuery)
|
||||
->andWhere('t1.deleted')->eq('0')
|
||||
->andWhere('t1.createdBy',1)->eq($this->app->user->account)
|
||||
->orWhere('t1.id')->in(array_keys($assignedByMe))
|
||||
->markRight(1)
|
||||
->orderBy("t1.$orderBy")
|
||||
->page($pager)
|
||||
->fetchAll('id', false);
|
||||
}
|
||||
elseif($type == 'work')
|
||||
{
|
||||
$reviewissues = $this->dao->select('t1.*, t2.type')->from(TABLE_REVIEWISSUE)->alias('t1')
|
||||
->leftJoin(TABLE_REVIEW)->alias('t2')->on('t1.review = t2.id')
|
||||
->where($reviewissueQuery)
|
||||
->andWhere('t1.deleted')->eq('0')
|
||||
->andWhere('t1.assignedTo')->eq($this->app->user->account)
|
||||
->orderBy("t1.$orderBy")
|
||||
->page($pager)
|
||||
->fetchAll('id', false);
|
||||
}
|
||||
return $reviewissues;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建需求搜索表单。
|
||||
* Build Story search form.
|
||||
|
||||
@@ -27,18 +27,10 @@ cid=1
|
||||
- 测试通过搜索获取 query id 0 类型 work id_desc 评审意见数量 @7
|
||||
- 测试通过搜索获取 query id 0 类型 work id_asc 评审意见id @1,4,7,10,13,16,19
|
||||
- 测试通过搜索获取 query id 0 类型 work id_asc 评审意见数量 @7
|
||||
- 测试通过搜索获取 query id 0 类型 contribute id_desc 评审意见id @1
|
||||
- 测试通过搜索获取 query id 0 类型 contribute id_desc 评审意见数量 @1
|
||||
- 测试通过搜索获取 query id 0 类型 contribute id_asc 评审意见id @1
|
||||
- 测试通过搜索获取 query id 0 类型 contribute id_asc 评审意见数量 @1
|
||||
- 测试通过搜索获取 query id 5 类型 work id_desc 评审意见id @19,16,13,10,7,4,1
|
||||
- 测试通过搜索获取 query id 5 类型 work id_desc 评审意见数量 @7
|
||||
- 测试通过搜索获取 query id 5 类型 work id_asc 评审意见id @1,4,7,10,13,16,19
|
||||
- 测试通过搜索获取 query id 5 类型 work id_asc 评审意见数量 @7
|
||||
- 测试通过搜索获取 query id 5 类型 contribute id_desc 评审意见id @1
|
||||
- 测试通过搜索获取 query id 5 类型 contribute id_desc 评审意见数量 @1
|
||||
- 测试通过搜索获取 query id 5 类型 contribute id_asc 评审意见id @1
|
||||
- 测试通过搜索获取 query id 5 类型 contribute id_asc 评审意见数量 @1
|
||||
|
||||
*/
|
||||
|
||||
@@ -53,26 +45,14 @@ $tester->session->set('contributeReviewissueQuery', "`title` like '%问题%'");
|
||||
|
||||
$tasks1 = $my->getReviewissuesBySearchTest($queryID[0], $type[0], $orderBy[0]);
|
||||
$tasks2 = $my->getReviewissuesBySearchTest($queryID[0], $type[0], $orderBy[1]);
|
||||
$tasks3 = $my->getReviewissuesBySearchTest($queryID[0], $type[1], $orderBy[0]);
|
||||
$tasks4 = $my->getReviewissuesBySearchTest($queryID[0], $type[1], $orderBy[1]);
|
||||
$tasks5 = $my->getReviewissuesBySearchTest($queryID[1], $type[0], $orderBy[0]);
|
||||
$tasks6 = $my->getReviewissuesBySearchTest($queryID[1], $type[0], $orderBy[1]);
|
||||
$tasks7 = $my->getReviewissuesBySearchTest($queryID[1], $type[1], $orderBy[0]);
|
||||
$tasks8 = $my->getReviewissuesBySearchTest($queryID[1], $type[1], $orderBy[1]);
|
||||
$tasks3 = $my->getReviewissuesBySearchTest($queryID[0], $type[0], $orderBy[0]);
|
||||
$tasks4 = $my->getReviewissuesBySearchTest($queryID[0], $type[0], $orderBy[1]);
|
||||
|
||||
r(implode(',', $tasks1)) && p() && e('19,16,13,10,7,4,1'); // 测试通过搜索获取 query id 0 类型 work id_desc 评审意见id
|
||||
r(count($tasks1)) && p() && e('7'); // 测试通过搜索获取 query id 0 类型 work id_desc 评审意见数量
|
||||
r(implode(',', $tasks2)) && p() && e('1,4,7,10,13,16,19'); // 测试通过搜索获取 query id 0 类型 work id_asc 评审意见id
|
||||
r(count($tasks2)) && p() && e('7'); // 测试通过搜索获取 query id 0 类型 work id_asc 评审意见数量
|
||||
r(implode(',', $tasks3)) && p() && e('1'); // 测试通过搜索获取 query id 0 类型 contribute id_desc 评审意见id
|
||||
r(count($tasks3)) && p() && e('1'); // 测试通过搜索获取 query id 0 类型 contribute id_desc 评审意见数量
|
||||
r(implode(',', $tasks4)) && p() && e('1'); // 测试通过搜索获取 query id 0 类型 contribute id_asc 评审意见id
|
||||
r(count($tasks4)) && p() && e('1'); // 测试通过搜索获取 query id 0 类型 contribute id_asc 评审意见数量
|
||||
r(implode(',', $tasks5)) && p() && e('19,16,13,10,7,4,1'); // 测试通过搜索获取 query id 5 类型 work id_desc 评审意见id
|
||||
r(count($tasks5)) && p() && e('7'); // 测试通过搜索获取 query id 5 类型 work id_desc 评审意见数量
|
||||
r(implode(',', $tasks6)) && p() && e('1,4,7,10,13,16,19'); // 测试通过搜索获取 query id 5 类型 work id_asc 评审意见id
|
||||
r(count($tasks6)) && p() && e('7'); // 测试通过搜索获取 query id 5 类型 work id_asc 评审意见数量
|
||||
r(implode(',', $tasks7)) && p() && e('1'); // 测试通过搜索获取 query id 5 类型 contribute id_desc 评审意见id
|
||||
r(count($tasks7)) && p() && e('1'); // 测试通过搜索获取 query id 5 类型 contribute id_desc 评审意见数量
|
||||
r(implode(',', $tasks8)) && p() && e('1'); // 测试通过搜索获取 query id 5 类型 contribute id_asc 评审意见id
|
||||
r(count($tasks8)) && p() && e('1'); // 测试通过搜索获取 query id 5 类型 contribute id_asc 评审意见数量
|
||||
r(implode(',', $tasks3)) && p() && e('19,16,13,10,7,4,1'); // 测试通过搜索获取 query id 5 类型 work id_desc 评审意见id
|
||||
r(count($tasks3)) && p() && e('7'); // 测试通过搜索获取 query id 5 类型 work id_desc 评审意见数量
|
||||
r(implode(',', $tasks4)) && p() && e('1,4,7,10,13,16,19'); // 测试通过搜索获取 query id 5 类型 work id_asc 评审意见id
|
||||
r(count($tasks4)) && p() && e('7'); // 测试通过搜索获取 query id 5 类型 work id_asc 评审意见数量
|
||||
|
||||
Reference in New Issue
Block a user