diff options
-rw-r--r-- | charakterin.go | 26 |
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. | ||
328 | func (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. | ||
347 | func (c *Charakterin) DisplayUserSettings(w http.ResponseWriter, r *http.Request) { | ||
348 | c.DisplayUserSettingsWithData(w, r, make(map[string]interface{})) | ||
349 | } | ||
350 | |||
325 | func readBody(r *http.Request) (url.Values, error) { | 351 | func 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) |