Skip to content

Commit da2ec98

Browse files
authored
Fix generic cover title not shown on error
1 parent fb66553 commit da2ec98

File tree

6 files changed

+19
-9
lines changed

6 files changed

+19
-9
lines changed

Diff for: internal/webserver/controller/user/update.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (u *Controller) Update(c *fiber.Ctx) error {
3939
}
4040

4141
func (u *Controller) updateUserData(c *fiber.Ctx, user *model.User, session model.Session) error {
42-
user.Name = c.FormValue("name")
42+
user.Name = strings.TrimSpace(c.FormValue("name"))
4343
user.Username = strings.ToLower(c.FormValue("username"))
4444
user.Email = c.FormValue("email")
4545
user.SendToEmail = c.FormValue("send-to-email")
@@ -120,7 +120,7 @@ func (u *Controller) validate(c *fiber.Ctx, user *model.User, session model.Sess
120120
func (u *Controller) usernameExists(c *fiber.Ctx, session model.Session) (bool, error) {
121121
user, err := u.repository.FindByUsername(c.FormValue("username"))
122122
if err != nil {
123-
return true, fiber.ErrInternalServerError
123+
return true, err
124124
}
125125
if user != nil && (session.Role == model.RoleAdmin && user.Uuid == c.FormValue("id")) {
126126
return false, nil

Diff for: internal/webserver/embedded/css/display.css

+4
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,7 @@ a.collapse-control.collapsed:after {
133133
.zoomable img:hover {
134134
transform: scale(1.1);
135135
}
136+
137+
.zoomable + .card-img-overlay {
138+
bottom: auto !important;
139+
}

Diff for: internal/webserver/embedded/js/cover.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
document.querySelectorAll(".cover").forEach(function(elem) {
44
elem.addEventListener("error", () => {
55
elem.onerror = null
6+
const coverTitleId = elem.getAttribute("data-cover-title-id")
67
elem.parentNode.children[0].srcset = elem.src
7-
elem.parentNode.parentNode.children[1].classList.remove('d-none')
8+
document.getElementById(coverTitleId).classList.remove('d-none')
89
})
910
})

Diff for: internal/webserver/embedded/views/partials/cover.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
<div class="zoomable">{{end}}
44
<picture>
55
<source srcset="/documents/{{.Document.Slug}}/cover" alt='{{t .Lang "\"%s\" cover" .Document.Title}}' />
6-
<img src="/images/generic.jpg" loading="lazy" class="cover img-fluid" alt='{{t .Lang "\"%s\" cover" .Document.Title}}'>
6+
<img src="/images/generic.jpg" loading="lazy" class="cover img-fluid" alt='{{t .Lang "\"%s\" cover" .Document.Title}}' data-cover-title-id="cover-title-{{.Document.Slug}}" />
77
</picture>
88
{{if not .DisableCoverMainLink}}</div>{{end}}
9-
<div class="card-img-overlay card-body d-none">
9+
<div class="card-img-overlay card-body d-none" id="cover-title-{{.Document.Slug}}">
1010
<h5 class="card-title text-center text-truncate">{{.Document.Title}}</h5>
1111
{{if .Document.Authors}}
1212
<p class="card-text text-center text-truncate">

Diff for: internal/webserver/embedded/views/partials/latest-highlights.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="row border-bottom mb-3">
1+
<div class="row border-bottom mb-3 d-flex align-items-center">
22
<div class="col-9">
33
<h2>{{t .Lang "Your highlights" }}</h2>
44
</div>

Diff for: internal/webserver/user_management_test.go

+8-3
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func TestUserManagement(t *testing.T) {
106106
mustReturnStatus(response, fiber.StatusOK, t)
107107

108108
newUserData := url.Values{
109-
"name": {"New user"},
109+
"name": {"New user "}, // Extra spaces to test trimming
110110
"username": {"new"},
111111
"email": {"[email protected]"},
112112
"send-to-email": {"[email protected]"},
@@ -123,7 +123,12 @@ func TestUserManagement(t *testing.T) {
123123
mustRedirectToUsersList(response, t)
124124

125125
var totalUsers int64
126-
db.Take(&[]model.User{}).Count(&totalUsers)
126+
var user model.User
127+
db.Last(&user).Count(&totalUsers)
128+
129+
if user.Name != "New user" {
130+
t.Errorf("Expected name to be 'New user', got %s", user.Name)
131+
}
127132

128133
if totalUsers != 3 {
129134
t.Errorf("Expected 3 users in the users list, got %d", totalUsers)
@@ -234,7 +239,7 @@ func TestUserManagement(t *testing.T) {
234239
t.Run("Try to update the user in session", func(t *testing.T) {
235240
reset()
236241

237-
regularUserData.Set("name", "Updated regular user")
242+
regularUserData.Set("name", "Updated regular user ") // Extra spaces to test trimming
238243
regularUserData.Set("id", regularUser.Uuid)
239244

240245
response, err := getRequest(regularUserCookie, app, fmt.Sprintf("/users/%s", regularUser.Username), t)

0 commit comments

Comments
 (0)