diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 36ea662332..ba85b78faf 100644 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -77,6 +77,7 @@ $lang->action->desc->commented = '$date, commented by $actoraction->desc->activated = '$date, activated by $actor.'; $lang->action->desc->moved = '$date, moved by $actor, previouse is "$extra".'; $lang->action->desc->confirmed = '$date, confirmed by $actor, version is#$extra.'; +$lang->action->desc->caseconfirmed = '$date, confirmed by $actor, version is#$extra.'; $lang->action->desc->bugconfirmed = '$date, confirmed by $actor.'; $lang->action->desc->frombug = '$date, from Bug by $actor BugID:$extra.'; $lang->action->desc->started = '$date, started by $actor.'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 7b34e36882..c594b0596f 100644 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -77,6 +77,7 @@ $lang->action->desc->commented = '$date, 由 $actor 添加 $lang->action->desc->activated = '$date, 由 $actor 激活。' . "\n"; $lang->action->desc->moved = '$date, 由 $actor 移动,之前为 "$extra"。' . "\n"; $lang->action->desc->confirmed = '$date, 由 $actor 确认需求变动,最新版本为#$extra。' . "\n"; +$lang->action->desc->caseconfirmed = '$date, 由 $actor 确认用例变动,最新版本为#$extra。' . "\n"; $lang->action->desc->bugconfirmed = '$date, 由 $actor 确认Bug。' . "\n"; $lang->action->desc->frombug = '$date, 由 $actor Bug转化而来,Bug编号为 $extra。'; $lang->action->desc->started = '$date, 由 $actor 启动。' . "\n"; diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index d686169ec3..85902b5ed9 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -392,6 +392,7 @@ $lang->resource->testcase->edit = 'edit'; $lang->resource->testcase->batchEdit = 'batchEdit'; $lang->resource->testcase->delete = 'delete'; $lang->resource->testcase->export = 'export'; +$lang->resource->testcase->confirmChange = 'confirmChange'; $lang->resource->testcase->confirmStoryChange = 'confirmStoryChange'; $lang->testcase->methodOrder[0] = 'index'; @@ -402,7 +403,8 @@ $lang->testcase->methodOrder[20] = 'view'; $lang->testcase->methodOrder[25] = 'edit'; $lang->testcase->methodOrder[30] = 'delete'; $lang->testcase->methodOrder[35] = 'export'; -$lang->testcase->methodOrder[40] = 'confirmStoryChange'; +$lang->testcase->methodOrder[40] = 'confirmChange'; +$lang->testcase->methodOrder[45] = 'confirmStoryChange'; /* Test task. */ $lang->resource->testtask = new stdclass(); diff --git a/module/testcase/control.php b/module/testcase/control.php index 905e399212..39d59ffba1 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -500,6 +500,21 @@ class testcase extends control } } + /** + * Confirm testcase changed. + * + * @param int $caseID + * @access public + * @return void + */ + public function confirmChange($caseID) + { + $case = $this->testcase->getById($caseID); + $this->dao->update(TABLE_TESTRUN)->set('version')->eq($case->version)->where('`case`')->eq($caseID)->exec(); + $this->loadModel('action')->create('case', $caseID, 'caseconfirmed', '', $case->version); + die(js::locate(inLink('view', "caseID=$caseID"), 'parent')); + } + /** * Confirm story changes. * diff --git a/module/testcase/lang/en.php b/module/testcase/lang/en.php index 1ed08e1826..b2856ce12f 100644 --- a/module/testcase/lang/en.php +++ b/module/testcase/lang/en.php @@ -43,6 +43,7 @@ $lang->testcase->lastEditedDateAB = 'Last edited date'; $lang->testcase->allProduct = 'All product'; $lang->testcase->fromBug = 'From bug'; $lang->testcase->toBug = 'To bug'; +$lang->testcase->changed = 'Changed'; $lang->case = $lang->testcase; // For dao checking using. Because 'case' is a php keywords, so the module name is testcase, table name is still case. $lang->testcase->stepID = 'ID'; @@ -62,6 +63,8 @@ $lang->testcase->browse = "Browse"; $lang->testcase->import = "Import"; $lang->testcase->exportTemplet = "Export templet"; $lang->testcase->export = "Export"; +$lang->testcase->export = "Export"; +$lang->testcase->confirmChange = 'Confirm case change'; $lang->testcase->confirmStoryChange = 'Confirm story change'; $lang->testcase->deleteStep = 'Delete'; diff --git a/module/testcase/lang/zh-cn.php b/module/testcase/lang/zh-cn.php index c31c53f20d..47a44229ae 100644 --- a/module/testcase/lang/zh-cn.php +++ b/module/testcase/lang/zh-cn.php @@ -43,6 +43,7 @@ $lang->testcase->lastEditedDateAB = '修改日期'; $lang->testcase->allProduct = '所有产品'; $lang->testcase->fromBug = '来源Bug'; $lang->testcase->toBug = '生成Bug'; +$lang->testcase->changed = '用例变更'; $lang->case = $lang->testcase; // 用于DAO检查时使用。因为case是系统关键字,所以无法定义该模块为case,只能使用testcase,但表还是使用的case。 $lang->testcase->stepID = '编号'; @@ -62,6 +63,7 @@ $lang->testcase->browse = "用例列表"; $lang->testcase->import = "导入用例"; $lang->testcase->exportTemplet = "导出模板"; $lang->testcase->export = "导出"; +$lang->testcase->confirmChange = '确认用例变动'; $lang->testcase->confirmStoryChange = '确认需求变动'; $lang->testcase->deleteStep = '删除'; diff --git a/module/testcase/view/view.html.php b/module/testcase/view/view.html.php index d66306296d..370528758d 100644 --- a/module/testcase/view/view.html.php +++ b/module/testcase/view/view.html.php @@ -171,7 +171,17 @@ testcase->status;?> - testcase->statusList[$case->status];?> + + testcase->statusList[$case->status]; + if($case->version > $case->currentVersion) + { + echo " ({$lang->testcase->changed} "; + echo html::a($this->createLink('testcase', 'confirmchange', "caseID=$case->id"), $lang->confirm, 'hiddenwin'); + echo ")"; + } + ?> + app->loadLang('testtask')->testtask->lastRunTime;?> diff --git a/module/testtask/model.php b/module/testtask/model.php index a0ae97e96e..1a7454110b 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -224,7 +224,7 @@ class testtaskModel extends model { $orderBy = strpos($orderBy, 'assignedTo') !== false ? ('t1.' . $orderBy) : ('t2.' . $orderBy); - return $this->dao->select('t2.*,t1.*')->from(TABLE_TESTRUN)->alias('t1') + return $this->dao->select('t2.*,t1.*,t2.version as caseVersion')->from(TABLE_TESTRUN)->alias('t1') ->leftJoin(TABLE_CASE)->alias('t2')->on('t1.case = t2.id') ->where('t1.task')->eq((int)$taskID) ->beginIF($moduleID)->andWhere('t2.module')->in($moduleID)->fi() @@ -246,7 +246,7 @@ class testtaskModel extends model { $orderBy = strpos($orderBy, 'assignedTo') !== false ? ('t1.' . $orderBy) : ('t2.' . $orderBy); - return $this->dao->select('t2.*,t1.*')->from(TABLE_TESTRUN)->alias('t1') + return $this->dao->select('t2.*,t1.*,t2.version as caseVersion')->from(TABLE_TESTRUN)->alias('t1') ->leftJoin(TABLE_CASE)->alias('t2')->on('t1.case = t2.id') ->where('t1.task')->eq((int)$taskID) ->andWhere('t1.assignedTo')->eq($user) diff --git a/module/testtask/view/cases.html.php b/module/testtask/view/cases.html.php index 73e9af8c0b..164310d44a 100644 --- a/module/testtask/view/cases.html.php +++ b/module/testtask/view/cases.html.php @@ -83,7 +83,7 @@ var moduleID = ''; lastRunner]; echo substr($lastRunner, strpos($lastRunner, ':') + 1);?> lastRunDate)) echo date(DT_MONTHTIME1, strtotime($run->lastRunDate));?> lastRunResult) echo $lang->testcase->resultList[$run->lastRunResult];?> - testtask->statusList[$run->status];?> + version < $run->caseVersion) ? "{$lang->testcase->changed}" : $lang->testtask->statusList[$run->status];?> id", '', 'list', '', '', 'iframe');