diff of 6274d805b353fabcdd6db6e9a248a2609b18a2ac

6274d805b353fabcdd6db6e9a248a2609b18a2ac
diff --git a/src/view/admin/new-post.lisp b/src/view/admin/new-post.lisp
index 3833386..54104c3 100644
--- a/src/view/admin/new-post.lisp
+++ b/src/view/admin/new-post.lisp
@@ -37,33 +37,34 @@
 (defroute api/save-post ("/api/save-post/:id" :method :post
 					      :decorators (@db
 							   @ssr-authenticated)) ()
-  (let ((abilities (coerce (murja.model.user:abilities *user*) 'list)))
-    (when (member "edit-post" abilities :test 'equal)
-      (let ((post (get-post (parse-integer id) :allow-hidden? t))
-	    (form (lisp-fixup:formdata->hashmap (hunchentoot:raw-post-data :force-text t))))
-	
-	(setf (article post) (gethash "article" form))
-	(setf (post-title post) (gethash "title" form))
-	(setf (post-hidden? post) (equalp "on" (gethash "hidden" form)))
-	(setf (post-unlisted? post) (equalp "on" (gethash "unlisted" form)))
-	(setf (tags post) (gethash "tags" form))
+  (murja.model.settings:with-cache
+    (let ((abilities (coerce (murja.model.user:abilities *user*) 'list)))
+      (when (member "edit-post" abilities :test 'equal)
+	(let ((post (get-post (parse-integer id) :allow-hidden? t))
+	      (form (lisp-fixup:formdata->hashmap (hunchentoot:raw-post-data :force-text t))))
+	  
+	  (setf (article post) (gethash "article" form))
+	  (setf (post-title post) (gethash "title" form))
+	  (setf (post-hidden? post) (equalp "on" (gethash "hidden" form)))
+	  (setf (post-unlisted? post) (equalp "on" (gethash "unlisted" form)))
+	  (setf (tags post) (gethash "tags" form))
 
-	;; if this app was running on a host with more than 1 user, this log would be kind of bad
-	;; but as it's only me and I have previously lost posts due to programming errors in editor,
-	;; let's keep these logs for now
-	(log:info "Form: ~a~%" (alexandria:hash-table-plist form))
+	  ;; if this app was running on a host with more than 1 user, this log would be kind of bad
+	  ;; but as it's only me and I have previously lost posts due to programming errors in editor,
+	  ;; let's keep these logs for now
+	  (log:info "Form: ~a~%" (alexandria:hash-table-plist form))
 
-	(log:info "Post: ~a~%" post)
+	  (log:info "Post: ~a~%" post)
 
-	(postmodern:update-dao post)
+	  (postmodern:update-dao post)
 
-	(dolist (link (coerce (json:parse (gethash "previouslies" form)) 'list))
-	  (let ((id (gethash "id" link)))
-	    (murja.posts.post-db:link-previously (post-id post) id)))
+	  (dolist (link (coerce (json:parse (gethash "previouslies" form)) 'list))
+	    (let ((id (gethash "id" link)))
+	      (murja.posts.post-db:link-previously (post-id post) id)))
 
-	(if (post-hidden? post)
-	    (hunchentoot:redirect (murja.genurl:route->url
-				   'murja.view.blog-root:root))
-	    (hunchentoot:redirect (murja.genurl:route->url
-				   'murja.view.single-post:blog/post/id
-				   :id (post-id post))))))))
+	  (if (post-hidden? post)
+	      (hunchentoot:redirect (murja.genurl:route->url
+				     'murja.view.blog-root:root))
+	      (hunchentoot:redirect (murja.genurl:route->url
+				     'murja.view.single-post:blog/post/id
+				     :id (post-id post)))))))))