aboutsummaryrefslogtreecommitdiff
path: root/cljssss-g.clj
diff options
context:
space:
mode:
Diffstat (limited to 'cljssss-g.clj')
-rw-r--r--cljssss-g.clj38
1 files changed, 27 insertions, 11 deletions
diff --git a/cljssss-g.clj b/cljssss-g.clj
index e79afa6..0588a59 100644
--- a/cljssss-g.clj
+++ b/cljssss-g.clj
@@ -12,8 +12,32 @@
(def templates (new StringTemplateGroup ""))
+
+(defn login-view []
+ (.toString (.getInstanceOf templates "login")))
+
+
(defservlet cljssss-g
- (GET "/"
+ (GET "/login"
+ (if (= (params :wrong) "true")
+ (.toString (doto
+ (.getInstanceOf templates "login")
+ (.setAttributes {"logintext" "Login failed"})))
+ (.toString (doto
+ (.getInstanceOf templates "login")
+ (.setAttributes {"logintext" "Login"})))))
+ (POST "/login"
+ (dosync
+ (with-db
+ (sql/with-query-results [{id :id password :password}]
+ ["SELECT id, password FROM user WHERE name = ?"
+ (@params :name)]
+ (if (= password (@params :password))
+ (do
+ (alter session assoc :id id)
+ (redirect-to "/"))
+ (redirect-to "/login?wrong=true"))))))
+ (GET "/blah/"
(.toString
(doto (.getInstanceOf templates "index")
(.setAttributes {"title" "Subscriptions",
@@ -114,16 +138,8 @@
;;;; Sample database content
(comment
- (with-dbt
- (sql/update-or-insert-values :feed
- ["id = ?" 0]
- {:id 0
- :uri "http://matthias.benkard.de/journal/feed/"})
- (sql/update-or-insert-values :feed
- ["id = ?" 1]
- {:id 1
- :uri "http://uxul.wordpress.com/feed/"})))
-
+ (subscribe-to-feed "http://matthias.benkard.de/journal/feed/")
+ (subscribe-to-feed "http://uxul.wordpress.com/feed/"))
;;;; Database schema
(comment