From 55e2659cf78b948c723679b345e3b6697fa07d56 Mon Sep 17 00:00:00 2001 From: jan Date: Sun, 17 Jan 2016 13:48:00 +0100 Subject: =?UTF-8?q?DisplayUserSettings=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 { RenderLoginPage(w http.ResponseWriter, data map[string]interface{}) // RenderRegistrationPage zeigt die Registrations-Seite an. RenderRegistrationPage(w http.ResponseWriter, data map[string]interface{}) + // RenderUserSettingsPage zeigt die Seite für die Benutzereinstellungen an. + RenderUserSettingsPage(w http.ResponseWriter, data map[string]interface{}) } // Charakterin ist das tolle Login- und Accountmanagementsystem. @@ -322,6 +324,30 @@ func (c *Charakterin) ConfirmEmail(confirmId string) error { return nil } +// DisplayUserSettingsWithData zeigt die Benutzereinstellungs-Seite mit den gegebenen Daten an. +func (c *Charakterin) DisplayUserSettingsWithData(w http.ResponseWriter, r *http.Request, data map[string]interface{}) { + // Überprüfen, ob der User überhaupt eingeloggt ist + user, err := c.GetUserFromRequest(r) + if err != nil { + http.Redirect(w, r, c.FallbackRoute, 302) + return + } + + if _, ok := data["error"]; !ok { + data["error"] = "" + } + if _, ok := data["user"]; !ok { + data["user"] = user + } + + c.renderer.RenderUserSettingsPage(w, data) +} + +// DisplayUserSettingsWithData zeigt die Benutzereinstellungs-Seite an. +func (c *Charakterin) DisplayUserSettings(w http.ResponseWriter, r *http.Request) { + c.DisplayUserSettingsWithData(w, r, make(map[string]interface{})) +} + func readBody(r *http.Request) (url.Values, error) { defer r.Body.Close() data, err := ioutil.ReadAll(r.Body) -- cgit v0.10.1