From f7c1c7bd6e51aac201f2a2faa205a51bb3298e80 Mon Sep 17 00:00:00 2001 From: Sergio Vera Date: Sat, 30 Mar 2024 20:26:53 +0100 Subject: [PATCH] Streamline delete process for all deletable items --- .../webserver/controller/document/delete.go | 4 +- internal/webserver/controller/user/delete.go | 4 +- internal/webserver/embedded/js/delete.js | 26 +++++----- .../embedded/views/partials/actions.html | 2 +- .../embedded/views/partials/delete-modal.html | 6 +-- .../webserver/embedded/views/users/index.html | 47 ++----------------- internal/webserver/highlights_test.go | 6 ++- internal/webserver/search_test.go | 2 +- internal/webserver/user_management_test.go | 6 +-- 9 files changed, 36 insertions(+), 67 deletions(-) diff --git a/internal/webserver/controller/document/delete.go b/internal/webserver/controller/document/delete.go index 2cf25c5c..f5f88760 100644 --- a/internal/webserver/controller/document/delete.go +++ b/internal/webserver/controller/document/delete.go @@ -9,11 +9,11 @@ import ( ) func (d *Controller) Delete(c *fiber.Ctx) error { - if c.FormValue("slug") == "" { + if c.FormValue("id") == "" { return fiber.ErrBadRequest } - document, err := d.idx.Document(c.FormValue("slug")) + document, err := d.idx.Document(c.FormValue("id")) if err != nil { fmt.Println(err) return fiber.ErrBadRequest diff --git a/internal/webserver/controller/user/delete.go b/internal/webserver/controller/user/delete.go index eadab901..fe4f5279 100644 --- a/internal/webserver/controller/user/delete.go +++ b/internal/webserver/controller/user/delete.go @@ -7,7 +7,7 @@ import ( // Delete removes a user from the database func (u *Controller) Delete(c *fiber.Ctx) error { - user, err := u.repository.FindByUuid(c.FormValue("uuid")) + user, err := u.repository.FindByUuid(c.FormValue("id")) if err != nil { return fiber.ErrInternalServerError } @@ -20,7 +20,7 @@ func (u *Controller) Delete(c *fiber.Ctx) error { return fiber.ErrForbidden } - if err = u.repository.Delete(c.FormValue("uuid")); err != nil { + if err = u.repository.Delete(c.FormValue("id")); err != nil { return fiber.ErrInternalServerError } diff --git a/internal/webserver/embedded/js/delete.js b/internal/webserver/embedded/js/delete.js index 74ec9aa6..0ca5a9e1 100644 --- a/internal/webserver/embedded/js/delete.js +++ b/internal/webserver/embedded/js/delete.js @@ -1,41 +1,43 @@ +"user strict" + const deleteModal = document.getElementById('deleteModal'); +const deleteForm = document.getElementById('delete-form'); deleteModal.addEventListener('show.bs.modal', event => { - const link = event.relatedTarget; - const slug = link.getAttribute('data-bs-slug'); - const modalInputSlug = deleteModal.querySelector('.slug'); + const link = event.relatedTarget + const id = link.getAttribute('data-id') + const modalInput = deleteModal.querySelector('.id') - modalInputSlug.value = slug; + modalInput.value = id; }) deleteModal.addEventListener('hidden.bs.modal', event => { - let message = document.getElementById('delete-document-message'); + let message = document.getElementById('error-message-container'); message.classList.add("visually-hidden"); }) -function remove(errorMessage) { +deleteForm.addEventListener('submit', event => { event.preventDefault(); - form = document.getElementById("delete-form"); - fetch('/document', { + fetch(deleteForm.getAttribute("action"), { method: "DELETE", headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ - 'slug': form.elements['slug'].value, + 'id': deleteForm.elements['id'].value, }) }) .then((response) => { if (response.ok) { location.reload(); } else { - message = document.getElementById("delete-document-message") + message = document.getElementById("error-message-container") message.classList.remove("visually-hidden"); - message.innerHTML = errorMessage; + message.innerHTML = deleteForm.getAttribute("data-error-message"); } }) .catch(function (error) { // Catch errors console.log(error); }); -} +}) diff --git a/internal/webserver/embedded/views/partials/actions.html b/internal/webserver/embedded/views/partials/actions.html index 41e018de..d219f9bb 100644 --- a/internal/webserver/embedded/views/partials/actions.html +++ b/internal/webserver/embedded/views/partials/actions.html @@ -69,7 +69,7 @@ {{end}} {{if and .Session (eq .Session.Role 2)}} -
  • +
  • diff --git a/internal/webserver/embedded/views/partials/delete-modal.html b/internal/webserver/embedded/views/partials/delete-modal.html index 9adb9885..dd95bfab 100644 --- a/internal/webserver/embedded/views/partials/delete-modal.html +++ b/internal/webserver/embedded/views/partials/delete-modal.html @@ -1,13 +1,13 @@