From 50b39ac2d55074676591a413b252fa6cd22d6790 Mon Sep 17 00:00:00 2001 From: zhouxudong Date: Wed, 18 May 2022 03:13:21 +0000 Subject: [PATCH 1/3] * Finish task #54477. --- module/project/control.php | 9 ++++++++- module/project/view/createguide.html.php | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/module/project/control.php b/module/project/control.php index bb048bcf56..00926f96cd 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -434,7 +434,14 @@ class project extends control if($this->app->tab == 'program') { - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'browse'))); + if(empty($programID)) + { + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'browse'))); + } + else + { + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'project', 'program=' . $programID))); + } } elseif($this->app->tab == 'doc') { diff --git a/module/project/view/createguide.html.php b/module/project/view/createguide.html.php index 9d333eca4d..6231872da1 100644 --- a/module/project/view/createguide.html.php +++ b/module/project/view/createguide.html.php @@ -22,21 +22,21 @@
- createLink("project", "create", "model=scrum&programID=$programID©ProjectID=0&extra=productID=$productID,branchID=$branchID"), "", '', "data-app='project' class='createButton'")?> + createLink("project", "create", "model=scrum&programID=$programID©ProjectID=0&extra=productID=$productID,branchID=$branchID"), "", '', "data-app='{$this->app->tab}' class='createButton'")?>

project->scrum; ?>

project->scrumTitle; ?>

- createLink("project", "create", "model=waterfall&programID=$programID©ProjectID=0&extra=productID=$productID,branchID=$branchID"), "", '', "data-app='project' class='createButton'")?> + createLink("project", "create", "model=waterfall&programID=$programID©ProjectID=0&extra=productID=$productID,branchID=$branchID"), "", '', "data-app='{$this->app->tab}' class='createButton'")?>

project->waterfall; ?>

project->waterfallTitle; ?>

- createLink("project", "create", "model=kanban&programID=$programID©ProjectID=0&extra=productID=$productID,branchID=$branchID"), "", '', "data-app='project' class='createButton'")?> + createLink("project", "create", "model=kanban&programID=$programID©ProjectID=0&extra=productID=$productID,branchID=$branchID"), "", '', "data-app='{$this->app->tab}' class='createButton'")?>

project->kanban;?>

project->kanbanTitle;?>

From 0cdfceebc93e53751328cc24f9a41f1089f3c147 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 18 May 2022 17:11:09 +0800 Subject: [PATCH 2/3] * Code for task#54477. --- module/project/control.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/project/control.php b/module/project/control.php index 00926f96cd..2eb4c26fab 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -440,7 +440,7 @@ class project extends control } else { - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'project', 'program=' . $programID))); + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'project', "programID=$programID"))); } } elseif($this->app->tab == 'doc') @@ -498,6 +498,7 @@ class project extends control } if($this->app->tab == 'doc') unset($this->lang->doc->menu->project['subMenu']); + if($this->app->tab == 'product' and isset($output['productID'])) $this->loadModel('product')->setMenu($output['productID']); $topProgramID = $this->program->getTopByID($programID); From cd1c1e1b638bc111b537f9f679fbb710fcbbbe6d Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Fri, 20 May 2022 10:52:30 +0800 Subject: [PATCH 3/3] * Finish task#54477. --- module/common/lang/menu.php | 2 +- module/doc/control.php | 1 + module/product/control.php | 1 + module/program/control.php | 2 ++ module/project/control.php | 17 +++-------------- module/project/view/create.html.php | 4 +++- 6 files changed, 11 insertions(+), 16 deletions(-) diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php index 0929eaccff..f0027aabb1 100644 --- a/module/common/lang/menu.php +++ b/module/common/lang/menu.php @@ -128,7 +128,7 @@ $lang->my->dividerMenu = ',work,dynamic,'; /* Program menu. */ $lang->program->homeMenu = new stdclass(); -$lang->program->homeMenu->browse = array('link' => "{$lang->program->list}|program|browse|", 'alias' => 'create,edit'); +$lang->program->homeMenu->browse = array('link' => "{$lang->program->list}|program|browse|", 'alias' => 'create,edit', 'subModule' => 'project'); $lang->program->homeMenu->kanban = array('link' => "{$lang->program->kanban}|program|kanban|"); $lang->program->menu = new stdclass(); diff --git a/module/doc/control.php b/module/doc/control.php index a8a29389c1..5ead3e25ec 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -1109,6 +1109,7 @@ class doc extends control public function tableContents($type, $objectID = 0, $libID = 0) { list($libs, $libID, $object, $objectID) = $this->doc->setMenuByType($type, $objectID, $libID); + $this->session->set('createProjectLocate', $this->app->getURI(true), 'doc'); $libID = (int)$libID; diff --git a/module/product/control.php b/module/product/control.php index 401edefb9b..43a470af22 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -83,6 +83,7 @@ class product extends control $branch = ($this->cookie->preBranch !== '' and $branch === '') ? $this->cookie->preBranch : $branch; setcookie('preBranch', $branch, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, true); + $this->session->set('createProjectLocate', $this->app->getURI(true), 'product'); $this->product->setMenu($productID, $branch); diff --git a/module/program/control.php b/module/program/control.php index 9a5da66301..5de6fbf68a 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -32,6 +32,7 @@ class program extends control $this->session->set('programList', $this->app->getURI(true), 'program'); $this->session->set('projectList', $this->app->getURI(true), 'program'); + $this->session->set('createProjectLocate', $this->app->getURI(true), 'program'); $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); @@ -454,6 +455,7 @@ class program extends control $uri = $this->app->getURI(true); $this->app->session->set('programProject', $uri, 'program'); $this->app->session->set('projectList', $uri, 'program'); + $this->app->session->set('createProjectLocate', $uri, 'program'); $this->loadModel('datatable'); diff --git a/module/project/control.php b/module/project/control.php index 2eb4c26fab..5f8a2af176 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -432,20 +432,9 @@ class project extends control $this->executeHooks($projectID); if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'id' => $projectID)); - if($this->app->tab == 'program') + if($this->app->tab != 'project' and $this->session->createProjectLocate) { - if(empty($programID)) - { - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'browse'))); - } - else - { - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('program', 'project', "programID=$programID"))); - } - } - elseif($this->app->tab == 'doc') - { - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('doc', 'objectLibs', "type=project&objectID=$projectID"))); + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->session->createProjectLocate)); } else { @@ -461,7 +450,7 @@ class project extends control } } - if($this->app->tab == 'program') $this->loadModel('program')->setMenu($programID); + if($this->app->tab == 'program' and $programID) $this->loadModel('program')->setMenu($programID); $this->session->set('projectModel', $model); $extra = str_replace(array(',', ' '), array('&', ''), $extra); diff --git a/module/project/view/create.html.php b/module/project/view/create.html.php index 67d56df7b2..444a8cf859 100755 --- a/module/project/view/create.html.php +++ b/module/project/view/create.html.php @@ -42,7 +42,9 @@ - + app->tab == 'product' ? 'disabled' : '';?> + +
project->parent;?>