From 1d36b3e77ad32c65c8d44efe87452a81e55f5a47 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 9 May 2024 02:02:07 +0900 Subject: [PATCH] Redirect to document URL with category if, and only if, the write page was loaded with a category and the document was saved to the same category #2346 --- modules/board/board.controller.php | 3 ++- modules/board/tpl/js/board.js | 24 +++++++++++------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php index 58fe74501..6367f368b 100644 --- a/modules/board/board.controller.php +++ b/modules/board/board.controller.php @@ -277,7 +277,8 @@ class BoardController extends Board // return the results $this->add('mid', Context::get('mid')); $this->add('document_srl', $output->get('document_srl')); - $this->setRedirectUrl(getNotEncodedUrl('', 'mid', Context::get('mid'), 'document_srl', $output->get('document_srl'))); + $this->add('category_srl', $output->get('category_srl')); + $this->setRedirectUrl(getNotEncodedFullUrl('', 'mid', Context::get('mid'), 'document_srl', $output->get('document_srl'))); // alert a message $this->setMessage($msg_code); diff --git a/modules/board/tpl/js/board.js b/modules/board/tpl/js/board.js index 3de896eee..fea6c310c 100644 --- a/modules/board/tpl/js/board.js +++ b/modules/board/tpl/js/board.js @@ -7,27 +7,25 @@ /* complete tp insert document */ function completeDocumentInserted(ret_obj) { - var error = ret_obj.error; - var message = ret_obj.message; var mid = ret_obj.mid; var document_srl = ret_obj.document_srl; var category_srl = ret_obj.category_srl; + var current_category_srl = parseInt(current_url.getQuery('category'), 10); + var url; if (ret_obj.redirect_url) { - redirect(ret_obj.redirect_url); + url = ret_obj.redirect_url; } else { - var url; - if(!document_srl) - { - url = current_url.setQuery('mid',mid).setQuery('act',''); + url = current_url.setQuery('mid', mid).setQuery('act', ''); + if (document_srl) { + url = url.setQuery('document_srl', document_srl); } - else - { - url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act',''); - } - if(category_srl) url = url.setQuery('category',category_srl); - redirect(url); } + + if (current_category_srl && category_srl && current_category_srl == category_srl) { + url = url.setQuery('category', current_category_srl); + } + redirect(url); } /* delete the document */