.
This commit is contained in:
parent
f77bcb3772
commit
074792be8f
@ -53,6 +53,11 @@ func (api *Api) CreateUser(w http.ResponseWriter, r *http.Request) {
|
||||
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 {
|
||||
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/me", web.RequireAuthenticatedUser(web.ProfilePage))
|
||||
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("GET /mps", web.MembersOfParliamentPage)
|
||||
|
||||
@ -65,8 +65,12 @@ func (web *Web) RegisterUserPage(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
setCookie(w, authToken.Plaintext, authToken.Expiry)
|
||||
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) {
|
||||
user := common.GetUser(r)
|
||||
@ -158,19 +162,16 @@ func (web *Web) ActivateUserAction(w http.ResponseWriter, r *http.Request) {
|
||||
web.App.LogError(r, err)
|
||||
msg = "Aktivierung fehlgeschlagen. Bitte versuchen Sie es erneut."
|
||||
}
|
||||
web.render(w, r, http.StatusUnprocessableEntity, "activated", struct {
|
||||
AuthenticatedUser *data.User
|
||||
web.renderFragment(w, r, http.StatusUnprocessableEntity, "activated", struct {
|
||||
FormErrors []string
|
||||
Token string
|
||||
}{
|
||||
AuthenticatedUser: common.GetUser(r),
|
||||
FormErrors: []string{msg},
|
||||
Token: token,
|
||||
})
|
||||
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) {
|
||||
|
||||
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>
|
||||
<p class="auth-subtitle">Geben Sie Ihren Aktivierungstoken ein, um Ihr Konto freizuschalten.</p>
|
||||
|
||||
{{if .FormErrors}}
|
||||
<div class="alert alert--error">
|
||||
{{range .FormErrors}}<p>{{.}}</p>{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div id="activation-result"></div>
|
||||
|
||||
<form method="POST" action="/users/activated">
|
||||
<form hx-put="/users/activated" hx-target="#activation-result" hx-swap="innerHTML">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="token">Aktivierungstoken</label>
|
||||
<input class="form-input" id="token" name="token" type="text"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user