Merge branch 'release/21.7.5' of https://gitfox.zcorp.cc/git/zentao/zentaopms into release/21.7.5

This commit is contained in:
sunguangming
2025-08-21 07:34:54 +00:00
5 changed files with 42 additions and 14 deletions
+1
View File
@@ -488,6 +488,7 @@ class form extends fixer
{
$this->data = $data;
$this->dataList[$rowIndex] = parent::get($fields);
$this->stripedFields = array();
}
return $this->dataList;
}
@@ -4,12 +4,25 @@
/**
title=productModel->getShadowProductByProject();
timeout=0
cid=0
- 不传入项目编写。 @0
- 传入正常的项目编号。
- 属性name @正常产品1
- 属性shadow @1
- 传入正常的项目编号。
- 属性name @正常产品3
- 属性shadow @1
- 传入正常的项目编号。
- 属性name @正常产品5
- 属性shadow @1
- 传入正常的项目编号。
- 属性name @正常产品7
- 属性shadow @1
- 传入正常的项目编号。
- 属性name @正常产品9
- 属性shadow @1
- 传入不存在关联关系的项目编号。 @0
*/
@@ -18,15 +31,19 @@ include dirname(__FILE__, 2) . '/lib/product.unittest.class.php';
$product = zenData('product');
$product->shadow->range('1');
$product->gen(1);
$product->gen(10);
$projectProduct = zenData('projectproduct');
$projectProduct->project->range('1');
$projectProduct->product->range('1');
$projectProduct->gen(1);
$projectProduct->project->range('1-10');
$projectProduct->product->range('1-10');
$projectProduct->gen(10);
global $tester;
$product = $tester->loadModel('product');
r($product->getShadowProductByProject(0)) && p() && e('0'); //不传入项目编写。
r($product->getShadowProductByProject(1)) && p('name,shadow') && e('正常产品1,1'); //传入正常的项目编号。
r($product->getShadowProductByProject(2)) && p() && e('0'); //传入不存在关联关系的项目编号。
r($product->getShadowProductByProject(0)) && p() && e('0'); //不传入项目编写。
r($product->getShadowProductByProject(1)) && p('name,shadow') && e('正常产品1,1'); //传入正常的项目编号。
r($product->getShadowProductByProject(3)) && p('name,shadow') && e('正常产品3,1'); //传入正常的项目编号。
r($product->getShadowProductByProject(5)) && p('name,shadow') && e('正常产品5,1'); //传入正常的项目编号。
r($product->getShadowProductByProject(7)) && p('name,shadow') && e('正常产品7,1'); //传入正常的项目编号。
r($product->getShadowProductByProject(9)) && p('name,shadow') && e('正常产品9,1'); //传入正常的项目编号。
r($product->getShadowProductByProject(11)) && p() && e('0'); //传入不存在关联关系的项目编号。
@@ -4,11 +4,16 @@
/**
title=测试productModel->setParamsForLink();
timeout=0
cid=0
- 不传入任何数据。 @0
- 只传入module参数。 @0
- 传入module=product,检查链接。 @/product-browse-1.html
- 传入module=product,检查链接。 @/product-browse-0.html
- 传入module=programplan,检查链接。 @/programplan-browse-2-0.html
- 传入module=programplan,检查链接。 @/programplan-browse-0-2.html
- 传入module=product,检查链接。 @/product-browse-1.html
- 传入module=programplan,检查链接。 @/programplan-browse-2-1.html
*/
@@ -22,6 +27,9 @@ $planLink = '/programplan-browse-%s-%s.html';
r($productModel->setParamsForLink('', '', 0, 0)) && p() && e('0'); //不传入任何数据。
r($productModel->setParamsForLink('product', '', 0, 0)) && p() && e('0'); //只传入module参数。
r($productModel->setParamsForLink('product', $productLink, 0, 1)) && p() && e('/product-browse-1.html'); //传入module=product,检查链接。
r($productModel->setParamsForLink('product', $productLink, 1, 0)) && p() && e('/product-browse-0.html'); //传入module=product,检查链接。
r($productModel->setParamsForLink('programplan', $planLink, 2, 0)) && p() && e('/programplan-browse-2-0.html'); //传入module=programplan,检查链接。
r($productModel->setParamsForLink('programplan', $planLink, 0, 2)) && p() && e('/programplan-browse-0-2.html'); //传入module=programplan,检查链接。
r($productModel->setParamsForLink('product', $productLink, 2, 1)) && p() && e('/product-browse-1.html'); //传入module=product,检查链接。
r($productModel->setParamsForLink('programplan', $planLink, 2, 1)) && p() && e('/programplan-browse-2-1.html'); //传入module=programplan,检查链接。
+5 -2
View File
@@ -4,12 +4,14 @@
/**
title=productModel->updateOrder();
timeout=0
cid=0
- 不传入任何数据。 @1|2|3|4|5
- 传入全部排序后的 ID 列表。 @1|3|4|5|2
- 传入部分排序后的 ID 列表。 @3|1|4|5|2
- 传入排序后的 ID 列表中,包含无效的数据。 @3|4|1|5|2
- 传入部分排序后的 ID 列表。 @5|4|3|2|1
- 传入排序后的 ID 列表中,包含无效的数据。 @1|4|3|2|5
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -22,4 +24,5 @@ $product = new productTest('admin');
r($product->updateOrderTest(array())) && p() && e('1|2|3|4|5'); // 不传入任何数据。
r($product->updateOrderTest(array(1, 3, 4, 5, 2))) && p() && e('1|3|4|5|2'); // 传入全部排序后的 ID 列表。
r($product->updateOrderTest(array(3, 1, 4))) && p() && e('3|1|4|5|2'); // 传入部分排序后的 ID 列表。
r($product->updateOrderTest(array(4, 'program1', 1))) && p() && e('3|4|1|5|2'); // 传入排序后的 ID 列表中,包含无效的数据。
r($product->updateOrderTest(array(5, 4, 3, 2, 1))) && p() && e('5|4|3|2|1'); // 传入部分排序后的 ID 列表。
r($product->updateOrderTest(array(1, 'program1', 5))) && p() && e('1|4|3|2|5'); // 传入排序后的 ID 列表中,包含无效的数据。
+3 -4
View File
@@ -2156,15 +2156,14 @@ class taskZen extends task
return sprintf($this->lang->task->report->tpl->feature, $productName);
}
$fieldParams = array();
$searchConfig = $this->session->tasksearchParams;
if($searchConfig) $fieldParams = json_decode($searchConfig['fieldParams'], true);
$searchConfig = $this->loadModel('search')->processSearchParams('task');
$fieldParams = $searchConfig['params'];
if($browseType == 'bymodule') return sprintf($this->lang->task->report->tpl->search, $this->config->execution->search['fields']['module'], '=', zget($fieldParams['module']['values'], $param));
$leftConditions = array();
$rightConditions = array();
$searchFields = $this->session->taskForm;
$fieldNames = json_decode($searchConfig['searchFields']);
$fieldNames = $searchConfig['fields'];
if(!$searchFields) return sprintf($this->lang->task->report->tpl->feature, $this->lang->all);
$this->app->loadLang('search');