Browse Source

add system-data to data passed to the HTML GET routes in web.lisp.

System-data is a collection of the system settings and page data in
the database. It minimises the function calls in the defroute macros.
stable
Craig Oates 2 years ago
parent
commit
f626557b97
  1. 31
      src/web.lisp

31
src/web.lisp

@ -40,6 +40,7 @@
(auth:auth-user-data))
`(:alert ,(utils:get-and-reset-alert)
:nav-menu ,(nera:nav-menu-slugs)
:system-data ,(nera:system-data)
:content ,(storage:open-text-file
"" "pages"
(site-settings::home-page-of
@ -81,6 +82,7 @@
(let ((alert (utils:get-and-reset-alert)))
(render "sign-up.html"
`(:token ,(auth:csrf-token)
:system-data ,(nera:system-data)
:alert ,alert))))))
(defroute ("/sign-up" :method :POST) ()
@ -121,6 +123,7 @@
(let ((alert (utils:get-and-reset-alert)))
(render "user/log-in.html"
`(:token ,(auth:csrf-token)
:system-data ,(nera:system-data)
:alert ,alert)))))
(defroute ("/login" :method :POST) ()
@ -170,7 +173,8 @@
(let ((alert (utils:get-and-reset-alert)))
(render #P"user/dashboard.html"
(append (auth:auth-user-data)
`(:alert ,alert))))
`(:alert ,alert
:system-data ,(nera:system-data)))))
;; Not Authorised
(progn (utils:set-alert "You are not logged in.")
(redirect "/login"))))
@ -183,8 +187,10 @@
(append (auth:auth-user-data)
`(:alert ,(utils:get-and-reset-alert)
:pages ,(nera:get-all-pages)
:system-data ,(nera:system-data)
:site-wide-snippet ,(storage:open-text-file-with-raw-path
"static/site-wide-snippet")
;; Should this be replaced by `SYSTEM-DATA'?
:settings ,(nera:get-site-settings))))
;; Not Authorised
(progn
@ -373,6 +379,7 @@
(render #P"user/index.html"
(append (auth:auth-user-data)
`(:alert ,alert
:system-data ,(nera:system-data)
:users ,(nera:get-all-users)))))
;; Not Authorised
(progn
@ -416,7 +423,8 @@
(let ((alert (utils:get-and-reset-alert)))
(render #P"user/edit.html"
(append (auth:auth-user-data)
`(:alert ,alert))))
`(:alert ,alert
:system-data ,(nera:system-data)))))
;; Not Authorised
(progn (utils:set-alert "You are not logged in.")
(redirect "/login"))))
@ -526,7 +534,8 @@
(let ((alert (utils:get-and-reset-alert)))
(render "/user/create-page.html"
(append (auth:auth-user-data)
`(:alert ,alert))))
`(:alert ,alert
:system-data ,(nera:system-data)))))
;; Not Authorised
(progn
(utils:set-alert "You are not logged in.")
@ -563,7 +572,7 @@
"pages"
(utils:slugify title)
page-content)
(nera:create-page title (utils:slugify title) +false+ +false+)
(nera:create-page title (utils:slugify title) +false+ +true+)
(utils:set-alert "Page created.")
(redirect "/dashboard")))
;; Not Authorised
@ -577,9 +586,8 @@
(render "/user/pages.html"
(append (auth:auth-user-data)
`(:alert ,alert
:pages ,(storage:get-file-names
(storage:get-files-in-directory
"" "pages"))))))
:system-data ,(nera:system-data)
:pages ,(nera:get-all-pages)))))
;; Not Authorised
(progn
(utils:set-alert "You are not logged in.")
@ -591,9 +599,8 @@
(append (if (hermetic:logged-in-p)
(auth:auth-user-data))
`(:alert ,alert
:pages ,(storage:get-file-names
(storage:get-files-in-directory
"" "pages")))))))
:system-data ,(nera:system-data)
:pages ,(nera:get-all-pages))))))
(defroute ("/view/pages" :method :GET) ()
(let ((alert (utils:get-and-reset-alert)))
@ -601,6 +608,7 @@
(append (if (hermetic:logged-in-p)
(auth:auth-user-data))
`(:alert ,alert
:system-data ,(nera:system-data)
:pages ,(storage:get-file-names
(storage:get-files-in-directory
"" "pages")))))))
@ -611,6 +619,7 @@
(append (if (hermetic:logged-in-p)
(auth:auth-user-data))
`(:alert ,alert
:system-data ,(nera:system-data)
:pages ,(storage:get-file-names
(storage:get-files-in-directory
"" "pages")))))))
@ -623,6 +632,7 @@
(auth:auth-user-data))
`(:alert ,alert
:db-data ,(nera:get-page slug)
:system-data ,(nera:system-data)
:data ,(storage:open-text-file
"" "pages" slug))))
(on-exception *web* 404))))
@ -634,6 +644,7 @@
(render "/user/edit-page.html"
(append (auth:auth-user-data)
`(:alert ,alert
:system-data ,(nera:system-data)
:db-data ,(nera:get-page slug)
:data ,(storage:open-text-file
"" "pages" slug)))))

Loading…
Cancel
Save