Browse Source

implement /pages and /view/page/:slug defroutes in web.lisp file.

stable
Craig Oates 2 years ago
parent
commit
b9180da6e2
  1. 23
      src/web.lisp

23
src/web.lisp

@ -384,7 +384,7 @@
(progn (utils:set-alert "You are not logged in.")
(redirect "/login")))))))
(defroute ("/pages" :method :GET) ()
(defroute ("/user/pages" :method :GET) ()
(hermetic:auth (:logged-in)
;; Authorised
(let ((alert (utils:get-and-reset-alert)))
@ -399,6 +399,27 @@
(utils:set-alert "You are not logged in.")
(redirect "/login"))))
(defroute ("/pages" :method :GET) ()
(let ((alert (utils:get-and-reset-alert)))
(render #P"pages.html"
(append (if (hermetic:logged-in-p)
(auth:auth-user-data))
`(:alert ,alert
:pages ,(storage:get-file-names
(storage:get-files-in-directory
"" "pages")))))))
(defroute ("/view/page/:slug" :method :GET) (&key slug)
(let ((alert (utils:get-and-reset-alert)))
(if (storage:file-exists-p "" "pages" slug)
(render #P"page.html"
(append (if (hermetic:logged-in-p)
(auth:auth-user-data))
`(:alert ,alert
:data ,(storage:open-text-file
"" "pages" slug))))
(on-exception *web* 404))))
(defroute ("/edit/page/:slug" :method :GET) (&key slug)
(hermetic:auth (:logged-in)
;; Authorised

Loading…
Cancel
Save