Merge branch release/21.7.6 of zentao/zentaopms (#11930)
This commit is contained in:
@@ -748,6 +748,7 @@ class myModel extends model
|
||||
|
||||
$myStoryQuery = $this->session->{$queryName};
|
||||
$myStoryQuery = preg_replace('/`(\w+)`/', 't1.`$1`', $myStoryQuery);
|
||||
if(strpos($myStoryQuery, 'result') !== false) $myStoryQuery = str_replace('t1.`result`', 't5.`result`', $myStoryQuery);
|
||||
|
||||
return $this->myTao->fetchStoriesBySearch($myStoryQuery, $type, $orderBy, $pager, $type == 'contribute' ? $this->getAssignedByMe($this->app->user->account, null, $orderBy, 'story') : array());
|
||||
}
|
||||
@@ -898,6 +899,7 @@ class myModel extends model
|
||||
|
||||
$myEpicQuery = $this->session->{$queryName};
|
||||
$myEpicQuery = preg_replace('/`(\w+)`/', 't1.`$1`', $myEpicQuery);
|
||||
if(strpos($myEpicQuery, 'result') !== false) $myEpicQuery = str_replace('t1.`result`', 't3.`result`', $myEpicQuery);
|
||||
|
||||
$epicsAssignedByMe = $type == 'contribute' ? $this->getAssignedByMe($this->app->user->account, null, 'id_desc', 'epic') : array();
|
||||
$epicIdList = array_keys($epicsAssignedByMe);
|
||||
@@ -940,6 +942,7 @@ class myModel extends model
|
||||
|
||||
$myRequirementQuery = $this->session->{$queryName};
|
||||
$myRequirementQuery = preg_replace('/`(\w+)`/', 't1.`$1`', $myRequirementQuery);
|
||||
if(strpos($myRequirementQuery, 'result') !== false) $myRequirementQuery = str_replace('t1.`result`', 't3.`result`', $myRequirementQuery);
|
||||
|
||||
$requirementsAssignedByMe = $type == 'contribute' ? $this->getAssignedByMe($this->app->user->account, null, 'id_desc', 'requirement') : array();
|
||||
$requirementIdList = array_keys($requirementsAssignedByMe);
|
||||
|
||||
@@ -8,13 +8,13 @@ title=测试 myModel->getStoriesBySearch();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 测试获取 queryID 0 类型 contribute 排序 id_desc 的需求。 @17,13,8,7,6,3,2,1
|
||||
- 测试获取 queryID 0 类型 contribute 排序 id_desc 的需求。 @17,13,1
|
||||
|
||||
- 测试获取 queryID 0 类型 contribute 排序 id_asc 的需求。 @1,2,3,6,7,8,13,17
|
||||
- 测试获取 queryID 0 类型 contribute 排序 id_asc 的需求。 @1,13,17
|
||||
|
||||
- 测试获取 queryID 0 类型 other 排序 id_desc 的需求。 @16,13,8,7,1
|
||||
- 测试获取 queryID 0 类型 other 排序 id_desc 的需求。 @16,13,7,1
|
||||
|
||||
- 测试获取 queryID 0 类型 other 排序 id_asc 的需求。 @1,7,8,13,16
|
||||
- 测试获取 queryID 0 类型 other 排序 id_asc 的需求。 @1,7,13,16
|
||||
|
||||
- 测试获取 queryID 1 类型 contribute 排序 id_desc 的需求。 @17,13,1
|
||||
|
||||
@@ -43,11 +43,11 @@ $queryID = array(0, 2);
|
||||
$typeList = array('contribute', 'other');
|
||||
$orderBy = array('id_desc', 'id_asc');
|
||||
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[0], $orderBy[0])) && p() && e('17,13,8,7,6,3,2,1'); // 测试获取 queryID 0 类型 contribute 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[0], $orderBy[1])) && p() && e('1,2,3,6,7,8,13,17'); // 测试获取 queryID 0 类型 contribute 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[1], $orderBy[0])) && p() && e('16,13,8,7,1'); // 测试获取 queryID 0 类型 other 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[1], $orderBy[1])) && p() && e('1,7,8,13,16'); // 测试获取 queryID 0 类型 other 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[0], $orderBy[0])) && p() && e('17,13,1'); // 测试获取 queryID 1 类型 contribute 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[0], $orderBy[1])) && p() && e('1,13,17'); // 测试获取 queryID 1 类型 contribute 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[1], $orderBy[0])) && p() && e('16,13,1'); // 测试获取 queryID 1 类型 other 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[1], $orderBy[1])) && p() && e('1,13,16'); // 测试获取 queryID 1 类型 other 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[0], $orderBy[0])) && p() && e('17,13,1'); // 测试获取 queryID 0 类型 contribute 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[0], $orderBy[1])) && p() && e('1,13,17'); // 测试获取 queryID 0 类型 contribute 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[1], $orderBy[0])) && p() && e('16,13,7,1'); // 测试获取 queryID 0 类型 other 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[0], $typeList[1], $orderBy[1])) && p() && e('1,7,13,16'); // 测试获取 queryID 0 类型 other 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[0], $orderBy[0])) && p() && e('17,13,1'); // 测试获取 queryID 1 类型 contribute 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[0], $orderBy[1])) && p() && e('1,13,17'); // 测试获取 queryID 1 类型 contribute 排序 id_asc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[1], $orderBy[0])) && p() && e('16,13,1'); // 测试获取 queryID 1 类型 other 排序 id_desc 的需求。
|
||||
r($my->getStoriesBySearchTest($queryID[1], $typeList[1], $orderBy[1])) && p() && e('1,13,16'); // 测试获取 queryID 1 类型 other 排序 id_asc 的需求。
|
||||
|
||||
@@ -802,7 +802,7 @@ class projectTao extends projectModel
|
||||
protected function fetchProjectList(string $status, string $orderBy, bool $involved, object|null $pager): array
|
||||
{
|
||||
$query = '';
|
||||
if($status == 'bysearch' && $this->this->session->projectQuery !== false) $query = $this->session->projectQuery;
|
||||
if($status == 'bysearch' && $this->session->projectQuery !== false) $query = $this->session->projectQuery;
|
||||
$query = str_replace('`id`','t1.id', $query);
|
||||
|
||||
return $this->dao->select('DISTINCT t1.*')->from(TABLE_PROJECT)->alias('t1')
|
||||
@@ -811,7 +811,7 @@ class projectTao extends projectModel
|
||||
->where('t1.deleted')->eq('0')
|
||||
->andWhere('t1.vision')->eq($this->config->vision)
|
||||
->andWhere('t1.type')->eq('project')
|
||||
->beginIF(!in_array($status, array('all', 'undone', 'review', 'unclosed', 'delayed'), true))->andWhere('t1.status')->eq($status)->fi()
|
||||
->beginIF(!in_array($status, array('all', 'undone', 'review', 'unclosed', 'delayed', 'bysearch'), true))->andWhere('t1.status')->eq($status)->fi()
|
||||
->beginIF(in_array($status, array('undone', 'unclosed')))->andWhere('t1.status')->in('wait,doing')->fi()
|
||||
->beginIF($status == 'delayed')->andWhere('t1.status')->notIn('done,closed,suspend')->andWhere('t1.end')->lt(helper::today())->fi()
|
||||
->beginIF($status == 'review')
|
||||
|
||||
@@ -1,44 +1,5 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/lib/project.unittest.class.php';
|
||||
su('admin');
|
||||
|
||||
function initData()
|
||||
{
|
||||
$project = zenData('project');
|
||||
$project->id->range('11-19');
|
||||
$project->project->range('11-19');
|
||||
$project->name->prefix("项目")->range('11-19');
|
||||
$project->code->prefix("project")->range('11-19');
|
||||
$project->model->range("scrum");
|
||||
$project->auth->range("[]");
|
||||
$project->path->range("[]");
|
||||
$project->type->range("project");
|
||||
$project->grade->range("1");
|
||||
$project->days->range("1");
|
||||
$project->status->range("wait,doing,suspended,closed");
|
||||
$project->desc->range("[]");
|
||||
$project->budget->range("100000,200000");
|
||||
$project->budgetUnit->range("CNY");
|
||||
$project->percent->range("0-0");
|
||||
$project->openedDate->range("`2023-05-01 10:00:10`");
|
||||
$project->gen(9);
|
||||
|
||||
zenData('team')->gen(10);
|
||||
|
||||
$stakeholder = zenData('stakeholder');
|
||||
$stakeholder->id->range('1-9');
|
||||
$stakeholder->objectID->range('11-19');
|
||||
$stakeholder->objectType->range('program,project');
|
||||
$stakeholder->user->range("admin");
|
||||
$stakeholder->type->range("inside");
|
||||
$stakeholder->from->range("[]");
|
||||
$stakeholder->createdBy->range("admin");
|
||||
$stakeholder->createdDate->range("`2023-05-01 10:00:10`");
|
||||
$stakeholder->gen(9);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::fetchProjectList();
|
||||
@@ -52,8 +13,42 @@ cid=1
|
||||
- 获取错误类型的项目 @0
|
||||
|
||||
*/
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/lib/project.unittest.class.php';
|
||||
|
||||
$project = zenData('project');
|
||||
$project->id->range('11-19');
|
||||
$project->project->range('11-19');
|
||||
$project->name->prefix("项目")->range('11-19');
|
||||
$project->code->prefix("project")->range('11-19');
|
||||
$project->model->range("scrum");
|
||||
$project->auth->range("[]");
|
||||
$project->path->range("[]");
|
||||
$project->type->range("project");
|
||||
$project->grade->range("1");
|
||||
$project->days->range("1");
|
||||
$project->status->range("wait,doing,suspended,closed");
|
||||
$project->desc->range("[]");
|
||||
$project->budget->range("100000,200000");
|
||||
$project->budgetUnit->range("CNY");
|
||||
$project->percent->range("0-0");
|
||||
$project->openedDate->range("`2023-05-01 10:00:10`");
|
||||
$project->gen(9);
|
||||
|
||||
zenData('team')->gen(10);
|
||||
|
||||
$stakeholder = zenData('stakeholder');
|
||||
$stakeholder->id->range('1-9');
|
||||
$stakeholder->objectID->range('11-19');
|
||||
$stakeholder->objectType->range('program,project');
|
||||
$stakeholder->user->range("admin");
|
||||
$stakeholder->type->range("inside");
|
||||
$stakeholder->from->range("[]");
|
||||
$stakeholder->createdBy->range("admin");
|
||||
$stakeholder->createdDate->range("`2023-05-01 10:00:10`");
|
||||
$stakeholder->gen(9);
|
||||
su('admin');
|
||||
|
||||
initData();
|
||||
$statusList = array('', 'all', 'undone', 'unclosed', 'error');
|
||||
|
||||
$projectTester = new projectTest();
|
||||
|
||||
Reference in New Issue
Block a user