From cd1c1e1b638bc111b537f9f679fbb710fcbbbe6d Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Fri, 20 May 2022 10:52:30 +0800 Subject: [PATCH] * 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;?>