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)))))))))