diff options
| author | ckonstanski <carlos.konstanski@olo.com> | 2024-05-26 08:57:31 -0600 |
|---|---|---|
| committer | ckonstanski <carlos.konstanski@olo.com> | 2024-05-26 08:57:31 -0600 |
| commit | e1618bd69e8439600facdcd84c0dd5c06f90b56e (patch) | |
| tree | 24e0e8fa8ab4a4c1d26f97d1450dfc9870bd516b /lisp/service/about-us-service.lisp | |
| parent | 675a4ec6aaf6899387dcbcee11270047d788be49 (diff) | |
make about-us CMS again
Diffstat (limited to 'lisp/service/about-us-service.lisp')
| -rw-r--r-- | lisp/service/about-us-service.lisp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lisp/service/about-us-service.lisp b/lisp/service/about-us-service.lisp index a4d1d49..693ea5f 100644 --- a/lisp/service/about-us-service.lisp +++ b/lisp/service/about-us-service.lisp @@ -10,3 +10,54 @@ (defun about-us-json () (with-noauth (instance about-us-service) t)) + +(defclass about-us/view-service (about-us-service) + ((content :initarg :content + :initform nil + :accessor content) + (admin-p :initarg :admin-p + :initform nil + :accessor admin-p) + (location :initform nil)) + (:documentation "")) + +(defun about-us-view-json () + (with-noauth (instance about-us/view-service) + (with-valid-user (user "about-us-modify") + (setf (admin-p instance) nil) + (setf (admin-p instance) t)) + (with-woodriverlessons-database + (let* ((general-pkg (make-instance 'general-pkg)) + (about-us (get-about-us general-pkg))) + (when about-us + (setf (content instance) (content about-us))))))) + +(defclass about-us/modify-service (about-us/view-service auth-service) + ((form :initarg :form + :initform nil + :accessor form) + (admin-p :initform t) + (location-p :initform nil)) + (:documentation "")) + +(defun about-us-modify-json () + (with-auth (instance about-us/modify-service "about-us-modify") + (with-woodriverlessons-database + (let* ((general-pkg (make-instance 'general-pkg)) + (about-us (get-about-us general-pkg))) + (setf (form instance) (make-form "about-us-modify-form" + nil + nil + `((:name "txt-content" :field-type "textarea" :value ,(content about-us)) + (:label "Modify" :field-type "button" :onclick "on_about_us_modify_submit_clicked()")))))))) + +(defun about-us-modify-submit-json (content) + (with-auth (instance about-us/modify-service "about-us-modify") + (with-woodriverlessons-database + (let* ((general-pkg (make-instance 'general-pkg)) + (about-us (get-about-us general-pkg))) + (when about-us + (setf (content about-us) content) + (update-record general-pkg about-us)))) + (setf (content instance) content) + (setf (message instance) "About Us text saved successfully."))) |
