* [task#134153,done,1h] change version if title/precondition/files is changed.

This commit is contained in:
liumengyi
2024-12-30 09:51:11 +08:00
committed by 刘刚
parent 648b31ed8d
commit bcd3856e7f
5 changed files with 17 additions and 6 deletions
+1
View File
@@ -1415,6 +1415,7 @@ class fileModel extends model
$this->updateObjectID($this->post->uid, $oldObject->id, $objectType);
$addedFiles = $this->saveUpload($objectType, $oldObject->id, $extra, $filesName, $labelsName);
if(!isset($oldObject->files)) $oldObject->files = array();
$files = array_diff(array_keys($oldObject->files), array_keys($deleteFiles));
$files = array_merge($files, array_keys($addedFiles));
+3
View File
@@ -561,8 +561,11 @@ class testcase extends control
/* 更新用例。 */
/* Update cases. */
$caseFiles = $this->testcase->getRelatedFiles($caseIdList);
foreach($editedCases as $caseID => $case)
{
if(!isset($case->files)) $case->files = zget($caseFiles, $caseID, array());
if(!isset($cases[$caseID]->files)) $cases[$caseID]->files = zget($caseFiles, $caseID, array());
$changes = $this->testcase->update($case, $cases[$caseID], zget($testtasks, $caseID, array()));
$this->executeHooks($caseID);
+1 -1
View File
@@ -248,7 +248,7 @@ class testcaseModel extends model
{
if(!$caseIdList) return array();
return $this->dao->select('*')->from(TABLE_CASE)
return $this->dao->select('*,precondition')->from(TABLE_CASE)
->where('deleted')->eq(0)
->andWhere('id')->in($caseIdList)
->beginIF($query)->andWhere($query)->fi()
+2 -2
View File
@@ -336,7 +336,7 @@ class testcaseTao extends testcaseModel
*/
protected function getRelatedFiles(array $caseIdList): array
{
return $this->dao->select('*')->from(TABLE_FILE)->where('objectType')->eq('testcase')->andWhere('objectID')->in($caseIdList)->andWhere('extra')->ne('editor')->fetchGroup('objectID');
return $this->dao->select('*')->from(TABLE_FILE)->where('objectType')->eq('testcase')->andWhere('objectID')->in($caseIdList)->andWhere('extra')->ne('editor')->fetchGroup('objectID', 'id');
}
/**
@@ -398,7 +398,7 @@ class testcaseTao extends testcaseModel
$requiredFields = $this->config->testcase->edit->requiredFields;
if(!empty($case->lib)) $requiredFields = str_replace(',story,', ',', ",$requiredFields,");
$this->dao->update(TABLE_CASE)->data($case, 'deleteFiles,uid,stepChanged,comment,steps,expects,stepType,linkBug,renameFiles')
$this->dao->update(TABLE_CASE)->data($case, 'deleteFiles,uid,stepChanged,comment,steps,expects,stepType,linkBug,renameFiles,files')
->autoCheck()
->batchCheck($requiredFields, 'notempty')
->checkFlow()
+10 -3
View File
@@ -1496,9 +1496,9 @@ class testcaseZen extends testcase
$caseIdList = array_keys($oldCases);
if(empty($caseIdList)) return array();
$now = helper::now();
$account = $this->app->user->account;
$cases = form::batchData($this->config->testcase->form->batchEdit)->get();
$now = helper::now();
$account = $this->app->user->account;
$cases = form::batchData($this->config->testcase->form->batchEdit)->get();
foreach($cases as $caseID => $case)
{
$oldCase = $oldCases[$caseID];
@@ -1506,6 +1506,12 @@ class testcaseZen extends testcase
$case->product = $oldCase->product;
$case->lastEditedBy = $account;
$case->lastEditedDate = $now;
if(!isset($case->precondition)) $case->precondition = $oldCase->precondition;
$versionChanged = false;
if($case->title && $case->title != $oldCase->title) $versionChanged = true;
if($case->precondition && $case->precondition != $oldCase->precondition) $versionChanged = true;
if($versionChanged) $case->version = $oldCase->version + 1;
}
return $cases;
}
@@ -3202,6 +3208,7 @@ class testcaseZen extends testcase
if($this->post->title && $case->title != $this->post->title) $stepChanged = true;
if($this->post->precondition && $case->precondition != $this->post->precondition) $stepChanged = true;
if(!empty($_FILES['files']['name'][0])) $stepChanged = true;
return array($stepChanged, $status);
}