.
This commit is contained in:
parent
f77bcb3772
commit
074792be8f
@ -53,6 +53,11 @@ func (api *Api) CreateUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
api.App.Logger.PrintInfo("user registered", map[string]string{
|
||||||
|
"user_id": strconv.FormatInt(user.ID, 10),
|
||||||
|
"email": user.Email,
|
||||||
|
})
|
||||||
|
|
||||||
if err = common.WriteJSON(w, http.StatusCreated, common.Envelope{"user": user, "authentication_token": authToken}, nil); err != nil {
|
if err = common.WriteJSON(w, http.StatusCreated, common.Envelope{"user": user, "authentication_token": authToken}, nil); err != nil {
|
||||||
api.errorResponse(w, r, err)
|
api.errorResponse(w, r, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,7 +63,7 @@ func routes(app *common.Application) http.Handler {
|
|||||||
webMux.HandleFunc("GET /users", web.RequirePermission("users:read", web.UsersPage))
|
webMux.HandleFunc("GET /users", web.RequirePermission("users:read", web.UsersPage))
|
||||||
webMux.HandleFunc("GET /users/me", web.RequireAuthenticatedUser(web.ProfilePage))
|
webMux.HandleFunc("GET /users/me", web.RequireAuthenticatedUser(web.ProfilePage))
|
||||||
webMux.HandleFunc("GET /users/activated", web.ActivatePage)
|
webMux.HandleFunc("GET /users/activated", web.ActivatePage)
|
||||||
webMux.HandleFunc("POST /users/activated", web.ActivateUserAction)
|
webMux.HandleFunc("PUT /users/activated", web.ActivateUserAction)
|
||||||
webMux.HandleFunc("DELETE /users/{id}", web.RequirePermission("users:write", web.DeleteUserAction))
|
webMux.HandleFunc("DELETE /users/{id}", web.RequirePermission("users:write", web.DeleteUserAction))
|
||||||
|
|
||||||
webMux.HandleFunc("GET /mps", web.MembersOfParliamentPage)
|
webMux.HandleFunc("GET /mps", web.MembersOfParliamentPage)
|
||||||
|
|||||||
@ -65,7 +65,11 @@ func (web *Web) RegisterUserPage(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setCookie(w, authToken.Plaintext, authToken.Expiry)
|
setCookie(w, authToken.Plaintext, authToken.Expiry)
|
||||||
http.Redirect(w, r, "/issues", http.StatusSeeOther)
|
if web.App.Config.Env == "production" {
|
||||||
|
http.Redirect(w, r, "/users/activated", http.StatusSeeOther)
|
||||||
|
} else {
|
||||||
|
http.Redirect(w, r, "/issues", http.StatusSeeOther)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (web *Web) ProfilePage(w http.ResponseWriter, r *http.Request) {
|
func (web *Web) ProfilePage(w http.ResponseWriter, r *http.Request) {
|
||||||
@ -158,19 +162,16 @@ func (web *Web) ActivateUserAction(w http.ResponseWriter, r *http.Request) {
|
|||||||
web.App.LogError(r, err)
|
web.App.LogError(r, err)
|
||||||
msg = "Aktivierung fehlgeschlagen. Bitte versuchen Sie es erneut."
|
msg = "Aktivierung fehlgeschlagen. Bitte versuchen Sie es erneut."
|
||||||
}
|
}
|
||||||
web.render(w, r, http.StatusUnprocessableEntity, "activated", struct {
|
web.renderFragment(w, r, http.StatusUnprocessableEntity, "activated", struct {
|
||||||
AuthenticatedUser *data.User
|
FormErrors []string
|
||||||
FormErrors []string
|
|
||||||
Token string
|
|
||||||
}{
|
}{
|
||||||
AuthenticatedUser: common.GetUser(r),
|
FormErrors: []string{msg},
|
||||||
FormErrors: []string{msg},
|
|
||||||
Token: token,
|
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
http.Redirect(w, r, "/", http.StatusSeeOther)
|
w.Header().Set("HX-Redirect", "/")
|
||||||
|
w.WriteHeader(http.StatusOK)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (web *Web) DeleteUserAction(w http.ResponseWriter, r *http.Request) {
|
func (web *Web) DeleteUserAction(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|||||||
5
web/html/activated.frag.tmpl
Normal file
5
web/html/activated.frag.tmpl
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{{define "activated"}}
|
||||||
|
<div class="alert alert--error">
|
||||||
|
{{range .FormErrors}}<p>{{.}}</p>{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
@ -8,13 +8,9 @@
|
|||||||
<h2 class="auth-title">Konto aktivieren</h2>
|
<h2 class="auth-title">Konto aktivieren</h2>
|
||||||
<p class="auth-subtitle">Geben Sie Ihren Aktivierungstoken ein, um Ihr Konto freizuschalten.</p>
|
<p class="auth-subtitle">Geben Sie Ihren Aktivierungstoken ein, um Ihr Konto freizuschalten.</p>
|
||||||
|
|
||||||
{{if .FormErrors}}
|
<div id="activation-result"></div>
|
||||||
<div class="alert alert--error">
|
|
||||||
{{range .FormErrors}}<p>{{.}}</p>{{end}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
<form method="POST" action="/users/activated">
|
<form hx-put="/users/activated" hx-target="#activation-result" hx-swap="innerHTML">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="token">Aktivierungstoken</label>
|
<label class="form-label" for="token">Aktivierungstoken</label>
|
||||||
<input class="form-input" id="token" name="token" type="text"
|
<input class="form-input" id="token" name="token" type="text"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user