From 157d7eba7b97a3e78f885e5a532126c870613aa4 Mon Sep 17 00:00:00 2001 From: Victor Phan Date: Mon, 13 Jul 2026 16:17:19 +0700 Subject: [PATCH] =?UTF-8?q?t=C3=ADch=20h=E1=BB=A3p=20monaco-editor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/ManageSnippetController.java | 16 ++++ .../templates/manage/snippets/form.html | 95 ++++++------------- .../templates/manage/snippets/list.html | 6 ++ 3 files changed, 51 insertions(+), 66 deletions(-) diff --git a/sisvietnamvn_main/src/main/java/com/sisvietnamvn/web/controller/manage/ManageSnippetController.java b/sisvietnamvn_main/src/main/java/com/sisvietnamvn/web/controller/manage/ManageSnippetController.java index eb57e63a..2265dbf8 100644 --- a/sisvietnamvn_main/src/main/java/com/sisvietnamvn/web/controller/manage/ManageSnippetController.java +++ b/sisvietnamvn_main/src/main/java/com/sisvietnamvn/web/controller/manage/ManageSnippetController.java @@ -63,4 +63,20 @@ public class ManageSnippetController { redirectAttributes.addFlashAttribute("successMessage", "Snippet deleted successfully."); return "redirect:/manage/snippets"; } + @PostMapping("/{id}/duplicate") + public String duplicateSnippet(@PathVariable Long id, RedirectAttributes redirectAttributes) { + return snippetService.findById(id).map(snippet -> { + HtmlSnippet duplicated = new HtmlSnippet(); + duplicated.setName(snippet.getName() + " (Copy)"); + duplicated.setSlug(snippet.getSlug() + "-copy-" + System.currentTimeMillis()); + duplicated.setContent(snippet.getContent()); + duplicated.setActive(false); + HtmlSnippet saved = snippetService.save(duplicated); + redirectAttributes.addFlashAttribute("successMessage", "Snippet duplicated successfully."); + return "redirect:/manage/snippets/" + saved.getId() + "/edit"; + }).orElseGet(() -> { + redirectAttributes.addFlashAttribute("errorMessage", "Snippet not found."); + return "redirect:/manage/snippets"; + }); + } } diff --git a/sisvietnamvn_main/src/main/resources/templates/manage/snippets/form.html b/sisvietnamvn_main/src/main/resources/templates/manage/snippets/form.html index fe05fd25..4156bd90 100644 --- a/sisvietnamvn_main/src/main/resources/templates/manage/snippets/form.html +++ b/sisvietnamvn_main/src/main/resources/templates/manage/snippets/form.html @@ -158,6 +158,9 @@ + + +
@@ -220,29 +223,8 @@ - - - - - - - - - - - - - - - - - - - - - - - + +