diff --git a/module/my/view/testcase.html.php b/module/my/view/testcase.html.php
index c08044b477..bc463f0dfb 100644
--- a/module/my/view/testcase.html.php
+++ b/module/my/view/testcase.html.php
@@ -105,9 +105,10 @@
status == 'wait' ? 'disabled' : '';
- common::printIcon('testcase', 'createBug', "product=$case->product&branch=$case->branch&extra=caseID=$caseID,version=$case->version,runID=$runID", $case, 'list', 'bug', '', 'iframe', 'true', "data-app='qa' data-toggle=''");
+ $disabled = (isset($case->lastRunResult) and $case->lastRunResult != 'fail') ? 'disabled' : '';
+ common::printIcon('testcase', 'createBug', "product=$case->product&branch=$case->branch&extra=caseID=$caseID,version=$case->version,runID=$runID", $case, 'list', 'bug', '', "iframe $disabled", 'true', "data-app='qa' data-toggle=''");
common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from={$app->rawMethod}¶m=$caseID", $case, 'list', 'copy', '', 'iframe', true, "data-width='95%'");
+ $disabled = $case->status == 'wait' ? 'disabled' : '';
common::printIcon('testtask', 'runCase', "runID=$runID&caseID=$caseID&version=$case->version", '', 'list', 'play', '', "iframe $disabled", true, "data-width='95%'", '', $case->project);
common::printIcon('testtask', 'results', "runID=$runID&caseID=$caseID", '', 'list', 'list-alt', '', 'iframe', true, "data-width='95%'", '', $case->project);
common::printIcon('testcase', 'edit', "caseID=$caseID", $case, 'list', 'edit', '', 'iframe', true, "data-width='95%'", '', $case->project);
diff --git a/module/testcase/control.php b/module/testcase/control.php
index 3af8e4fe59..cd9b490dae 100644
--- a/module/testcase/control.php
+++ b/module/testcase/control.php
@@ -1037,8 +1037,7 @@ class testcase extends control
$cases = $this->dao->select('t1.*,t2.id as runID')->from(TABLE_CASE)->alias('t1')
->leftJoin(TABLE_TESTRUN)->alias('t2')->on('t1.id = t2.case')
->where('t1.deleted')->eq(0)
- ->beginIF($tab == 'my')->andWhere('t2.id')->in($caseIDList)->fi()
- ->beginIF($tab != 'my')->andWhere('t1.id')->in($caseIDList)->fi()
+ ->andWhere('t1.id')->in($caseIDList)
->fetchAll('id');
$caseIDList = array_keys($cases);
diff --git a/module/testcase/model.php b/module/testcase/model.php
index ef61d7d3a0..a28cdc05de 100644
--- a/module/testcase/model.php
+++ b/module/testcase/model.php
@@ -1050,15 +1050,15 @@ class testcaseModel extends model
if($data->pris[$caseID] == 'ditto') $data->pris[$caseID] = isset($prev['pri']) ? $prev['pri'] : 3;
if($data->modules[$caseID] == 'ditto') $data->modules[$caseID] = isset($prev['module']) ? $prev['module'] : 0;
if($data->types[$caseID] == 'ditto') $data->types[$caseID] = isset($prev['type']) ? $prev['type'] : '';
- if($data->story[$caseID] == '') $data->story[$caseID] = 0;
+ if($data->story[$caseID] == '') $data->story[$caseID] = 0;
+ if($data->story[$caseID] == 'ditto') $data->story[$caseID] = isset($prev['story']) ? $prev['story'] : 0;
if(isset($data->branches[$caseID]) and $data->branches[$caseID] == 'ditto') $data->branches[$caseID] = isset($prev['branch']) ? $prev['branch'] : 0;
- if($data->story[$caseID] == 'ditto') $data->story[$caseID] = isset($prev['story']) ? $prev['story'] : 0;
$prev['pri'] = $data->pris[$caseID];
$prev['type'] = $data->types[$caseID];
$prev['story'] = $data->story[$caseID];
- $prev['branch'] = $data->branches[$caseID];
$prev['module'] = $data->modules[$caseID];
+ if(isset($data->branches)) $prev['branch'] = $data->branches[$caseID];
}
/* Initialize cases from the post data.*/
@@ -1070,7 +1070,6 @@ class testcaseModel extends model
$case->lastEditedBy = $this->app->user->account;
$case->lastEditedDate = $now;
$case->pri = $data->pris[$caseID];
- $case->branch = $data->branches[$caseID];
$case->module = $data->modules[$caseID];
$case->status = $data->statuses[$caseID];
$case->story = $data->story[$caseID];
@@ -1080,6 +1079,7 @@ class testcaseModel extends model
$case->keywords = $data->keywords[$caseID];
$case->type = $data->types[$caseID];
$case->stage = empty($data->stages[$caseID]) ? '' : implode(',', $data->stages[$caseID]);
+ if(isset($data->branches[$caseID])) $case->branch = $data->branches[$caseID];
foreach($extendFields as $extendField)
{
@@ -1122,7 +1122,7 @@ class testcaseModel extends model
unset($oldCase->steps);
$allChanges[$caseID] = common::createChanges($oldCase, $case);
- if($case->branch and isset($testtasks[$caseID]))
+ if(!empty($case->branch) and isset($testtasks[$caseID]))
{
foreach($testtasks[$caseID] as $taskID => $testtask)
{
diff --git a/module/testtask/control.php b/module/testtask/control.php
index 7361692bc5..fa04dad445 100644
--- a/module/testtask/control.php
+++ b/module/testtask/control.php
@@ -1232,7 +1232,7 @@ class testtask extends control
/* set cookie for ajax load caselist when close colorbox. */
setcookie('selfClose', 1, 0, $this->config->webRoot, '', $this->config->cookieSecure, false);
- if($preAndNext->next)
+ if($preAndNext->next and $this->app->tab != 'my')
{
$nextRunID = $runID ? $preAndNext->next->id : 0;
$nextCaseID = $runID ? $preAndNext->next->case : $preAndNext->next->id;
@@ -1255,13 +1255,13 @@ class testtask extends control
$preCase = array();
$nextCase = array();
- if($preAndNext->pre)
+ if($preAndNext->pre and $this->app->tab != 'my')
{
$preCase['runID'] = $runID ? $preAndNext->pre->id : 0;
$preCase['caseID'] = $runID ? $preAndNext->pre->case : $preAndNext->pre->id;
$preCase['version'] = $preAndNext->pre->version;
}
- if($preAndNext->next)
+ if($preAndNext->next and $this->app->tab != 'my')
{
$nextCase['runID'] = $runID ? $preAndNext->next->id : 0;
$nextCase['caseID'] = $runID ? $preAndNext->next->case : $preAndNext->next->id;
@@ -1327,19 +1327,23 @@ class testtask extends control
if($this->app->tab == 'project')
{
$this->loadModel('project')->setMenu($this->session->project);
+ $cases = $this->dao->select('t1.*,t2.id as runID')->from(TABLE_CASE)->alias('t1')
+ ->leftJoin(TABLE_TESTRUN)->alias('t2')->on('t1.id = t2.case')
+ ->where('t2.id')->in($caseIDList)
+ ->fetchAll('id');
}
else
{
$this->lang->testtask->menu = $this->lang->my->menu->work;
$this->lang->my->menu->work['subModule'] = 'testtask';
+
+ $cases = $this->dao->select('t1.*,t2.id as runID')->from(TABLE_CASE)->alias('t1')
+ ->leftJoin(TABLE_TESTRUN)->alias('t2')->on('t1.id = t2.case')
+ ->where('t1.id')->in($caseIDList)
+ ->fetchAll('id');
}
$this->view->title = $this->lang->testtask->batchRun;
-
- $cases = $this->dao->select('t1.*,t2.id as runID')->from(TABLE_CASE)->alias('t1')
- ->leftJoin(TABLE_TESTRUN)->alias('t2')->on('t1.id = t2.case')
- ->where('t2.id')->in($caseIDList)
- ->fetchAll('id');
}
/* Set modules. */