From b026b7c4941d77415151c327268a3b1407b29f7f Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 31 Aug 2022 18:27:42 +0800 Subject: [PATCH 1/6] * Code for task#66955. --- module/bug/model.php | 19 +++++++++++++++++-- module/file/model.php | 2 +- module/story/model.php | 16 +++++++++++++++- module/task/model.php | 15 ++++++++++++++- module/testcase/model.php | 15 ++++++++++++++- 5 files changed, 61 insertions(+), 6 deletions(-) diff --git a/module/bug/model.php b/module/bug/model.php index 5c66d8aca6..a58d381143 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -192,7 +192,22 @@ class bugModel extends model foreach($data->title as $i => $title) { $title = trim($title); - if(empty($title)) continue; + if(empty($title)) + { + foreach(explode(',', $this->config->bug->create->requiredFields . ',' . $this->config->bug->custom->batchCreateFields) as $field) + { + if(empty($field) or strpos('severity,title,keywords', $field) !== false) continue; + + $field = strpos('steps,os', $field) !== false ? $field . 'es' : $field . 's'; + if(isset($data->$field) and !empty($data->$field[$i])) + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->bug->title); + return false; + } + } + continue; + } + $bug = new stdClass(); $bug->openedBy = $this->app->user->account; @@ -202,7 +217,7 @@ class bugModel extends model $bug->module = (int)$data->modules[$i]; $bug->project = (int)$data->projects[$i]; $bug->execution = (int)$data->executions[$i]; - $bug->openedBuild = implode(',', $data->openedBuilds[$i]); + $bug->openedBuild = isset($data->openedBuilds) ? implode(',', $data->openedBuilds[$i]) : ''; $bug->color = $data->color[$i]; $bug->title = $title; $bug->deadline = $data->deadlines[$i]; diff --git a/module/file/model.php b/module/file/model.php index 22b98a85d7..7bfcb9b720 100755 --- a/module/file/model.php +++ b/module/file/model.php @@ -1132,7 +1132,7 @@ class fileModel extends model public function updateStoryFileVersion($storyID, $storyVersion, $deleteFiles = array()) { $oldStoryVersion = $storyVersion - 1; - $this->dao->dbh($this->dbh)->update(TABLE_FILE)->set("extra = CONCAT(extra, '$storyVersion,')") + $this->dao->update(TABLE_FILE)->set("extra = CONCAT(extra, '$storyVersion,')") ->where('objectType')->eq('story') ->andWhere('objectID')->eq($storyID) ->andWhere('extra')->like("%,$oldStoryVersion,%") diff --git a/module/story/model.php b/module/story/model.php index e37d3ad6e2..63d3cb2010 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -497,7 +497,21 @@ class storyModel extends model $data = array(); foreach($stories->title as $i => $title) { - if(empty($title)) continue; + if(empty($title)) + { + $checkFields = $this->config->story->create->requiredFields . ',' . $this->config->story->custom->batchCreateFields . ',sourceNote,'; + foreach(explode(',', $checkFields) as $field) + { + if(empty($field)) continue; + + if(isset($stories->$field) and !empty($stories->$field[$i]) and $stories->$field[$i] != 'ditto') + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->story->title); + return false; + } + } + continue; + } if(empty($stories->reviewer[$i]) and empty($stories->reviewerDitto[$i])) $stories->reviewer[$i] = array(); diff --git a/module/task/model.php b/module/task/model.php index e6e3499c11..71620395ac 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -353,7 +353,20 @@ class taskModel extends model $estStarted = (!isset($tasks->estStarted[$i]) or isset($tasks->estStartedDitto[$i])) ? $estStarted : $tasks->estStarted[$i]; $deadline = (!isset($tasks->deadline[$i]) or isset($tasks->deadlineDitto[$i])) ? $deadline : $tasks->deadline[$i]; - if(empty($tasks->name[$i])) continue; + if(empty($tasks->name[$i])) + { + foreach(explode(',', $this->config->task->custom->batchCreateFields . ',' . $this->config->task->create->requiredFields) as $field) + { + if(empty($field) or $field == 'pri') continue; + + if(isset($tasks->$field) and !empty($tasks->$field[$i]) and $tasks->$field[$i] != 'ditto') + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->task->name); + return false; + } + } + continue; + } $data[$i] = new stdclass(); $data[$i]->story = (int)$story; diff --git a/module/testcase/model.php b/module/testcase/model.php index b626241bc0..3aa90919e3 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -155,7 +155,20 @@ class testcaseModel extends model $data = array(); foreach($cases->title as $i => $title) { - if(empty($title)) continue; + if(empty($title)) + { + foreach(explode(',', $this->config->testcase->custom->batchCreateFields . ',' . $this->config->testcase->create->requiredFields) as $field) + { + if(empty($field) or strpos('pri,type,stage', $field) !== false) continue; + + if(isset($cases->$field) and !empty($cases->$field[$i])) + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->testcase->title); + return false; + } + } + continue; + } $data[$i] = new stdclass(); $data[$i]->product = $productID; From e6bc611d14e988d5b4c6dacf28cb9c2b924170a4 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 31 Aug 2022 19:20:02 +0800 Subject: [PATCH 2/6] * Finish task#66955. --- module/bug/config.php | 2 ++ module/bug/model.php | 12 ++---------- module/common/model.php | 29 +++++++++++++++++++++++++++++ module/story/model.php | 12 ++---------- module/task/config.php | 2 ++ module/task/model.php | 11 ++--------- module/testcase/config.php | 2 ++ module/testcase/model.php | 11 ++--------- 8 files changed, 43 insertions(+), 38 deletions(-) diff --git a/module/bug/config.php b/module/bug/config.php index 0ba621fbc7..46ec175e1f 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -56,6 +56,8 @@ $config->bug->custom->createFields = $config->bug->list->customCreateFields $config->bug->custom->batchCreateFields = 'project,execution,deadline,steps,type,severity,os,browser,%s'; $config->bug->custom->batchEditFields = 'type,severity,pri,assignedTo,deadline,status,resolvedBy,resolution'; +$config->bug->excludeCheckFileds = 'severity,title,keywords'; + $config->bug->editor = new stdclass(); $config->bug->editor->create = array('id' => 'steps', 'tools' => 'bugTools'); $config->bug->editor->edit = array('id' => 'steps,comment', 'tools' => 'bugTools'); diff --git a/module/bug/model.php b/module/bug/model.php index a58d381143..03c496bbab 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -194,17 +194,9 @@ class bugModel extends model $title = trim($title); if(empty($title)) { - foreach(explode(',', $this->config->bug->create->requiredFields . ',' . $this->config->bug->custom->batchCreateFields) as $field) - { - if(empty($field) or strpos('severity,title,keywords', $field) !== false) continue; + $this->common->checkFieldEmpty('bug', 'title', $data, $i); + if(dao::isError()) return false; - $field = strpos('steps,os', $field) !== false ? $field . 'es' : $field . 's'; - if(isset($data->$field) and !empty($data->$field[$i])) - { - dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->bug->title); - return false; - } - } continue; } diff --git a/module/common/model.php b/module/common/model.php index 9b29e6d4ba..05ccb543b6 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -3481,6 +3481,35 @@ EOD; return true; } + + /** + * Check the field should be empty. + * + * @param string $objectType + * @param string $checkField + * @param array $postData + * @param int $index + * @access public + * @return bool + */ + public function checkFieldEmpty($objectType, $checkField, $postData = array(), $index = 0) + { + if(empty($postData)) return true; + + foreach(explode(',', $this->config->$objectType->custom->batchCreateFields . ',' . $this->config->$objectType->create->requiredFields) as $field) + { + if(empty($field) or strpos($this->config->$objectType->excludeCheckFileds, $field) !== false) continue; + + if($objectType == 'bug') $field = strpos('steps,os', $field) !== false ? $field . 'es' : $field . 's'; + if(isset($postData->$field) and !empty($postData->$field[$index]) and $postData->$field[$index] != 'ditto') + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->$objectType->$checkField); + return false; + } + } + + return true; + } } class common extends commonModel diff --git a/module/story/model.php b/module/story/model.php index 63d3cb2010..2ff612a4f5 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -499,17 +499,9 @@ class storyModel extends model { if(empty($title)) { - $checkFields = $this->config->story->create->requiredFields . ',' . $this->config->story->custom->batchCreateFields . ',sourceNote,'; - foreach(explode(',', $checkFields) as $field) - { - if(empty($field)) continue; + $this->common->checkFieldEmpty('story', 'title', $stories, $i); + if(dao::isError()) return false; - if(isset($stories->$field) and !empty($stories->$field[$i]) and $stories->$field[$i] != 'ditto') - { - dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->story->title); - return false; - } - } continue; } diff --git a/module/task/config.php b/module/task/config.php index 96ca1d4d79..70e5eab71b 100644 --- a/module/task/config.php +++ b/module/task/config.php @@ -48,6 +48,8 @@ $config->task->custom->createFields = $config->task->customCreateFields; $config->task->custom->batchCreateFields = 'module,story,assignedTo,estimate,desc,pri'; $config->task->custom->batchEditFields = 'module,assignedTo,status,pri,estimate,record,left'; +$config->task->excludeCheckFileds = 'pri'; + $config->task->datatable = new stdclass(); $config->task->datatable->defaultField = array('id', 'pri', 'name', 'status', 'assignedTo', 'finishedBy', 'estimate', 'consumed', 'left', 'progress', 'deadline', 'actions'); diff --git a/module/task/model.php b/module/task/model.php index 71620395ac..1312fc4a42 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -355,16 +355,9 @@ class taskModel extends model if(empty($tasks->name[$i])) { - foreach(explode(',', $this->config->task->custom->batchCreateFields . ',' . $this->config->task->create->requiredFields) as $field) - { - if(empty($field) or $field == 'pri') continue; + $this->common->checkFieldEmpty('task', 'name', $tasks, $i); + if(dao::isError()) return false; - if(isset($tasks->$field) and !empty($tasks->$field[$i]) and $tasks->$field[$i] != 'ditto') - { - dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->task->name); - return false; - } - } continue; } diff --git a/module/testcase/config.php b/module/testcase/config.php index fb2bd8aa6d..8d94b8b988 100644 --- a/module/testcase/config.php +++ b/module/testcase/config.php @@ -32,6 +32,8 @@ $config->testcase->custom->createFields = $config->testcase->customCreateFi $config->testcase->custom->batchCreateFields = 'module,story,%s'; $config->testcase->custom->batchEditFields = 'branch,module,stage,status,pri,story'; +$config->testcase->excludeCheckFileds = 'pri,type,stage'; + global $lang; $config->testcase->search['module'] = 'testcase'; $config->testcase->search['fields']['title'] = $lang->testcase->title; diff --git a/module/testcase/model.php b/module/testcase/model.php index 3aa90919e3..835c8238a5 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -157,16 +157,9 @@ class testcaseModel extends model { if(empty($title)) { - foreach(explode(',', $this->config->testcase->custom->batchCreateFields . ',' . $this->config->testcase->create->requiredFields) as $field) - { - if(empty($field) or strpos('pri,type,stage', $field) !== false) continue; + $result = $this->common->checkFieldEmpty('testcase', 'title', $cases, $i); + if(dao::isError()) return false; - if(isset($cases->$field) and !empty($cases->$field[$i])) - { - dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->testcase->title); - return false; - } - } continue; } From 0d321210c56b6eaad14ccdea40f8d868e8646e25 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 31 Aug 2022 20:05:42 +0800 Subject: [PATCH 3/6] * Code for task#66954. --- extension/lite/story/ext/view/edit.html.php | 3 +++ module/story/view/edit.html.php | 3 +++ 2 files changed, 6 insertions(+) diff --git a/extension/lite/story/ext/view/edit.html.php b/extension/lite/story/ext/view/edit.html.php index c45fa148a4..eef7e20595 100644 --- a/extension/lite/story/ext/view/edit.html.php +++ b/extension/lite/story/ext/view/edit.html.php @@ -80,6 +80,8 @@ status) !== false ? html::textarea('spec', htmlSpecialString($story->spec), "rows='5' class='form-control'") : $story->spec;?> + status) === false and empty($files) ? false : true;?> +
attatch;?>
@@ -88,6 +90,7 @@ fetch('file', 'buildform') : '';?>
+ printExtendFields($story, 'div', 'position=left');?>
story->comment;?>
diff --git a/module/story/view/edit.html.php b/module/story/view/edit.html.php index 4c523b8c79..d6c1cf8cc3 100644 --- a/module/story/view/edit.html.php +++ b/module/story/view/edit.html.php @@ -85,6 +85,8 @@ status) !== false ? html::textarea('verify', htmlSpecialString($story->verify), "rows='5' class='form-control'") : $story->verify;?>
+ status) === false and empty($files) ? false : true;?> +
attatch;?>
@@ -93,6 +95,7 @@ fetch('file', 'buildform') : '';?>
+ printExtendFields($story, 'div', 'position=left');?>
story->comment;?>
From 2bbb4df7700b60b2b515803ff636aa726b156595 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 31 Aug 2022 20:29:26 +0800 Subject: [PATCH 4/6] * Code for task#66954. --- module/file/model.php | 10 +++++----- module/upgrade/model.php | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/module/file/model.php b/module/file/model.php index 7bfcb9b720..d664584737 100755 --- a/module/file/model.php +++ b/module/file/model.php @@ -46,8 +46,8 @@ class fileModel extends model ->where('objectType')->eq($objectType) ->andWhere('objectID')->eq((int)$objectID) ->andWhere('extra')->ne('editor') - ->beginIF($objectType == 'story' and $extra)->andWhere('extra')->like("%,$extra,%")->fi() - ->beginIF($objectType != 'story' and $extra)->andWhere('extra')->eq($extra)->fi() + ->beginIF(strpos('story,requirement', $objectType) !== false and $extra)->andWhere('extra')->like("%,$extra,%")->fi() + ->beginIF(strpos('story,requirement', $objectType) === false and $extra)->andWhere('extra')->eq($extra)->fi() ->andWhere('deleted')->eq('0') ->orderBy('id') ->fetchAll('id'); @@ -1133,7 +1133,7 @@ class fileModel extends model { $oldStoryVersion = $storyVersion - 1; $this->dao->update(TABLE_FILE)->set("extra = CONCAT(extra, '$storyVersion,')") - ->where('objectType')->eq('story') + ->where('objectType')->in('story,requirement') ->andWhere('objectID')->eq($storyID) ->andWhere('extra')->like("%,$oldStoryVersion,%") ->beginIF(!empty($deleteFiles))->andWhere('id')->notin($deleteFiles)->fi() @@ -1152,7 +1152,7 @@ class fileModel extends model public function deleteStoryFile($storyID, $storyVersion, $deleteFiles = array()) { $deleteFileList = $this->dao->select('*')->from(TABLE_FILE) - ->where('objectType')->eq('story') + ->where('objectType')->in('story,requirement') ->andWhere('objectID')->eq($storyID) ->andWhere('extra')->eq(",$storyVersion,") ->beginIF(!empty($deleteFiles))->andWhere('id')->in($deleteFiles)->fi() @@ -1171,7 +1171,7 @@ class fileModel extends model /* When the file is in multiple story versions, 'extra' need delete the version to be deleted. */ $this->dao->update(TABLE_FILE)->set("extra = REPLACE(extra, '$storyVersion,', '')") - ->where('objectType')->eq('story') + ->where('objectType')->in('story,requirement') ->andWhere('objectID')->eq($storyID) ->andWhere('extra')->like("%,$storyVersion,%") ->beginIF(!empty($deleteFiles))->andWhere('id')->in($deleteFiles)->fi() diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 8194c63ac3..375693aa78 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -7216,7 +7216,7 @@ class upgradeModel extends model */ public function updateStoryFile() { - $storyFileList = $this->dao->select('*')->from(TABLE_FILE)->where('objectType')->eq('story')->andWhere('extra')->ne('editor')->fetchAll('id'); + $storyFileList = $this->dao->select('*')->from(TABLE_FILE)->where('objectType')->in('story,requirement')->andWhere('extra')->ne('editor')->fetchAll('id'); /* Get story version. */ $storyIDList = array(); From d552aa67f9cfe2cfebba116840e266c3be0d7eb4 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Thu, 1 Sep 2022 10:47:58 +0800 Subject: [PATCH 5/6] * Code for task#66955. --- module/bug/config.php | 2 +- module/bug/model.php | 9 ++++++--- module/common/model.php | 19 ++++++------------- module/story/config.php | 2 ++ module/story/model.php | 8 ++++++-- module/task/config.php | 2 +- module/task/model.php | 9 ++++++--- module/testcase/config.php | 2 +- module/testcase/model.php | 8 ++++++-- 9 files changed, 35 insertions(+), 26 deletions(-) diff --git a/module/bug/config.php b/module/bug/config.php index 46ec175e1f..a797500f5a 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -56,7 +56,7 @@ $config->bug->custom->createFields = $config->bug->list->customCreateFields $config->bug->custom->batchCreateFields = 'project,execution,deadline,steps,type,severity,os,browser,%s'; $config->bug->custom->batchEditFields = 'type,severity,pri,assignedTo,deadline,status,resolvedBy,resolution'; -$config->bug->excludeCheckFileds = 'severity,title,keywords'; +$config->bug->excludeCheckFileds = ',severities,'; $config->bug->editor = new stdclass(); $config->bug->editor->create = array('id' => 'steps', 'tools' => 'bugTools'); diff --git a/module/bug/model.php b/module/bug/model.php index 03c496bbab..1986480805 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -194,13 +194,16 @@ class bugModel extends model $title = trim($title); if(empty($title)) { - $this->common->checkFieldEmpty('bug', 'title', $data, $i); - if(dao::isError()) return false; + $canNotEmpty = $this->common->checkFieldEmpty('bug', $data, $i); + if($canNotEmpty) + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->bug->title); + return false; + } continue; } - $bug = new stdClass(); $bug->openedBy = $this->app->user->account; $bug->openedDate = $now; diff --git a/module/common/model.php b/module/common/model.php index 05ccb543b6..9df30517a2 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -3486,29 +3486,22 @@ EOD; * Check the field should be empty. * * @param string $objectType - * @param string $checkField * @param array $postData * @param int $index * @access public * @return bool */ - public function checkFieldEmpty($objectType, $checkField, $postData = array(), $index = 0) + public function checkFieldEmpty($objectType, $postData = array(), $index = 0) { - if(empty($postData)) return true; + if(empty($postData)) return false; - foreach(explode(',', $this->config->$objectType->custom->batchCreateFields . ',' . $this->config->$objectType->create->requiredFields) as $field) + foreach($postData as $key => $value) { - if(empty($field) or strpos($this->config->$objectType->excludeCheckFileds, $field) !== false) continue; - - if($objectType == 'bug') $field = strpos('steps,os', $field) !== false ? $field . 'es' : $field . 's'; - if(isset($postData->$field) and !empty($postData->$field[$index]) and $postData->$field[$index] != 'ditto') - { - dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->$objectType->$checkField); - return false; - } + if(!is_array($value) or strpos($this->config->$objectType->excludeCheckFileds, ",$key,") !== false) continue; + if(isset($value[$index]) and !empty($value[$index]) and $value[$index] != 'ditto') return true; } - return true; + return false; } } diff --git a/module/story/config.php b/module/story/config.php index c3f2cf57cc..8dafb8abba 100644 --- a/module/story/config.php +++ b/module/story/config.php @@ -50,6 +50,8 @@ $config->story->custom->createFields = $config->story->list->customCreateFi $config->story->custom->batchCreateFields = 'module,plan,spec,pri,estimate,review,%s'; $config->story->custom->batchEditFields = 'branch,module,plan,estimate,pri,source,stage,closedBy,closedReason'; +$config->story->excludeCheckFileds = ',uploadImage,category,reviewer,reviewDitto,'; + global $lang, $app; $config->story->datatable = new stdclass(); if($app->tab == 'execution') diff --git a/module/story/model.php b/module/story/model.php index 2ff612a4f5..4701f797b9 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -499,8 +499,12 @@ class storyModel extends model { if(empty($title)) { - $this->common->checkFieldEmpty('story', 'title', $stories, $i); - if(dao::isError()) return false; + $canNotEmpty = $this->common->checkFieldEmpty('story', $stories, $i); + if($canNotEmpty) + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->story->title); + return false; + } continue; } diff --git a/module/task/config.php b/module/task/config.php index 70e5eab71b..2cc5b81f4c 100644 --- a/module/task/config.php +++ b/module/task/config.php @@ -48,7 +48,7 @@ $config->task->custom->createFields = $config->task->customCreateFields; $config->task->custom->batchCreateFields = 'module,story,assignedTo,estimate,desc,pri'; $config->task->custom->batchEditFields = 'module,assignedTo,status,pri,estimate,record,left'; -$config->task->excludeCheckFileds = 'pri'; +$config->task->excludeCheckFileds = ',pri,estStartedDitto,deadlineDitto,'; $config->task->datatable = new stdclass(); $config->task->datatable->defaultField = array('id', 'pri', 'name', 'status', 'assignedTo', 'finishedBy', 'estimate', 'consumed', 'left', 'progress', 'deadline', 'actions'); diff --git a/module/task/model.php b/module/task/model.php index 1312fc4a42..a3a0e7514d 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -355,9 +355,12 @@ class taskModel extends model if(empty($tasks->name[$i])) { - $this->common->checkFieldEmpty('task', 'name', $tasks, $i); - if(dao::isError()) return false; - + $canNotEmpty = $this->common->checkFieldEmpty('task', $tasks, $i); + if($canNotEmpty) + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->task->name); + return false; + } continue; } diff --git a/module/testcase/config.php b/module/testcase/config.php index 8d94b8b988..46afbf4e76 100644 --- a/module/testcase/config.php +++ b/module/testcase/config.php @@ -32,7 +32,7 @@ $config->testcase->custom->createFields = $config->testcase->customCreateFi $config->testcase->custom->batchCreateFields = 'module,story,%s'; $config->testcase->custom->batchEditFields = 'branch,module,stage,status,pri,story'; -$config->testcase->excludeCheckFileds = 'pri,type,stage'; +$config->testcase->excludeCheckFileds = ',pri,type,stage,'; global $lang; $config->testcase->search['module'] = 'testcase'; diff --git a/module/testcase/model.php b/module/testcase/model.php index 835c8238a5..9eef18b419 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -157,8 +157,12 @@ class testcaseModel extends model { if(empty($title)) { - $result = $this->common->checkFieldEmpty('testcase', 'title', $cases, $i); - if(dao::isError()) return false; + $canNotEmpty = $this->common->checkFieldEmpty('testcase', $cases, $i); + if($canNotEmpty) + { + dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->testcase->title); + return false; + } continue; } From 16094e64d4bd8fdc29271f78a591e1276f541f7f Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Thu, 1 Sep 2022 11:04:08 +0800 Subject: [PATCH 6/6] * Optimize code. --- module/bug/model.php | 3 +-- module/common/model.php | 4 ++-- module/story/model.php | 3 +-- module/task/model.php | 3 +-- module/testcase/model.php | 3 +-- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/module/bug/model.php b/module/bug/model.php index 1986480805..c871af90a1 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -194,8 +194,7 @@ class bugModel extends model $title = trim($title); if(empty($title)) { - $canNotEmpty = $this->common->checkFieldEmpty('bug', $data, $i); - if($canNotEmpty) + if($this->common->checkValidRow('bug', $data, $i)) { dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->bug->title); return false; diff --git a/module/common/model.php b/module/common/model.php index 9df30517a2..9d4c484348 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -3483,7 +3483,7 @@ EOD; } /** - * Check the field should be empty. + * Check valid row. * * @param string $objectType * @param array $postData @@ -3491,7 +3491,7 @@ EOD; * @access public * @return bool */ - public function checkFieldEmpty($objectType, $postData = array(), $index = 0) + public function checkValidRow($objectType, $postData = array(), $index = 0) { if(empty($postData)) return false; diff --git a/module/story/model.php b/module/story/model.php index 4701f797b9..a3c6f4a7f1 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -499,8 +499,7 @@ class storyModel extends model { if(empty($title)) { - $canNotEmpty = $this->common->checkFieldEmpty('story', $stories, $i); - if($canNotEmpty) + if($this->common->checkValidRow('story', $stories, $i)) { dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->story->title); return false; diff --git a/module/task/model.php b/module/task/model.php index a3a0e7514d..ab144eebdf 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -355,8 +355,7 @@ class taskModel extends model if(empty($tasks->name[$i])) { - $canNotEmpty = $this->common->checkFieldEmpty('task', $tasks, $i); - if($canNotEmpty) + if($this->common->checkValidRow('task', $tasks, $i)) { dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->task->name); return false; diff --git a/module/testcase/model.php b/module/testcase/model.php index 9eef18b419..76b1739229 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -157,8 +157,7 @@ class testcaseModel extends model { if(empty($title)) { - $canNotEmpty = $this->common->checkFieldEmpty('testcase', $cases, $i); - if($canNotEmpty) + if($this->common->checkValidRow('testcase', $cases, $i)) { dao::$errors['message'][] = sprintf($this->lang->error->notempty, $this->lang->testcase->title); return false;