From 6da1c0d28591d58cf272dc811cb2173711935975 Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Wed, 8 Dec 2021 16:20:08 +0800 Subject: [PATCH] * Fix bug #17263. --- module/doc/control.php | 10 ++++++++-- module/doc/js/editlib.js | 5 +++-- module/doc/model.php | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/module/doc/control.php b/module/doc/control.php index f0e7a12db7..4d9c57ef6e 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -201,13 +201,19 @@ class doc extends control $actionID = $this->action->create('docLib', $libID, 'edited'); $this->action->logHistory($actionID, $changes); } - $docLib = $this->doc->getLibById($libID); + $docLib = $this->doc->getLibById($libID); + $objectID = 0; + if(strpos('product,project,execution', $docLib->type) !== false) + { + $libType = $docLib->type; + $objectID = $docLib->$libType; + } $hasLibPriv = $this->doc->checkPrivLib($docLib) ? 1 : 0; $response['message'] = $this->lang->saveSuccess; $response['result'] = 'success'; $response['closeModal'] = true; - $response['callback'] = "redirectParentWindow($hasLibPriv, $libID)"; + $response['callback'] = "redirectParentWindow($hasLibPriv, $libID, $objectID)"; return $this->send($response); } diff --git a/module/doc/js/editlib.js b/module/doc/js/editlib.js index 0b25da1454..4c3b0a7242 100644 --- a/module/doc/js/editlib.js +++ b/module/doc/js/editlib.js @@ -8,11 +8,12 @@ $(function() * * @param int hasLibPriv * @param int libID + * @param int objectID * @access public * @return void */ -function redirectParentWindow(hasLibPriv, libID) +function redirectParentWindow(hasLibPriv, libID, objectID) { - var link = hasLibPriv ? createLink('doc', 'tableContents', 'type=' + libType + '&objectID=0&libID=' + libID) : createLink('doc', 'tableContents', 'type=' + libType); + var link = hasLibPriv ? createLink('doc', 'tableContents', 'type=' + libType + '&objectID=' + objectID + '&libID=' + libID) : createLink('doc', 'tableContents', 'type=' + libType); parent.location.href = link; } diff --git a/module/doc/model.php b/module/doc/model.php index bcf3982815..ad6020d82a 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -2562,6 +2562,7 @@ EOT; if($this->app->tab == 'doc') $this->app->rawMethod = $type; $object = $this->dao->select('id,name,status')->from($table)->where('id')->eq($objectID)->fetch(); + if(empty($object)) die(js::locate(helper::createLink($type, 'create'))); }