Skip to content

Commit 75f5636

Browse files
authored
Merge pull request #86 from pavelsne/login
[user.go] Refacored failed login page (10)
2 parents b40cd94 + e26f10c commit 75f5636

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

internal/resources/templates/login.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,18 @@ var Login = `
1212
Sign In using your GIN credentials
1313
</h3>
1414
<div class="ui attached segment">
15-
<div class="required inline field ">
15+
{{if .ErrorMessage}}
16+
<div class="ui message red">{{.ErrorMessage}}</div>
17+
{{end}}
18+
<div class="required inline field">
1619
<label for="username">Username or email</label>
1720
<input id="username" name="username" value="" autofocus required>
1821
</div>
1922
<div class="required inline field ">
2023
<label for="password">Password</label>
2124
<input id="password" name="password" type="password" autocomplete="off" value="" required>
2225
</div>
26+
2327
<div class="inline field">
2428
<label></label>
2529
<button class="ui green button">Sign In</button>

internal/web/user.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@ func doLogin(username, password string) (string, error) {
153153

154154
// LoginGet renders the login form
155155
func LoginGet(w http.ResponseWriter, r *http.Request) {
156+
loginForm(w, r, "")
157+
}
158+
159+
// loginForm renders the login form
160+
func loginForm(w http.ResponseWriter, r *http.Request, errMsg string) {
156161
log.Write("Login page")
157162
tmpl := template.New("layout")
158163
tmpl, err := tmpl.Parse(templates.Layout)
@@ -170,11 +175,13 @@ func LoginGet(w http.ResponseWriter, r *http.Request) {
170175
year, _, _ := time.Now().Date()
171176
srvcfg := config.Read()
172177
data := struct {
173-
GinURL string
174-
CurrentYear int
178+
GinURL string
179+
CurrentYear int
180+
ErrorMessage string
175181
}{
176182
srvcfg.GINAddresses.WebURL,
177183
year,
184+
errMsg,
178185
}
179186
tmpl.Execute(w, &data)
180187
}
@@ -187,13 +194,13 @@ func LoginPost(w http.ResponseWriter, r *http.Request) {
187194
password := r.FormValue("password")
188195
if username == "" || password == "" {
189196
log.Write("[error] Invalid form data")
190-
fail(w, http.StatusUnauthorized, "authentication failed")
197+
loginForm(w, r, "Authentication failed")
191198
return
192199
}
193200
sessionid, err := doLogin(username, password)
194201
if err != nil {
195202
log.Write("[error] Login failed: %s", err.Error())
196-
fail(w, http.StatusUnauthorized, "authentication failed")
203+
loginForm(w, r, "Authentication failed")
197204
return
198205
}
199206

0 commit comments

Comments
 (0)