aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--charakterin.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/charakterin.go b/charakterin.go
index 253e627..67ee40d 100644
--- a/charakterin.go
+++ b/charakterin.go
@@ -25,6 +25,8 @@ type Renderer interface {
25 RenderLoginPage(w http.ResponseWriter, data map[string]interface{}) 25 RenderLoginPage(w http.ResponseWriter, data map[string]interface{})
26 // RenderRegistrationPage zeigt die Registrations-Seite an. 26 // RenderRegistrationPage zeigt die Registrations-Seite an.
27 RenderRegistrationPage(w http.ResponseWriter, data map[string]interface{}) 27 RenderRegistrationPage(w http.ResponseWriter, data map[string]interface{})
28 // RenderUserSettingsPage zeigt die Seite für die Benutzereinstellungen an.
29 RenderUserSettingsPage(w http.ResponseWriter, data map[string]interface{})
28} 30}
29 31
30// Charakterin ist das tolle Login- und Accountmanagementsystem. 32// Charakterin ist das tolle Login- und Accountmanagementsystem.
@@ -322,6 +324,30 @@ func (c *Charakterin) ConfirmEmail(confirmId string) error {
322 return nil 324 return nil
323} 325}
324 326
327// DisplayUserSettingsWithData zeigt die Benutzereinstellungs-Seite mit den gegebenen Daten an.
328func (c *Charakterin) DisplayUserSettingsWithData(w http.ResponseWriter, r *http.Request, data map[string]interface{}) {
329 // Überprüfen, ob der User überhaupt eingeloggt ist
330 user, err := c.GetUserFromRequest(r)
331 if err != nil {
332 http.Redirect(w, r, c.FallbackRoute, 302)
333 return
334 }
335
336 if _, ok := data["error"]; !ok {
337 data["error"] = ""
338 }
339 if _, ok := data["user"]; !ok {
340 data["user"] = user
341 }
342
343 c.renderer.RenderUserSettingsPage(w, data)
344}
345
346// DisplayUserSettingsWithData zeigt die Benutzereinstellungs-Seite an.
347func (c *Charakterin) DisplayUserSettings(w http.ResponseWriter, r *http.Request) {
348 c.DisplayUserSettingsWithData(w, r, make(map[string]interface{}))
349}
350
325func readBody(r *http.Request) (url.Values, error) { 351func readBody(r *http.Request) (url.Values, error) {
326 defer r.Body.Close() 352 defer r.Body.Close()
327 data, err := ioutil.ReadAll(r.Body) 353 data, err := ioutil.ReadAll(r.Body)