diff --git a/db/update15.0.sql b/db/update15.0.sql index 03ec09355d..22d13be1e9 100644 --- a/db/update15.0.sql +++ b/db/update15.0.sql @@ -136,6 +136,8 @@ ALTER TABLE `zt_task` ADD `designVersion` smallint(6) unsigned NOT NULL AFTER `s ALTER TABLE `zt_burn` ADD `storyPoint` float NOT NULL AFTER `consumed`; ALTER TABLE `zt_burn` ADD `product` mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER `execution`; +ALTER TABLE `zt_projectcase` ADD `count` mediumint(8) unsigned NOT NULL DEFAULT '1' AFTER `case`; + -- DROP TABLE IF EXISTS `zt_taskspec`; CREATE TABLE IF NOT EXISTS `zt_taskspec` ( `task` mediumint(8) NOT NULL, diff --git a/module/block/control.php b/module/block/control.php index f68ea1c030..ac087c5e62 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -257,6 +257,10 @@ class block extends control { $block->moreLink = $this->createLink($moduleName, 'work', 'mode=' . $method . '&' . $vars); } + elseif($moduleName = 'project') + { + $block->moreLink = $this->createLink('project', 'dynamic', "projectID={$this->session->project}"); + } } elseif($block->block == 'dynamic') { diff --git a/module/index/js/index.js b/module/index/js/index.js index fd235da64f..4c887d0570 100644 --- a/module/index/js/index.js +++ b/module/index/js/index.js @@ -61,7 +61,7 @@ } /** - * Get app app code from url + * Get app code from url * @param {String} urlOrModuleName Url string * @return {String} */ @@ -474,7 +474,7 @@ window.addEventListener('popstate', function(event) { - if(lastOpenedApp !== event.state.app) openApp(event.state.app); + if(event.state && lastOpenedApp !== event.state.app) openApp(event.state.app); }); /* Redirect or open default app after document load */ diff --git a/module/testcase/control.php b/module/testcase/control.php index ea304dda63..e5b9426b08 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -42,6 +42,7 @@ class testcase extends control $this->loadModel('qa'); $this->view->products = $this->products = $this->product->getPairs(); + if($this->app->openApp == 'project') $this->view->products = $this->products = $this->loadModel('project')->getProducts($this->session->project, false); if(empty($this->products)) die($this->locate($this->createLink('product', 'showErrorNone', "fromModule=testcase"))); } @@ -302,7 +303,10 @@ class testcase extends control if(isonlybody()) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'closeModal' => true)); setcookie('caseModule', 0, 0, $this->config->webRoot, '', false, false); - $response['locate'] = $this->createLink('testcase', 'browse', "productID={$this->post->product}&branch={$this->post->branch}&browseType=all¶m=0&orderBy=id_desc"); + $currentModule = $this->app->openApp == 'project' ? 'project' : 'testcase'; + $currentMethod = $this->app->openApp == 'project' ? 'testcase' : 'browse'; + $projectParam = $this->app->openApp == 'project' ? "projectID={$this->session->project}&" : ''; + $response['locate'] = $this->createLink($currentModule, $currentMethod, $projectParam . "productID={$this->post->product}&branch={$this->post->branch}&browseType=all¶m=0&orderBy=id_desc"); if($this->app->openApp == 'execution') $response['locate'] = $this->createLink('execution', 'testcase', "executionID={$this->session->execution}&type=all"); $this->send($response); } @@ -442,7 +446,10 @@ class testcase extends control if(isonlybody()) die(js::closeModal('parent.parent', 'this')); setcookie('caseModule', 0, 0, $this->config->webRoot, '', false, false); - die(js::locate($this->createLink('testcase', 'browse', "productID=$productID&branch=$branch&browseType=all¶m=0&orderBy=id_desc"), 'parent')); + $currentModule = $this->app->openApp == 'project' ? 'project' : 'testcase'; + $currentMethod = $this->app->openApp == 'project' ? 'testcase' : 'browse'; + $projectParam = $this->app->openApp == 'project' ? "projectID={$this->session->project}&" : ''; + die(js::locate($this->createLink($currentModule, $currentMethod, $projectParam . "productID=$productID&branch=$branch&browseType=all¶m=0&orderBy=id_desc"), 'parent')); } if(empty($this->products)) $this->locate($this->createLink('product', 'create')); diff --git a/module/testcase/model.php b/module/testcase/model.php index 873c3036b8..068e03a3fa 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -508,7 +508,10 @@ class testcaseModel extends model ->beginIF($this->app->openApp == 'project')->leftJoin(TABLE_PROJECTCASE)->alias('t2')->on('t1.id=t2.case')->fi() ->where($caseQuery) ->beginIF($this->app->openApp == 'project')->andWhere('t2.project')->eq($this->session->project)->fi() - ->beginIF(!empty($productID) and $queryProductID != 'all')->andWhere('product')->eq($productID)->fi() + ->beginIF(!empty($productID) and $queryProductID != 'all') + ->beginIF($this->app->openApp == 'project')->andWhere('t2.product')->eq($productID)->fi() + ->beginIF($this->app->openApp != 'project')->andWhere('product')->eq($productID)->fi() + ->fi() ->beginIF($auto != 'unit')->andWhere('auto')->ne('unit')->fi() ->beginIF($auto == 'unit')->andWhere('auto')->eq('unit')->fi() ->andWhere('deleted')->eq(0) diff --git a/module/testcase/view/caseheader.html.php b/module/testcase/view/caseheader.html.php index fe9d7a8078..1d41a99879 100644 --- a/module/testcase/view/caseheader.html.php +++ b/module/testcase/view/caseheader.html.php @@ -153,7 +153,9 @@