summaryrefslogtreecommitdiff
path: root/handler.go
diff options
context:
space:
mode:
Diffstat (limited to 'handler.go')
-rw-r--r--handler.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/handler.go b/handler.go
index e372052..63ab5ce 100644
--- a/handler.go
+++ b/handler.go
@@ -45,6 +45,44 @@ func RegisterHandler(w http.ResponseWriter, r *http.Request) {
}
}
+func PrivacyHandler(w http.ResponseWriter, r *http.Request) {
+ session, err := store.Get(r, "_SID")
+ if err != nil {
+ log.Println("Info: ", err)
+ }
+ session.Values["page"] = "/privacy"
+
+ flash := Flash{}
+ flash.Error = session.Flashes("error")
+ flash.Success = session.Flashes("success")
+ session.Save(r, w)
+
+ err = ExecTemplate("privacy", w, r, flash)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
+}
+
+func TosHandler(w http.ResponseWriter, r *http.Request) {
+ session, err := store.Get(r, "_SID")
+ if err != nil {
+ log.Println("Info: ", err)
+ }
+ session.Values["page"] = "/tos"
+
+ flash := Flash{}
+ flash.Error = session.Flashes("error")
+ flash.Success = session.Flashes("success")
+ session.Save(r, w)
+
+ err = ExecTemplate("tos", w, r, flash)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
+}
+
func CreateNewEntryHandler(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
@@ -66,6 +104,13 @@ func CreateNewEntryHandler(w http.ResponseWriter, r *http.Request) {
log.Println("Info: ", err)
}
+ if !req.Legal {
+ session.AddFlash("Please accept the Terms of Service and the Privacy Policy.", "error")
+ session.Save(r, w)
+ http.Redirect(w, r, "/register", 302)
+ return
+ }
+
if !CompareStrings(req.Email, req.ConfirmEmail) {
session.AddFlash("E-Mail don't match.", "error")
session.Save(r, w)