From 791c77e791d7eb6cbd30735334a7b10d357cc4e6 Mon Sep 17 00:00:00 2001 From: Sergio Vera Date: Fri, 17 Jan 2025 12:15:18 +0100 Subject: [PATCH 1/3] Generic cover title not shown on error --- internal/webserver/controller/user/update.go | 4 ++-- internal/webserver/embedded/css/display.css | 4 ++++ internal/webserver/embedded/js/cover.js | 3 ++- internal/webserver/embedded/views/partials/cover.html | 4 ++-- .../webserver/embedded/views/partials/latest-highlights.html | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/webserver/controller/user/update.go b/internal/webserver/controller/user/update.go index 764625b..b3cedd2 100644 --- a/internal/webserver/controller/user/update.go +++ b/internal/webserver/controller/user/update.go @@ -39,7 +39,7 @@ func (u *Controller) Update(c *fiber.Ctx) error { } func (u *Controller) updateUserData(c *fiber.Ctx, user *model.User, session model.Session) error { - user.Name = c.FormValue("name") + user.Name = strings.TrimSpace(c.FormValue("name")) user.Username = strings.ToLower(c.FormValue("username")) user.Email = c.FormValue("email") user.SendToEmail = c.FormValue("send-to-email") @@ -120,7 +120,7 @@ func (u *Controller) validate(c *fiber.Ctx, user *model.User, session model.Sess func (u *Controller) usernameExists(c *fiber.Ctx, session model.Session) (bool, error) { user, err := u.repository.FindByUsername(c.FormValue("username")) if err != nil { - return true, fiber.ErrInternalServerError + return true, err } if user != nil && (session.Role == model.RoleAdmin && user.Uuid == c.FormValue("id")) { return false, nil diff --git a/internal/webserver/embedded/css/display.css b/internal/webserver/embedded/css/display.css index 4c5dcf3..0ed46eb 100644 --- a/internal/webserver/embedded/css/display.css +++ b/internal/webserver/embedded/css/display.css @@ -133,3 +133,7 @@ a.collapse-control.collapsed:after { .zoomable img:hover { transform: scale(1.1); } + +.zoomable + .card-img-overlay { + bottom: auto !important; +} \ No newline at end of file diff --git a/internal/webserver/embedded/js/cover.js b/internal/webserver/embedded/js/cover.js index bb823e8..e83580d 100644 --- a/internal/webserver/embedded/js/cover.js +++ b/internal/webserver/embedded/js/cover.js @@ -3,7 +3,8 @@ document.querySelectorAll(".cover").forEach(function(elem) { elem.addEventListener("error", () => { elem.onerror = null + const coverTitleId = elem.getAttribute("data-cover-title-id") elem.parentNode.children[0].srcset = elem.src - elem.parentNode.parentNode.children[1].classList.remove('d-none') + document.getElementById(coverTitleId).classList.remove('d-none') }) }) diff --git a/internal/webserver/embedded/views/partials/cover.html b/internal/webserver/embedded/views/partials/cover.html index 952c777..1237fc9 100644 --- a/internal/webserver/embedded/views/partials/cover.html +++ b/internal/webserver/embedded/views/partials/cover.html @@ -3,10 +3,10 @@
{{end}} - {{t .Lang "\"%s\" cover" .Document.Title}} + {{t .Lang "\"%s\" cover" .Document.Title}} {{if not .DisableCoverMainLink}}
{{end}} -
+
{{.Document.Title}}
{{if .Document.Authors}}

diff --git a/internal/webserver/embedded/views/partials/latest-highlights.html b/internal/webserver/embedded/views/partials/latest-highlights.html index 89cbff0..0b6d7cd 100644 --- a/internal/webserver/embedded/views/partials/latest-highlights.html +++ b/internal/webserver/embedded/views/partials/latest-highlights.html @@ -1,4 +1,4 @@ -

+

{{t .Lang "Your highlights" }}

From 30c43a5b1e2c69467655171849977db679a71be3 Mon Sep 17 00:00:00 2001 From: Sergio Vera Date: Fri, 17 Jan 2025 12:26:17 +0100 Subject: [PATCH 2/3] Updated test to check trimming --- internal/webserver/user_management_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/webserver/user_management_test.go b/internal/webserver/user_management_test.go index b58c26f..d48f3d9 100644 --- a/internal/webserver/user_management_test.go +++ b/internal/webserver/user_management_test.go @@ -106,7 +106,7 @@ func TestUserManagement(t *testing.T) { mustReturnStatus(response, fiber.StatusOK, t) newUserData := url.Values{ - "name": {"New user"}, + "name": {"New user "}, // Extra spaces to test trimming "username": {"new"}, "email": {"new@example.com"}, "send-to-email": {"send@example.com"}, @@ -123,7 +123,12 @@ func TestUserManagement(t *testing.T) { mustRedirectToUsersList(response, t) var totalUsers int64 - db.Take(&[]model.User{}).Count(&totalUsers) + var user model.User + db.Last(&user).Count(&totalUsers) + + if user.Name != "New user" { + t.Errorf("Expected name to be 'New user', got %s", user.Name) + } if totalUsers != 3 { t.Errorf("Expected 3 users in the users list, got %d", totalUsers) @@ -234,7 +239,7 @@ func TestUserManagement(t *testing.T) { t.Run("Try to update the user in session", func(t *testing.T) { reset() - regularUserData.Set("name", "Updated regular user") + regularUserData.Set("name", "Updated regular user ") // Extra spaces to test trimming regularUserData.Set("id", regularUser.Uuid) response, err := getRequest(regularUserCookie, app, fmt.Sprintf("/users/%s", regularUser.Username), t) From 649655ec99cdaa9ef3605b25298e730c424ff219 Mon Sep 17 00:00:00 2001 From: Sergio Vera Date: Fri, 17 Jan 2025 13:24:18 +0100 Subject: [PATCH 3/3] Small fixes --- internal/webserver/embedded/css/display.css | 2 +- internal/webserver/embedded/views/partials/cover.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/webserver/embedded/css/display.css b/internal/webserver/embedded/css/display.css index 0ed46eb..66bfc86 100644 --- a/internal/webserver/embedded/css/display.css +++ b/internal/webserver/embedded/css/display.css @@ -136,4 +136,4 @@ a.collapse-control.collapsed:after { .zoomable + .card-img-overlay { bottom: auto !important; -} \ No newline at end of file +} diff --git a/internal/webserver/embedded/views/partials/cover.html b/internal/webserver/embedded/views/partials/cover.html index 1237fc9..ffd6bbe 100644 --- a/internal/webserver/embedded/views/partials/cover.html +++ b/internal/webserver/embedded/views/partials/cover.html @@ -6,7 +6,7 @@ {{t .Lang "\"%s\" cover" .Document.Title}} {{if not .DisableCoverMainLink}}
{{end}} -
+
{{.Document.Title}}
{{if .Document.Authors}}