From 751900edf9a2220078ac515ca03bde0091b41137 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 10 Aug 2021 11:31:15 +0800 Subject: [PATCH] * Finish task #41215. --- db/update15.3.sql | 1 + db/zentao.sql | 1 + module/testtask/lang/de.php | 84 +++++++++++------------ module/testtask/lang/en.php | 100 ++++++++++++++-------------- module/testtask/lang/fr.php | 84 +++++++++++------------ module/testtask/lang/vi.php | 80 +++++++++++----------- module/testtask/lang/zh-cn.php | 100 ++++++++++++++-------------- module/testtask/model.php | 6 ++ module/testtask/view/close.html.php | 4 ++ module/testtask/view/view.html.php | 4 ++ module/upgrade/model.php | 21 ++++++ 11 files changed, 266 insertions(+), 219 deletions(-) create mode 100644 db/update15.3.sql diff --git a/db/update15.3.sql b/db/update15.3.sql new file mode 100644 index 0000000000..743ccea4e4 --- /dev/null +++ b/db/update15.3.sql @@ -0,0 +1 @@ +ALTER TABLE `zt_testtask` ADD `realFinishedDate` datetime NOT NULL AFTER `end`; diff --git a/db/zentao.sql b/db/zentao.sql index d45ae77472..ab4f9f3beb 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -1153,6 +1153,7 @@ CREATE TABLE IF NOT EXISTS `zt_testtask` ( `pri` tinyint(3) unsigned NOT NULL default '0', `begin` date NOT NULL, `end` date NOT NULL, + `realFinishedDate` datetime NOT NULL, `mailto` text, `desc` text NOT NULL, `report` text NOT NULL, diff --git a/module/testtask/lang/de.php b/module/testtask/lang/de.php index b3d47405bf..8eaf57b0d4 100644 --- a/module/testtask/lang/de.php +++ b/module/testtask/lang/de.php @@ -54,48 +54,49 @@ $lang->testtask->allTasks = 'Alle'; $lang->testtask->collapseAll = 'Zuklappen'; $lang->testtask->expandAll = 'Aufklappen'; -$lang->testtask->id = 'ID'; -$lang->testtask->common = 'Testaufgabe'; -$lang->testtask->product = $lang->productCommon; -$lang->testtask->project = 'Project'; -$lang->testtask->execution = $lang->execution->common; -$lang->testtask->type = 'Typ'; -$lang->testtask->build = 'Build'; -$lang->testtask->owner = 'Besitzer'; -$lang->testtask->executor = 'Executor'; -$lang->testtask->execTime = 'Exec Time'; -$lang->testtask->pri = 'Priorität'; -$lang->testtask->name = 'Name'; -$lang->testtask->begin = 'Start'; -$lang->testtask->end = 'Ende'; -$lang->testtask->desc = 'Beschreibung'; -$lang->testtask->mailto = 'Mail an'; -$lang->testtask->status = 'Status'; -$lang->testtask->subStatus = 'Sub Status'; -$lang->testtask->testreport = 'Test Report'; -$lang->testtask->assignedTo = 'Zugeordnet'; -$lang->testtask->linkVersion = 'Version'; -$lang->testtask->lastRunAccount = 'Ausgeführt von'; -$lang->testtask->lastRunTime = 'Ausgeführt am'; -$lang->testtask->lastRunResult = 'Ergebnis'; -$lang->testtask->reportField = 'Bericht'; -$lang->testtask->files = 'Upload'; -$lang->testtask->case = 'Fall'; -$lang->testtask->version = 'Version'; -$lang->testtask->caseResult = 'Test Ergebnis'; -$lang->testtask->stepResults = 'Schritt Ergebnis'; -$lang->testtask->lastRunner = 'Ausgeführt von'; -$lang->testtask->lastRunDate = 'Ausgeführt am'; -$lang->testtask->date = 'Datum'; -$lang->testtask->deleted = "Deleted"; -$lang->testtask->resultFile = "Result File"; -$lang->testtask->caseCount = 'Case Count'; -$lang->testtask->passCount = 'Pass'; -$lang->testtask->failCount = 'Fail'; -$lang->testtask->summary = '%s cases, %s failures, %s time.'; +$lang->testtask->id = 'ID'; +$lang->testtask->common = 'Testaufgabe'; +$lang->testtask->product = $lang->productCommon; +$lang->testtask->project = 'Project'; +$lang->testtask->execution = $lang->execution->common; +$lang->testtask->type = 'Typ'; +$lang->testtask->build = 'Build'; +$lang->testtask->owner = 'Besitzer'; +$lang->testtask->executor = 'Executor'; +$lang->testtask->execTime = 'Exec Time'; +$lang->testtask->pri = 'Priorität'; +$lang->testtask->name = 'Name'; +$lang->testtask->begin = 'Start'; +$lang->testtask->end = 'Ende'; +$lang->testtask->realFinishedDate = 'Actual Finished Date'; +$lang->testtask->desc = 'Beschreibung'; +$lang->testtask->mailto = 'Mail an'; +$lang->testtask->status = 'Status'; +$lang->testtask->subStatus = 'Sub Status'; +$lang->testtask->testreport = 'Test Report'; +$lang->testtask->assignedTo = 'Zugeordnet'; +$lang->testtask->linkVersion = 'Version'; +$lang->testtask->lastRunAccount = 'Ausgeführt von'; +$lang->testtask->lastRunTime = 'Ausgeführt am'; +$lang->testtask->lastRunResult = 'Ergebnis'; +$lang->testtask->reportField = 'Bericht'; +$lang->testtask->files = 'Upload'; +$lang->testtask->case = 'Fall'; +$lang->testtask->version = 'Version'; +$lang->testtask->caseResult = 'Test Ergebnis'; +$lang->testtask->stepResults = 'Schritt Ergebnis'; +$lang->testtask->lastRunner = 'Ausgeführt von'; +$lang->testtask->lastRunDate = 'Ausgeführt am'; +$lang->testtask->date = 'Datum'; +$lang->testtask->deleted = "Deleted"; +$lang->testtask->resultFile = "Result File"; +$lang->testtask->caseCount = 'Case Count'; +$lang->testtask->passCount = 'Pass'; +$lang->testtask->failCount = 'Fail'; +$lang->testtask->summary = '%s cases, %s failures, %s time.'; -$lang->testtask->beginAndEnd = 'Datum'; -$lang->testtask->to = 'An'; +$lang->testtask->beginAndEnd = 'Datum'; +$lang->testtask->to = 'An'; $lang->testtask->legendDesc = 'Beschreibung'; $lang->testtask->legendReport = 'Bericht'; @@ -132,6 +133,7 @@ $lang->testtask->noImportData = 'The imported XML does not parse the data.' $lang->testtask->unitXMLFormat = 'Please select a file in JUnit XML format.'; $lang->testtask->titleOfAuto = "%s automated testing"; $lang->testtask->cannotBeParsed = 'The content of the imported XML file is in the wrong format and cannot be parsed.'; +$lang->testtask->finishedDateError = 'Actual Finished Date cannot be <= Begin Date %s'; $lang->testtask->assignedToMe = 'Meine'; $lang->testtask->allCases = 'Alle Fälle'; diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 27a68d5db9..3c73baa53d 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -48,57 +48,58 @@ $lang->testtask->allTasks = 'All Requests'; $lang->testtask->collapseAll = 'Collapse'; $lang->testtask->expandAll = 'Expand'; -$lang->testtask->viewAction = "View Testtask"; -$lang->testtask->casesAction = 'View Case'; -$lang->testtask->activateAction = "Activate Testtask"; -$lang->testtask->blockAction = "Block Testtask"; -$lang->testtask->closeAction = "Close Testtask"; -$lang->testtask->startAction = "Start Testtask"; -$lang->testtask->resultsAction = "Case Result"; -$lang->testtask->reportAction = 'Report'; +$lang->testtask->viewAction = "View Testtask"; +$lang->testtask->casesAction = 'View Case'; +$lang->testtask->activateAction = "Activate Testtask"; +$lang->testtask->blockAction = "Block Testtask"; +$lang->testtask->closeAction = "Close Testtask"; +$lang->testtask->startAction = "Start Testtask"; +$lang->testtask->resultsAction = "Case Result"; +$lang->testtask->reportAction = 'Report'; -$lang->testtask->id = 'ID'; -$lang->testtask->common = 'Request'; -$lang->testtask->product = $lang->productCommon; -$lang->testtask->project = 'Project'; -$lang->testtask->execution = $lang->execution->common; -$lang->testtask->type = 'Type'; -$lang->testtask->build = 'Build'; -$lang->testtask->owner = 'Owner'; -$lang->testtask->executor = 'Executor'; -$lang->testtask->execTime = 'Exec Time'; -$lang->testtask->pri = 'Priority'; -$lang->testtask->name = 'Request Name'; -$lang->testtask->begin = 'Begin'; -$lang->testtask->end = 'End'; -$lang->testtask->desc = 'Description'; -$lang->testtask->mailto = 'Mailto'; -$lang->testtask->status = 'Status'; -$lang->testtask->subStatus = 'Sub Status'; -$lang->testtask->testreport = 'Test Report'; -$lang->testtask->assignedTo = 'Assigned'; -$lang->testtask->linkVersion = 'Build'; -$lang->testtask->lastRunAccount = 'RunBy'; -$lang->testtask->lastRunTime = 'Last Run'; -$lang->testtask->lastRunResult = 'Result'; -$lang->testtask->reportField = 'Report'; -$lang->testtask->files = 'Upload'; -$lang->testtask->case = 'Case List'; -$lang->testtask->version = 'Version'; -$lang->testtask->caseResult = 'Test Result'; -$lang->testtask->stepResults = 'Step Result'; -$lang->testtask->lastRunner = 'RunBy'; -$lang->testtask->lastRunDate = 'Last Run'; -$lang->testtask->date = 'Tested on';; -$lang->testtask->deleted = "Deleted"; -$lang->testtask->resultFile = "Result File"; -$lang->testtask->caseCount = 'Case Count'; -$lang->testtask->passCount = 'Pass'; -$lang->testtask->failCount = 'Fail'; -$lang->testtask->summary = '%s cases, %s failures, %s time.'; +$lang->testtask->id = 'ID'; +$lang->testtask->common = 'Request'; +$lang->testtask->product = $lang->productCommon; +$lang->testtask->project = 'Project'; +$lang->testtask->execution = $lang->execution->common; +$lang->testtask->type = 'Type'; +$lang->testtask->build = 'Build'; +$lang->testtask->owner = 'Owner'; +$lang->testtask->executor = 'Executor'; +$lang->testtask->execTime = 'Exec Time'; +$lang->testtask->pri = 'Priority'; +$lang->testtask->name = 'Request Name'; +$lang->testtask->begin = 'Begin'; +$lang->testtask->end = 'End'; +$lang->testtask->realFinishedDate = 'Actual Finished Date'; +$lang->testtask->desc = 'Description'; +$lang->testtask->mailto = 'Mailto'; +$lang->testtask->status = 'Status'; +$lang->testtask->subStatus = 'Sub Status'; +$lang->testtask->testreport = 'Test Report'; +$lang->testtask->assignedTo = 'Assigned'; +$lang->testtask->linkVersion = 'Build'; +$lang->testtask->lastRunAccount = 'RunBy'; +$lang->testtask->lastRunTime = 'Last Run'; +$lang->testtask->lastRunResult = 'Result'; +$lang->testtask->reportField = 'Report'; +$lang->testtask->files = 'Upload'; +$lang->testtask->case = 'Case List'; +$lang->testtask->version = 'Version'; +$lang->testtask->caseResult = 'Test Result'; +$lang->testtask->stepResults = 'Step Result'; +$lang->testtask->lastRunner = 'RunBy'; +$lang->testtask->lastRunDate = 'Last Run'; +$lang->testtask->date = 'Tested on';; +$lang->testtask->deleted = "Deleted"; +$lang->testtask->resultFile = "Result File"; +$lang->testtask->caseCount = 'Case Count'; +$lang->testtask->passCount = 'Pass'; +$lang->testtask->failCount = 'Fail'; +$lang->testtask->summary = '%s cases, %s failures, %s time.'; -$lang->testtask->beginAndEnd = 'Duration'; -$lang->testtask->to = 'To'; +$lang->testtask->beginAndEnd = 'Duration'; +$lang->testtask->to = 'To'; $lang->testtask->legendDesc = 'Description'; $lang->testtask->legendReport = 'Report'; @@ -135,6 +136,7 @@ $lang->testtask->noImportData = 'The imported XML does not parse the data.' $lang->testtask->unitXMLFormat = 'Please select a file in JUnit XML format.'; $lang->testtask->titleOfAuto = "%s automated testing"; $lang->testtask->cannotBeParsed = 'The content of the imported XML file is in the wrong format and cannot be parsed.'; +$lang->testtask->finishedDateError = 'Actual Finished Date cannot be <= Begin Date %s'; $lang->testtask->assignedToMe = 'AssignedToMe'; $lang->testtask->allCases = 'All Cases'; diff --git a/module/testtask/lang/fr.php b/module/testtask/lang/fr.php index c3a65cffba..8abb1a5ba7 100644 --- a/module/testtask/lang/fr.php +++ b/module/testtask/lang/fr.php @@ -54,48 +54,49 @@ $lang->testtask->allTasks = 'Toutes Recettes'; $lang->testtask->collapseAll = 'Replier'; $lang->testtask->expandAll = 'Déplier'; -$lang->testtask->id = 'ID'; -$lang->testtask->common = 'Recette'; -$lang->testtask->product = $lang->productCommon; -$lang->testtask->project = 'Project'; -$lang->testtask->execution = $lang->execution->common; -$lang->testtask->type = 'Type'; -$lang->testtask->build = 'Build'; -$lang->testtask->owner = 'Owner'; -$lang->testtask->executor = 'Executeur'; -$lang->testtask->execTime = 'Durée Exec'; -$lang->testtask->pri = 'Priorité'; -$lang->testtask->name = 'Nom Campagne'; -$lang->testtask->begin = 'Début'; -$lang->testtask->end = 'Fin'; -$lang->testtask->desc = 'Description'; -$lang->testtask->mailto = 'Mailto'; -$lang->testtask->status = 'Statut'; -$lang->testtask->subStatus = 'Sous-statut'; -$lang->testtask->testreport = 'Test Report'; -$lang->testtask->assignedTo = 'Affecté'; -$lang->testtask->linkVersion = 'Build'; -$lang->testtask->lastRunAccount = 'Jouée par'; -$lang->testtask->lastRunTime = 'Dernier Run'; -$lang->testtask->lastRunResult = 'Résultat'; -$lang->testtask->reportField = 'Rapport'; -$lang->testtask->files = 'Upload'; -$lang->testtask->case = 'Liste CasTests'; -$lang->testtask->version = 'Version'; -$lang->testtask->caseResult = 'Résultat Test'; -$lang->testtask->stepResults = 'Etape Résultat'; -$lang->testtask->lastRunner = 'Joué par'; -$lang->testtask->lastRunDate = 'Dernier Run'; -$lang->testtask->date = 'Testé sur';; -$lang->testtask->deleted = "Supprimé"; -$lang->testtask->resultFile = "Fichier Résultats"; -$lang->testtask->caseCount = 'Compteur CasTest'; -$lang->testtask->passCount = 'Pass'; -$lang->testtask->failCount = 'Fail'; -$lang->testtask->summary = '%s CasTest, %s échecs, %s heures.'; +$lang->testtask->id = 'ID'; +$lang->testtask->common = 'Recette'; +$lang->testtask->product = $lang->productCommon; +$lang->testtask->project = 'Project'; +$lang->testtask->execution = $lang->execution->common; +$lang->testtask->type = 'Type'; +$lang->testtask->build = 'Build'; +$lang->testtask->owner = 'Owner'; +$lang->testtask->executor = 'Executeur'; +$lang->testtask->execTime = 'Durée Exec'; +$lang->testtask->pri = 'Priorité'; +$lang->testtask->name = 'Nom Campagne'; +$lang->testtask->begin = 'Début'; +$lang->testtask->end = 'Fin'; +$lang->testtask->realFinishedDate = 'Actual Finished Date'; +$lang->testtask->desc = 'Description'; +$lang->testtask->mailto = 'Mailto'; +$lang->testtask->status = 'Statut'; +$lang->testtask->subStatus = 'Sous-statut'; +$lang->testtask->testreport = 'Test Report'; +$lang->testtask->assignedTo = 'Affecté'; +$lang->testtask->linkVersion = 'Build'; +$lang->testtask->lastRunAccount = 'Jouée par'; +$lang->testtask->lastRunTime = 'Dernier Run'; +$lang->testtask->lastRunResult = 'Résultat'; +$lang->testtask->reportField = 'Rapport'; +$lang->testtask->files = 'Upload'; +$lang->testtask->case = 'Liste CasTests'; +$lang->testtask->version = 'Version'; +$lang->testtask->caseResult = 'Résultat Test'; +$lang->testtask->stepResults = 'Etape Résultat'; +$lang->testtask->lastRunner = 'Joué par'; +$lang->testtask->lastRunDate = 'Dernier Run'; +$lang->testtask->date = 'Testé sur';; +$lang->testtask->deleted = "Supprimé"; +$lang->testtask->resultFile = "Fichier Résultats"; +$lang->testtask->caseCount = 'Compteur CasTest'; +$lang->testtask->passCount = 'Pass'; +$lang->testtask->failCount = 'Fail'; +$lang->testtask->summary = '%s CasTest, %s échecs, %s heures.'; -$lang->testtask->beginAndEnd = 'Durée'; -$lang->testtask->to = 'à'; +$lang->testtask->beginAndEnd = 'Durée'; +$lang->testtask->to = 'à'; $lang->testtask->legendDesc = 'Description'; $lang->testtask->legendReport = 'Rapport'; @@ -132,6 +133,7 @@ $lang->testtask->noImportData = "Le XML importé ne parse pas les données. $lang->testtask->unitXMLFormat = 'Veuillez sélectionner un fichier au format XML JUnit.'; $lang->testtask->titleOfAuto = "%s tests automatisés"; $lang->testtask->cannotBeParsed = 'The content of the imported XML file is in the wrong format and cannot be parsed.'; +$lang->testtask->finishedDateError = 'Actual Finished Date cannot be <= Begin Date %s'; $lang->testtask->assignedToMe = 'Affecté à Moi'; $lang->testtask->allCases = 'Tous les CasTests'; diff --git a/module/testtask/lang/vi.php b/module/testtask/lang/vi.php index fab3dd2f4e..d9fb36c564 100644 --- a/module/testtask/lang/vi.php +++ b/module/testtask/lang/vi.php @@ -54,45 +54,46 @@ $lang->testtask->allTasks = 'Tất cả yêu cầu'; $lang->testtask->collapseAll = 'Co lại'; $lang->testtask->expandAll = 'Mở ra'; -$lang->testtask->id = 'ID'; -$lang->testtask->common = 'Yêu cầu'; -$lang->testtask->product = $lang->productCommon; -$lang->testtask->project = 'Project'; -$lang->testtask->execution = $lang->execution->common; -$lang->testtask->type = 'Kiểu'; -$lang->testtask->build = 'Bản dựng'; -$lang->testtask->owner = 'Sở hữu'; -$lang->testtask->executor = 'Executor'; -$lang->testtask->execTime = 'Exec Time'; -$lang->testtask->pri = 'Ưu tiên'; -$lang->testtask->name = 'Tên yêu cầu'; -$lang->testtask->begin = 'Bắt đầu'; -$lang->testtask->end = 'Kết thúc'; -$lang->testtask->desc = 'Mô tả'; -$lang->testtask->mailto = 'Mail tới'; -$lang->testtask->status = 'Tình trạng'; -$lang->testtask->subStatus = 'Tình trạng con'; -$lang->testtask->testreport = 'Test Report'; -$lang->testtask->assignedTo = 'Đã giao'; -$lang->testtask->linkVersion = 'Bản dựng'; -$lang->testtask->lastRunAccount = 'Chạy bởi'; -$lang->testtask->lastRunTime = 'Chạy gần nhất'; -$lang->testtask->lastRunResult = 'Kết quả'; -$lang->testtask->reportField = 'Báo cáo'; -$lang->testtask->files = 'Upload'; -$lang->testtask->case = 'Danh sách tình huống'; -$lang->testtask->version = 'Phiên bản'; -$lang->testtask->caseResult = 'Test kết quả'; -$lang->testtask->stepResults = 'Bước kết quả'; -$lang->testtask->lastRunner = 'Chạy bởi'; -$lang->testtask->lastRunDate = 'Chạy gần nhất'; -$lang->testtask->date = 'Tested on';; -$lang->testtask->deleted = "Đã xóa"; -$lang->testtask->resultFile = "Result File"; -$lang->testtask->caseCount = 'Case Count'; -$lang->testtask->passCount = 'Pass'; -$lang->testtask->failCount = 'Fail'; -$lang->testtask->summary = '%s cases, %s failures, %s time.'; +$lang->testtask->id = 'ID'; +$lang->testtask->common = 'Yêu cầu'; +$lang->testtask->product = $lang->productCommon; +$lang->testtask->project = 'Project'; +$lang->testtask->execution = $lang->execution->common; +$lang->testtask->type = 'Kiểu'; +$lang->testtask->build = 'Bản dựng'; +$lang->testtask->owner = 'Sở hữu'; +$lang->testtask->executor = 'Executor'; +$lang->testtask->execTime = 'Exec Time'; +$lang->testtask->pri = 'Ưu tiên'; +$lang->testtask->name = 'Tên yêu cầu'; +$lang->testtask->begin = 'Bắt đầu'; +$lang->testtask->end = 'Kết thúc'; +$lang->testtask->realFinishedDate = 'Actual Finished Date'; +$lang->testtask->desc = 'Mô tả'; +$lang->testtask->mailto = 'Mail tới'; +$lang->testtask->status = 'Tình trạng'; +$lang->testtask->subStatus = 'Tình trạng con'; +$lang->testtask->testreport = 'Test Report'; +$lang->testtask->assignedTo = 'Đã giao'; +$lang->testtask->linkVersion = 'Bản dựng'; +$lang->testtask->lastRunAccount = 'Chạy bởi'; +$lang->testtask->lastRunTime = 'Chạy gần nhất'; +$lang->testtask->lastRunResult = 'Kết quả'; +$lang->testtask->reportField = 'Báo cáo'; +$lang->testtask->files = 'Upload'; +$lang->testtask->case = 'Danh sách tình huống'; +$lang->testtask->version = 'Phiên bản'; +$lang->testtask->caseResult = 'Test kết quả'; +$lang->testtask->stepResults = 'Bước kết quả'; +$lang->testtask->lastRunner = 'Chạy bởi'; +$lang->testtask->lastRunDate = 'Chạy gần nhất'; +$lang->testtask->date = 'Tested on';; +$lang->testtask->deleted = "Đã xóa"; +$lang->testtask->resultFile = "Result File"; +$lang->testtask->caseCount = 'Case Count'; +$lang->testtask->passCount = 'Pass'; +$lang->testtask->failCount = 'Fail'; +$lang->testtask->summary = '%s cases, %s failures, %s time.'; $lang->testtask->beginAndEnd = 'Thời gian'; $lang->testtask->to = 'Tới'; @@ -132,6 +133,7 @@ $lang->testtask->noImportData = 'The imported XML does not parse the data.' $lang->testtask->unitXMLFormat = 'Please select a file in JUnit XML format.'; $lang->testtask->titleOfAuto = "%s automated testing"; $lang->testtask->cannotBeParsed = 'The content of the imported XML file is in the wrong format and cannot be parsed.'; +$lang->testtask->finishedDateError = 'Actual Finished Date cannot be <= Begin Date %s'; $lang->testtask->assignedToMe = 'Giao cho bạn'; $lang->testtask->allCases = 'Tất cả tình huống'; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index 9ee060c53d..f1bbbf12b3 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -48,57 +48,58 @@ $lang->testtask->allTasks = '所有测试'; $lang->testtask->collapseAll = '全部折叠'; $lang->testtask->expandAll = '全部展开'; -$lang->testtask->viewAction = "测试单概况"; -$lang->testtask->casesAction = '查看用例'; -$lang->testtask->activateAction = "激活测试单"; -$lang->testtask->blockAction = "阻塞测试单"; -$lang->testtask->closeAction = "关闭测试单"; -$lang->testtask->startAction = "开始测试单"; -$lang->testtask->resultsAction = "用例结果"; -$lang->testtask->reportAction = '用例报表统计'; +$lang->testtask->viewAction = "测试单概况"; +$lang->testtask->casesAction = '查看用例'; +$lang->testtask->activateAction = "激活测试单"; +$lang->testtask->blockAction = "阻塞测试单"; +$lang->testtask->closeAction = "关闭测试单"; +$lang->testtask->startAction = "开始测试单"; +$lang->testtask->resultsAction = "用例结果"; +$lang->testtask->reportAction = '用例报表统计'; -$lang->testtask->id = '编号'; -$lang->testtask->common = '测试单'; -$lang->testtask->product = '所属' . $lang->productCommon; -$lang->testtask->project = '所属项目'; -$lang->testtask->execution = '所属' . $lang->execution->common; -$lang->testtask->type = '测试类型'; -$lang->testtask->build = '版本'; -$lang->testtask->owner = '负责人'; -$lang->testtask->executor = '执行人'; -$lang->testtask->execTime = '执行时间'; -$lang->testtask->pri = '优先级'; -$lang->testtask->name = '名称'; -$lang->testtask->begin = '开始日期'; -$lang->testtask->end = '结束日期'; -$lang->testtask->desc = '描述'; -$lang->testtask->mailto = '抄送给'; -$lang->testtask->status = '当前状态'; -$lang->testtask->subStatus = '子状态'; -$lang->testtask->testreport = '相关测试报告'; -$lang->testtask->assignedTo = '指派给'; -$lang->testtask->linkVersion = '版本'; -$lang->testtask->lastRunAccount = '执行人'; -$lang->testtask->lastRunTime = '执行时间'; -$lang->testtask->lastRunResult = '结果'; -$lang->testtask->reportField = '测试总结'; -$lang->testtask->files = '上传附件'; -$lang->testtask->case = '用例'; -$lang->testtask->version = '版本'; -$lang->testtask->caseResult = '测试结果'; -$lang->testtask->stepResults = '步骤结果'; -$lang->testtask->lastRunner = '最后执行人'; -$lang->testtask->lastRunDate = '最后执行时间'; -$lang->testtask->date = '测试时间'; -$lang->testtask->deleted = "已删除"; -$lang->testtask->resultFile = "结果文件"; -$lang->testtask->caseCount = '用例数'; -$lang->testtask->passCount = '成功'; -$lang->testtask->failCount = '失败'; -$lang->testtask->summary = '有%s个用例,失败%s个,耗时%s。'; +$lang->testtask->id = '编号'; +$lang->testtask->common = '测试单'; +$lang->testtask->product = '所属' . $lang->productCommon; +$lang->testtask->project = '所属项目'; +$lang->testtask->execution = '所属' . $lang->execution->common; +$lang->testtask->type = '测试类型'; +$lang->testtask->build = '版本'; +$lang->testtask->owner = '负责人'; +$lang->testtask->executor = '执行人'; +$lang->testtask->execTime = '执行时间'; +$lang->testtask->pri = '优先级'; +$lang->testtask->name = '名称'; +$lang->testtask->begin = '开始日期'; +$lang->testtask->end = '结束日期'; +$lang->testtask->realFinishedDate = '实际完成日期'; +$lang->testtask->desc = '描述'; +$lang->testtask->mailto = '抄送给'; +$lang->testtask->status = '当前状态'; +$lang->testtask->subStatus = '子状态'; +$lang->testtask->testreport = '相关测试报告'; +$lang->testtask->assignedTo = '指派给'; +$lang->testtask->linkVersion = '版本'; +$lang->testtask->lastRunAccount = '执行人'; +$lang->testtask->lastRunTime = '执行时间'; +$lang->testtask->lastRunResult = '结果'; +$lang->testtask->reportField = '测试总结'; +$lang->testtask->files = '上传附件'; +$lang->testtask->case = '用例'; +$lang->testtask->version = '版本'; +$lang->testtask->caseResult = '测试结果'; +$lang->testtask->stepResults = '步骤结果'; +$lang->testtask->lastRunner = '最后执行人'; +$lang->testtask->lastRunDate = '最后执行时间'; +$lang->testtask->date = '测试时间'; +$lang->testtask->deleted = "已删除"; +$lang->testtask->resultFile = "结果文件"; +$lang->testtask->caseCount = '用例数'; +$lang->testtask->passCount = '成功'; +$lang->testtask->failCount = '失败'; +$lang->testtask->summary = '有%s个用例,失败%s个,耗时%s。'; -$lang->testtask->beginAndEnd = '起止时间'; -$lang->testtask->to = '至'; +$lang->testtask->beginAndEnd = '起止时间'; +$lang->testtask->to = '至'; $lang->testtask->legendDesc = '测试单描述'; $lang->testtask->legendReport = '测试总结'; @@ -135,6 +136,7 @@ $lang->testtask->noImportData = '导入的XML没有解析出数据。'; $lang->testtask->unitXMLFormat = '请选择Junit XML 格式的文件。'; $lang->testtask->titleOfAuto = "%s 自动化测试"; $lang->testtask->cannotBeParsed = '导入的XML文件内容格式错误,无法解析。'; +$lang->testtask->finishedDateError = '实际完成日期不能小于开始日期%s'; $lang->testtask->assignedToMe = '指派给我'; $lang->testtask->allCases = '所有用例'; diff --git a/module/testtask/model.php b/module/testtask/model.php index 77e67e306b..a60df44674 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -801,6 +801,12 @@ class testtaskModel extends model ->remove('comment,uid') ->get(); + if($testtask->realFinishedDate <= $oldTesttask->begin) + { + dao::$errors[] = sprintf($this->lang->testtask->finishedDateError, $oldTesttask->begin); + return false; + } + $testtask = $this->loadModel('file')->processImgURL($testtask, $this->config->testtask->editor->close['id'], $this->post->uid); $this->dao->update(TABLE_TESTTASK)->data($testtask) ->autoCheck() diff --git a/module/testtask/view/close.html.php b/module/testtask/view/close.html.php index c789730286..7c3cdb886c 100644 --- a/module/testtask/view/close.html.php +++ b/module/testtask/view/close.html.php @@ -28,6 +28,10 @@ printExtendFields($testtask, 'table');?> + + testtask->realFinishedDate;?> + realFinishedDate) ? helper::now() : $testtask->realFinishedDate, "class='form-control form-datetime w-180px'");?> + comment;?> diff --git a/module/testtask/view/view.html.php b/module/testtask/view/view.html.php index c53de02334..ea807c35c1 100644 --- a/module/testtask/view/view.html.php +++ b/module/testtask/view/view.html.php @@ -124,6 +124,10 @@ testtask->end;?> end;?> + + testtask->realFinishedDate;?> + realFinishedDate)) echo $task->realFinishedDate;?> + testtask->status;?> processStatus('testtask', $task);?> diff --git a/module/upgrade/model.php b/module/upgrade/model.php index cea6fb429d..d7bab9e0da 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -696,6 +696,11 @@ class upgradeModel extends model $this->processProductDoc(); $this->adjustPriv15_3(); $this->appendExec('15_2'); + case '15_3': + $this->saveLogs('Execute 15_3'); + $this->execSQL($this->getUpgradeFile('15.3')); + $this->processTesttaskDate(); + $this->appendExec('15_3'); } $this->deletePatch(); @@ -5199,4 +5204,20 @@ class upgradeModel extends model } return true; } + + /** + * Actual finished date of processing testtask. + * + * @access public + * @return bool + */ + public function processTesttaskDate() + { + $this->dao->update(TABLE_TESTTASK)->set("realFinishedDate = end") + ->where('status')->eq('done') + ->andWhere('realFinishedDate')->eq('0000-00-00 00:00:00') + ->exec(); + + return true; + } }