diff --git a/module/testcase/ui/view.html.php b/module/testcase/ui/view.html.php
index 7cfb58c78a..01a5def2ac 100644
--- a/module/testcase/ui/view.html.php
+++ b/module/testcase/ui/view.html.php
@@ -298,6 +298,18 @@ if($case->stage)
}
+if($from == 'testtask' && $case->version > $case->currentVersion)
+{
+ $caseChange[] = span
+ (
+ set('title', $lang->testcase->fromTesttask),
+ ' (',
+ $lang->testcase->changed,
+ hasPriv('testcase', 'confirmchange') ? a(setClass('btn size-xs primary-pale mx-1 ajax-submit'), set::href($this->createLink('testcase', 'confirmchange', "caseID=$case->id&taskID=$taskID")), $lang->testcase->sync) : '',
+ ')'
+ );
+}
+
if(isset($case->fromCaseVersion) && $case->fromCaseVersion > $case->version && $from != 'testtask' && !empty($case->product))
{
$caseChange[] = span
diff --git a/module/testtask/model.php b/module/testtask/model.php
index b96d4b96ea..e3fb42f880 100755
--- a/module/testtask/model.php
+++ b/module/testtask/model.php
@@ -952,7 +952,7 @@ class testtaskModel extends model
{
$orderBy = $this->addPrefixToOrderBy($orderBy);
- return $this->dao->select('t2.*, t1.*, t3.title AS storyTitle, t2.status AS caseStatus')->from(TABLE_TESTRUN)->alias('t1')
+ return $this->dao->select('t2.*, t1.*, t2.version as caseVersion, t3.title AS storyTitle, t2.status AS caseStatus')->from(TABLE_TESTRUN)->alias('t1')
->leftJoin(TABLE_CASE)->alias('t2')->on('t1.case = t2.id')
->leftJoin(TABLE_STORY)->alias('t3')->on('t2.story = t3.id')
->where('t1.task')->eq($taskID)
diff --git a/module/testtask/ui/cases.html.php b/module/testtask/ui/cases.html.php
index 17d7e3f252..422b94b425 100644
--- a/module/testtask/ui/cases.html.php
+++ b/module/testtask/ui/cases.html.php
@@ -147,11 +147,20 @@ if($canBatchAction)
$cols = $this->loadModel('datatable')->getSetting('testtask');
if(isset($cols['id']['name'])) $cols['id']['name'] = 'case';
-if(isset($cols['title']['link']['params'])) $cols['title']['link']['params'] = 'caseID={case}';
+if(isset($cols['title']['link']['params'])) $cols['title']['link']['params'] = 'caseID={case}&version={version}&from=testtask&taskID=' . $task->id;
if(isset($cols['bugs']['link']['params'])) $cols['bugs']['link']['params'] = 'caseID={case}';
if(isset($cols['scene'])) $cols['scene']['map'] = $iscenes;
+if(isset($cols['status'])) $cols['status']['statusMap']['changed'] = $lang->testcase->changed;
$runs = initTableData($runs, $cols);
+$runs = array_map(
+ function($run)
+ {
+ if($run->version < $run->caseVersion) $run->status = 'changed';
+ return $run;
+ },
+ $runs
+);
dtable
(