diff of 552c2d39c1aabd38d5348581fd379910c3efe39a

552c2d39c1aabd38d5348581fd379910c3efe39a
diff --git a/src/packages/login-routes.lisp b/src/packages/login-routes.lisp
index c0f65dd..60eccdf 100644
--- a/src/packages/login-routes.lisp
+++ b/src/packages/login-routes.lisp
@@ -8,4 +8,5 @@
   (:import-from :murja.middleware.db :@transaction)
   (:import-from :easy-routes :defroute)
   (:import-from :com.inuoe.jzon :parse :stringify)
-  (:local-nicknames (:users :murja.model.user)))
+  (:local-nicknames (:users :murja.model.user)
+		    (:settings :murja.model.settings)))
diff --git a/src/routes/login-routes.lisp b/src/routes/login-routes.lisp
index ccf2d3f..a106b5a 100644
--- a/src/routes/login-routes.lisp
+++ b/src/routes/login-routes.lisp
@@ -76,29 +76,30 @@
 
 ;; forms-based login 
 (defroute forms-post-login ("/api/login"
-		      :method :post
-		      :decorators (;; @test-now
-				   @transaction)) ()
-  (let* ((form (lisp-fixup:formdata->hashmap (hunchentoot:raw-post-data :force-text t)))
-	 (username (gethash "username" form))
-	 (password (gethash "password" form))
-	 (user-row (users:get-user username (sha-512 password))))
-    (if (and user-row
-	     (string= (users:user-username user-row) username))
-	(let ((murja.middleware.auth:*user* user-row))
-	  (multiple-value-bind (session-key max-age) (get-session-key username)
-	    (if session-key
-	      (let ((murja.middleware.auth:*session-key* session-key))
-		
-		(set-session-value :logged-in-username username)
-		(set-session-value :logged-in-user-id (users:user-id user-row))
-		
-		(set-session-cookies username session-key max-age)
-		(log:info "~a logged in successfully~%" username))
-	      (progn
-		(log:error "~a tried to log-in but get-session-key didn't return a session key. This happening signifies a bug" username)))))
+			    :method :post
+			    :decorators (;; @test-now
+					 @transaction)) ()
+  (settings:with-cache 
+    (let* ((form (lisp-fixup:formdata->hashmap (hunchentoot:raw-post-data :force-text t)))
+	   (username (gethash "username" form))
+	   (password (gethash "password" form))
+	   (user-row (users:get-user username (sha-512 password))))
+      (if (and user-row
+	       (string= (users:user-username user-row) username))
+	  (let ((murja.middleware.auth:*user* user-row))
+	    (multiple-value-bind (session-key max-age) (get-session-key username)
+	      (if session-key
+		  (let ((murja.middleware.auth:*session-key* session-key))
+		    
+		    (set-session-value :logged-in-username username)
+		    (set-session-value :logged-in-user-id (users:user-id user-row))
+		    
+		    (set-session-cookies username session-key max-age)
+		    (log:info "~a logged in successfully~%" username))
+		  (progn
+		    (log:error "~a tried to log-in but get-session-key didn't return a session key. This happening signifies a bug" username)))))
 
-	(log:error "~a not authorized" username))
+	  (log:error "~a not authorized" username))
 
-    (let ((referer (hunchentoot:header-in* "referer")))
-      (hunchentoot:redirect referer))))
+      (let ((referer (hunchentoot:header-in* "referer")))
+	(hunchentoot:redirect referer)))))