From 4db7034029bf18478a432553c32e25dbe5238dbb Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 5 Feb 2020 10:06:14 +0800 Subject: [PATCH] * finish task #6849. --- config/filter.php | 25 +++++++++++++++++-------- module/bug/control.php | 3 ++- module/doc/control.php | 3 ++- module/story/control.php | 3 ++- module/task/control.php | 6 ++++-- module/testcase/control.php | 3 ++- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/config/filter.php b/config/filter.php index ac8436cdab..4699181e44 100644 --- a/config/filter.php +++ b/config/filter.php @@ -54,6 +54,7 @@ $filter->bug->browse = new stdclass(); $filter->bug->default = new stdclass(); $filter->bug->create = new stdclass(); $filter->bug->export = new stdclass(); +$filter->doc->create = new stdclass(); $filter->doc->browse = new stdclass(); $filter->doc->showfiles = new stdclass(); $filter->doc->default = new stdclass(); @@ -69,14 +70,17 @@ $filter->project->default = new stdclass(); $filter->project->story = new stdclass(); $filter->project->task = new stdclass(); $filter->qa->default = new stdclass(); +$filter->story->create = new stdclass(); $filter->story->export = new stdclass(); $filter->sso->getbindusers = new stdclass(); $filter->sso->gettodolist = new stdclass(); $filter->sso->getuserpairs = new stdclass(); $filter->sso->login = new stdclass(); $filter->sso->logout = new stdclass(); +$filter->task->create = new stdclass(); $filter->task->export = new stdclass(); $filter->testcase->default = new stdclass(); +$filter->testcase->create = new stdclass(); $filter->testcase->browse = new stdclass(); $filter->testcase->export = new stdclass(); $filter->testcase->groupcase = new stdclass(); @@ -96,8 +100,10 @@ $filter->bug->browse->cookie['windowWidth'] = 'int'; $filter->bug->default->cookie['lastProduct'] = 'int'; $filter->bug->default->cookie['preProductID'] = 'int'; $filter->bug->create->cookie['preBranch'] = 'int'; +$filter->bug->create->cookie['lastBugModule'] = 'int'; $filter->bug->export->cookie['checkedItem'] = 'reg::checked'; +$filter->doc->create->cookie['lastDocModule'] = 'int'; $filter->doc->browse->cookie['browseType'] = 'reg::browseType'; $filter->doc->alllibs->cookie['browseType'] = 'reg::browseType'; $filter->doc->objectlibs->cookie['browseType'] = 'reg::browseType'; @@ -136,17 +142,20 @@ $filter->qa->default->cookie['lastProduct'] = 'int'; $filter->qa->default->cookie['preBranch'] = 'int'; $filter->qa->default->cookie['preProductID'] = 'int'; +$filter->story->create->cookie['lastStoryModule'] = 'int'; $filter->story->export->cookie['checkedItem'] = 'reg::checked'; -$filter->task->export->cookie['checkedItem'] = 'reg::checked'; +$filter->task->create->cookie['lastTaskModule'] = 'int'; +$filter->task->export->cookie['checkedItem'] = 'reg::checked'; -$filter->testcase->browse->cookie['caseModule'] = 'int'; -$filter->testcase->browse->cookie['caseSuite'] = 'int'; -$filter->testcase->browse->cookie['preBranch'] = 'int'; -$filter->testcase->default->cookie['lastProduct'] = 'int'; -$filter->testcase->default->cookie['preProductID'] = 'int'; -$filter->testcase->export->cookie['checkedItem'] = 'reg::checked'; -$filter->testcase->groupcase->cookie['preBranch'] = 'int'; +$filter->testcase->browse->cookie['caseModule'] = 'int'; +$filter->testcase->browse->cookie['caseSuite'] = 'int'; +$filter->testcase->browse->cookie['preBranch'] = 'int'; +$filter->testcase->create->cookie['lastCaseModule'] = 'int'; +$filter->testcase->default->cookie['lastProduct'] = 'int'; +$filter->testcase->default->cookie['preProductID'] = 'int'; +$filter->testcase->export->cookie['checkedItem'] = 'reg::checked'; +$filter->testcase->groupcase->cookie['preBranch'] = 'int'; $filter->testreport->default->cookie['lastProduct'] = 'int'; $filter->testreport->default->cookie['lastProject'] = 'int'; diff --git a/module/bug/control.php b/module/bug/control.php index cf7dd372b8..22b7e70f3c 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -261,6 +261,7 @@ class bug extends control $response['message'] = $this->lang->saveSuccess; /* Set from param if there is a object to transfer bug. */ + setcookie('lastBugModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', false, false); $bugResult = $this->bug->create($from = isset($fromObjectIDKey) ? $fromObjectIDKey : ''); if(!$bugResult or dao::isError()) { @@ -427,7 +428,7 @@ class bug extends control $this->view->stories = $stories; $this->view->projects = $this->product->getProjectPairs($productID, $branch ? "0,$branch" : 0, $params = 'nodeleted'); $this->view->builds = $builds; - $this->view->moduleID = $moduleID; + $this->view->moduleID = $moduleID ? $moduleID : (int)$this->cookie->lastBugModule; $this->view->projectID = $projectID; $this->view->taskID = $taskID; $this->view->storyID = $storyID; diff --git a/module/doc/control.php b/module/doc/control.php index 19708b4cd9..9c7384542c 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -308,6 +308,7 @@ class doc extends control { if(!empty($_POST)) { + setcookie('lastDocModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', false, false); $docResult = $this->doc->create(); if(!$docResult or dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError())); @@ -366,7 +367,7 @@ class doc extends control $this->view->libs = $this->doc->getLibs($type = 'all', $extra = "withObject,$unclosed", $libID); $this->view->libName = $this->dao->findByID($libID)->from(TABLE_DOCLIB)->fetch('name'); $this->view->moduleOptionMenu = $this->tree->getOptionMenu($libID, 'doc', $startModuleID = 0); - $this->view->moduleID = $moduleID; + $this->view->moduleID = $moduleID ? $moduleID : (int)$this->post->lastDocModule; $this->view->type = $type; $this->view->docType = $docType; $this->view->groups = $this->loadModel('group')->getPairs(); diff --git a/module/story/control.php b/module/story/control.php index bf522a3425..f72a2988d0 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -74,6 +74,7 @@ class story extends control $response['result'] = 'success'; $response['message'] = $this->lang->saveSuccess; + setcookie('lastStoryModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', false, false); $storyResult = $this->story->create($projectID, $bugID, $from = isset($fromObjectIDKey) ? $fromObjectIDKey : ''); if(!$storyResult or dao::isError()) { @@ -252,7 +253,7 @@ class story extends control $this->view->position[] = $this->lang->story->create; $this->view->products = $products; $this->view->users = $users; - $this->view->moduleID = $moduleID; + $this->view->moduleID = $moduleID ? $moduleID : (int)$this->cookie->lastStoryModule; $this->view->moduleOptionMenu = $moduleOptionMenu; $this->view->plans = $this->loadModel('productplan')->getPairsForStory($productID, $branch); $this->view->planID = $planID; diff --git a/module/task/control.php b/module/task/control.php index 509341b607..778b746f31 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -92,6 +92,7 @@ class task extends control $response['result'] = 'success'; $response['message'] = $this->lang->saveSuccess; + setcookie('lastTaskModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', false, false); if($this->post->project) $projectID = $this->post->project; $tasksID = $this->task->create($projectID); if(dao::isError()) @@ -176,12 +177,13 @@ class task extends control $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted'); $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; $moduleOptionMenu = $this->tree->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : ''); + $task->module = $task->module ? $task->module : (int)$this->cookie->lastTaskModule; /* Fix bug #2737. When moduleID is not story module. */ $moduleIdList = array(); - if($moduleID) + if($task->module) { - $moduleID = $this->tree->getStoryModule($moduleID); + $moduleID = $this->tree->getStoryModule($task->module); $moduleIdList = $this->tree->getAllChildID($moduleID); } $stories = $this->story->getProjectStoryPairs($projectID, 0, 0, $moduleIdList); diff --git a/module/testcase/control.php b/module/testcase/control.php index 8a8f7c1736..cb6bcbc4aa 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -219,6 +219,7 @@ class testcase extends control $response['result'] = 'success'; $response['message'] = $this->lang->saveSuccess; + setcookie('lastCaseModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', false, false); $caseResult = $this->testcase->create($bugID); if(!$caseResult or dao::isError()) { @@ -340,7 +341,7 @@ class testcase extends control $this->view->productID = $productID; $this->view->productName = $this->products[$productID]; $this->view->moduleOptionMenu = $this->tree->getOptionMenu($productID, $viewType = 'case', $startModuleID = 0, $branch); - $this->view->currentModuleID = $currentModuleID; + $this->view->currentModuleID = $currentModuleID ? $currentModuleID : (int)$this->post->lastCaseModule; $this->view->stories = $stories; $this->view->caseTitle = $caseTitle; $this->view->color = $color;