summaryrefslogtreecommitdiff
path: root/lisp/service
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/service')
-rw-r--r--lisp/service/auth-service.lisp16
-rw-r--r--lisp/service/contact-us-service.lisp4
-rw-r--r--lisp/service/login-service.lisp14
-rw-r--r--lisp/service/messages-service.lisp15
-rw-r--r--lisp/service/password-service.lisp4
-rw-r--r--lisp/service/profile-service.lisp4
-rw-r--r--lisp/service/rest-service.lisp6
-rw-r--r--lisp/service/resume-service.lisp33
-rw-r--r--lisp/service/users-service.lisp36
9 files changed, 64 insertions, 68 deletions
diff --git a/lisp/service/auth-service.lisp b/lisp/service/auth-service.lisp
index 8450e64..0862147 100644
--- a/lisp/service/auth-service.lisp
+++ b/lisp/service/auth-service.lisp
@@ -20,15 +20,15 @@
(when (null (errormsg ,instance))
,@body)
(when (location-p ,instance)
- (setf (session-value :message) nil)
- (setf (session-value :errormsg) nil))
+ (setf (message instance) nil)
+ (setf (errormsg instance) nil))
(org-ckons-json::objects-to-json `(,,instance))))
(defmacro with-auth-raw ((instance auth-service roles) &body body)
`(let ((,instance (make-instance ',auth-service :roles ,roles)))
(when (location-p ,instance)
- (setf (session-value :message) nil)
- (setf (session-value :errormsg) nil))
+ (setf (message instance) nil)
+ (setf (errormsg instance) nil))
(when (null (errormsg ,instance))
,@body)))
@@ -36,13 +36,13 @@
`(let ((,instance (make-instance ',rest-service)))
,@body
(when (location-p ,instance)
- (setf (session-value :message) nil)
- (setf (session-value :errormsg) nil))
+ (setf (message instance) nil)
+ (setf (errormsg instance) nil))
(org-ckons-json::objects-to-json `(,,instance))))
(defmacro with-noauth-raw ((instance rest-service) &body body)
`(let ((,instance (make-instance ',rest-service)))
(when (location-p ,instance)
- (setf (session-value :message) nil)
- (setf (session-value :errormsg) nil))
+ (setf (message instance) nil)
+ (setf (errormsg instance) nil))
,@body))
diff --git a/lisp/service/contact-us-service.lisp b/lisp/service/contact-us-service.lisp
index 1e55ddb..d97d74c 100644
--- a/lisp/service/contact-us-service.lisp
+++ b/lisp/service/contact-us-service.lisp
@@ -78,10 +78,10 @@
:reply-to (mail-postmaster *webapp*)
:ssl (mail-ssl *webapp*)
:authentication (mail-authentication *webapp*))
- (setf (session-value :message) "Form submitted successfully."))
+ (setf (message instance) "Form submitted successfully."))
(error (e)
(declare (ignore e))
- (setf (session-value :errormsg) "Error submitting form.")))))))
+ (setf (errormsg instance) "Error submitting form.")))))))
(define-endpoint ("/contact-us" :method :get) () contact-us-json)
(define-endpoint ("/contact-us/view" :method :get) () contact-us-view-json)
diff --git a/lisp/service/login-service.lisp b/lisp/service/login-service.lisp
index cedc867..a4ff93c 100644
--- a/lisp/service/login-service.lisp
+++ b/lisp/service/login-service.lisp
@@ -49,19 +49,19 @@
(with-noauth (instance login-authenticate-service)
(if (or (org-ckons-core::null-or-empty-p username)
(org-ckons-core::null-or-empty-p pwd))
- (setf (session-value :errormsg) "Login failed.")
+ (setf (errormsg instance) "Login failed.")
(with-resume-database
(let* ((auth-pkg (make-instance 'auth-pkg))
(user (get-active-user-by-username-pwd auth-pkg username pwd)))
(cond (user
(set-user user)
- (setf (session-value :message) "Successfully logged in.")
- (setf (session-value :errormsg) nil))
+ (setf (message instance) "Successfully logged in.")
+ (setf (errormsg instance) nil))
(t
- (setf (session-value :message) nil)
- (setf (session-value :errormsg) "Login failed."))))))
- (setf (message instance) (session-value :message))
- (setf (errormsg instance) (session-value :errormsg))))
+ (setf (message instance) nil)
+ (setf (errormsg instance) "Login failed."))))))
+ (setf (message instance) (message instance))
+ (setf (errormsg instance) (errormsg instance))))
(define-endpoint ("/login" :method :get) () login-json)
(define-endpoint ("/login/authenticate" :method :post) (&post (username :parameter-type 'string) (pwd :parameter-type 'string)) login-authenticate-json username pwd)
diff --git a/lisp/service/messages-service.lisp b/lisp/service/messages-service.lisp
index 9690822..5c0f241 100644
--- a/lisp/service/messages-service.lisp
+++ b/lisp/service/messages-service.lisp
@@ -18,19 +18,18 @@
(setf (form instance) (make-form "messages-select-mode-form"
nil
nil
- `((:name "read" :field-type "hidden" :required "required" :value ,(session-value :messages-read))
- (:label "View Unread" :field-type "button" :onclick "on_messages_mode_clicked('unread')")
+ `((:label "View Unread" :field-type "button" :onclick "on_messages_mode_clicked('unread')")
(:label "View Read" :field-type "button" :onclick "on_messages_mode_clicked('read')"))))))
-(defclass messages/results-service (messages-service)
+(defclass messages/view-service (messages-service)
((results :initarg :results
:initform nil
:accessor results)
(location-p :initform nil))
(:documentation ""))
-(defun messages-results-json (read)
- (with-auth (instance messages/results-service "messages-view")
+(defun messages-view-json (read)
+ (with-auth (instance messages/view-service "messages-view")
(when read (setf (session-value :messages-read) read))
(with-resume-database
(let ((contact-pkg (make-instance 'contact-pkg)))
@@ -51,11 +50,11 @@
(handler-case
(let ((contact-pkg (make-instance 'contact-pkg)))
(mark-contact-us-post contact-pkg id (id (get-user)) (string= read "read"))
- (setf (session-value :message) (format nil "Message marked ~a successfully." read)))
+ (setf (message instance) (format nil "Message marked ~a successfully." read)))
(error (e)
(declare (ignore e))
- (setf (session-value :errormsg) (format nil "Error marking message ~a." read)))))))
+ (setf (errormsg instance) (format nil "Error marking message ~a." read)))))))
(define-endpoint ("/messages" :method :get) () messages-json)
-(define-endpoint ("/messages/results" :method :post) (&post (read :parameter-type 'string)) messages-results-json read)
+(define-endpoint ("/messages/view" :method :post) (&post (read :parameter-type 'string)) messages-view-json read)
(define-endpoint ("/messages/mark" :method :post) (&post (read :parameter-type 'string) (id :parameter-type 'integer)) messages-mark-json read id)
diff --git a/lisp/service/password-service.lisp b/lisp/service/password-service.lisp
index dc319a0..d9ad4bc 100644
--- a/lisp/service/password-service.lisp
+++ b/lisp/service/password-service.lisp
@@ -46,8 +46,8 @@
do (setf (slot-value user param) (symbol-value param)))
(update-password auth-pkg user)
(set-user user)
- (setf (session-value :message) "Password saved successfully."))
- (setf (session-value :errormsg) "An error occured."))))))
+ (setf (message instance) "Password saved successfully."))
+ (setf (errormsg instance) "An error occured."))))))
(define-endpoint ("/password" :method :get) () password-json)
(define-endpoint ("/password/submit" :method :post) (&post (id :parameter-type 'integer) (pwd :parameter-type 'string) (pwd2 :parameter-type 'string)) password-submit-json id pwd pwd2)
diff --git a/lisp/service/profile-service.lisp b/lisp/service/profile-service.lisp
index d2a9f05..990a9d0 100644
--- a/lisp/service/profile-service.lisp
+++ b/lisp/service/profile-service.lisp
@@ -70,8 +70,8 @@
do (setf (slot-value user param) (symbol-value param)))
(update-user auth-pkg user)
(set-user user)
- (setf (session-value :message) "Profile saved successfully."))
- (setf (session-value :errormsg) "An error occured."))))))
+ (setf (message instance) "Profile saved successfully."))
+ (setf (errormsg instance) "An error occured."))))))
(define-endpoint ("/profile" :method :get) () profile-json)
(define-endpoint ("/profile/view" :method :get) () profile-view-json)
diff --git a/lisp/service/rest-service.lisp b/lisp/service/rest-service.lisp
index 4d23031..f497245 100644
--- a/lisp/service/rest-service.lisp
+++ b/lisp/service/rest-service.lisp
@@ -20,12 +20,6 @@
(defmethod initialize-instance :after ((rest-service rest-service) &key)
(when (location-p rest-service)
- (if (message rest-service)
- (setf (session-value :message) (message rest-service))
- (setf (message rest-service) (session-value :message)))
- (if (errormsg rest-service)
- (setf (session-value :errormsg) (errormsg rest-service))
- (setf (errormsg rest-service) (session-value :errormsg)))
(when (null (location rest-service))
(setf (location rest-service) (type-to-path rest-service)))))
diff --git a/lisp/service/resume-service.lisp b/lisp/service/resume-service.lisp
index 46badc6..6a8e589 100644
--- a/lisp/service/resume-service.lisp
+++ b/lisp/service/resume-service.lisp
@@ -42,7 +42,7 @@
;; macros
-(defmacro define-resume-component ((component-s rest-args input-add-fields input-modify-fields order-by &optional view-p))
+(defmacro define-resume-component ((component-s rest-args input-add-fields input-modify-fields order-by &key view-p))
"`component-s' is a symbol that matches the component's record object
name, i.e SKILL, JOB, EDUCATION, LANGUAGE, CONTACTINFO. This will be
used all over the place. The record name equals the component name.
@@ -57,7 +57,7 @@ fields that get inserted into the add and modify forms.
needs to JOIN with other data."
(let* ((component (symbol-name component-s))
(component-lcase (string-downcase component))
- (components-s (intern (format nil "~aS" component)))
+ (component-s (intern (format nil "~a" component)))
(table (format nil "resume.~a~a" component-lcase (if view-p "_v" "")))
(arg-names (loop for arg in rest-args collect (car arg)))
(func-root-s (intern (format nil "~a-JSON" component)))
@@ -90,13 +90,11 @@ needs to JOIN with other data."
(defun ,func-add-s ()
(with-auth (instance resume/resume-component/modify-service "resume-modify")
- (with-resume-database
- (let ((resume-pkg (make-instance 'resume-pkg)))
- (setf (title instance) (format nil "~a - Add" ,component))
- (setf (form instance) (make-form ,form-add
- nil
- t
- ,input-add-fields))))))
+ (setf (title instance) (format nil "~a - Add" ,component))
+ (setf (form instance) (make-form ,form-add
+ nil
+ t
+ ,input-add-fields))))
(defun ,func-add-submit-s (,@arg-names)
(declare (special ,@arg-names))
@@ -149,11 +147,13 @@ needs to JOIN with other data."
(loop for param in (sb-introspect:function-lambda-list #',func-modify-submit-s)
do (setf (slot-value new-component param) (symbol-value param)))
(setf (user_id new-component) (id user))
- (update-record resume-pkg new-component)
- (setf (session-value :message) (format nil "~a modified successfully." ,component)))
+ (update-record-no-nulls resume-pkg new-component)
+ (setf (session-value :message) (format nil "~a modified successfully." ,component))
+ (setf (message instance) (session-value :message)))
(error (format nil "~a error" ,component))))
(error (e)
- (setf (session-value :errormsg) (format nil "Error modifying ~a. ~a" ,component e)))))))
+ (setf (session-value :errormsg) (format nil "Error modifying ~a. ~a" ,component e))
+ (setf (errormsg instance) (session-value :errormsg)))))))
(defun ,func-delete-s (id)
(with-auth (instance resume/resume-component/modify-service "resume-modify")
@@ -167,8 +167,11 @@ needs to JOIN with other data."
(if ,component-s
(progn
(delete-record resume-pkg (make-instance ',component-s :id id))
- (setf (session-value :message) (format nil "~a deleted successfully." ,component)))
- (setf (session-value :errormsg) (format nil "Error: could not delete ~a: not found." ,component)))))))
+ (setf (session-value :message) (format nil "~a deleted successfully." ,component))
+ (setf (message instance) (session-value :message)))
+ (progn
+ (setf (session-value :errormsg) (format nil "Error: could not delete ~a: not found." ,component))
+ (setf (errormsg instance) (session-value :errormsg))))))))
(define-endpoint (,(format nil "/resume/~a" component-lcase) :method :get) () ,func-root-s)
(define-endpoint (,(format nil "/resume/~a/view" component-lcase) :method :get) () ,func-view-s)
@@ -207,7 +210,7 @@ needs to JOIN with other data."
(:name "visastatus_id" :label "VISA Status" :field-type "select" :value (visastatus_id contactinfo) :options ,(visastatus-options (get-records resume-pkg (make-instance 'visastatus) "visastatus asc")) :required "required")
(:label "Modify CONTACTINFO" :field-type "button" :onclick "on_contactinfo_modify_submit_clicked()"))
"state_abbr asc, city asc, address asc"
- t))
+ :view-p t))
(define-resume-component (education
((school :parameter-type 'string) (major :parameter-type 'string) (minor :parameter-type 'string) (degree :parameter-type 'string) (progress :parameter-type 'string) (start_date :parameter-type 'string) (end_date :parameter-type 'string))
diff --git a/lisp/service/users-service.lisp b/lisp/service/users-service.lisp
index d05dfb0..4143ad3 100644
--- a/lisp/service/users-service.lisp
+++ b/lisp/service/users-service.lisp
@@ -113,9 +113,9 @@
:reply-to (mail-postmaster *webapp*)
:ssl (mail-ssl *webapp*)
:authentication (mail-authentication *webapp*))
- (setf (session-value :message) (format nil "Email sent successfully to ~a" (email registration))))
+ (setf (message instance) (format nil "Email sent successfully to ~a" (email registration))))
(error (e)
- (setf (session-value :errormsg) (format nil "Error sending email to ~a. Registration failed. ~a" (email registration) e))))))))
+ (setf (errormsg instance) (format nil "Error sending email to ~a. Registration failed. ~a" (email registration) e))))))))
(defclass users/register-service (rest-service)
((title :initarg :title
@@ -155,7 +155,7 @@
(:name "pwd2" :label "Password (again)" :field-type "password" :required "required")
(:name "phone" :label "Phone" :field-type "text")
(:label "Register" :field-type "button" :onclick "on_users_register_submit_clicked()"))))
- (setf (session-value :errormsg) "Error: invalid registration."))))))
+ (setf (errormsg instance) "Error: invalid registration."))))))
(defclass users/register/submit-service (rest-service)
((location-p :initform nil))
@@ -187,10 +187,10 @@
:user_id (id user)
:role_group_name role-group)))
(delete-registration auth-pkg hash)
- (setf (session-value :message) "Registration completed successfully."))
- (setf (session-value :errormsg) "Error while completing registration.")))
- (setf (session-value :errormsg) "Error: passwords do not match."))
- (setf (session-value :errormsg) "Error while completing registration."))))))
+ (setf (message instance) "Registration completed successfully."))
+ (setf (errormsg instance) "Error while completing registration.")))
+ (setf (errormsg instance) "Error: passwords do not match."))
+ (setf (errormsg instance) "Error while completing registration."))))))
(defclass users/modify-service (users/add-service)
()
@@ -217,7 +217,7 @@
(:name "phone" :label "Phone" :field-type "text" :value ,(phone user))
,@(role-checkboxes "users_modify" role-groups active-role-groups)
(:label "Modify User" :field-type "button" :onclick "on_users_modify_submit_clicked()"))))
- (setf (session-value :errormsg) "Error: could not modify user. Not found."))))))
+ (setf (errormsg instance) "Error: could not modify user. Not found."))))))
(defun users-modify-submit-json (id role_groups username first_name last_name email phone)
(declare (special role_groups username first_name last_name email phone))
@@ -239,8 +239,8 @@
do (insert-user-role-group auth-pkg (make-instance 'user-role
:user_id id
:role_group_name role-group)))
- (setf (session-value :message) "User saved successfully."))
- (setf (session-value :errormsg) "An error occured."))))))
+ (setf (message instance) "User saved successfully."))
+ (setf (errormsg instance) "An error occured."))))))
(defclass users/toggle-service (users/add-service)
()
@@ -253,12 +253,12 @@
(user (get-user-by-id auth-pkg id)))
(if user
(if (= (id user) (id (get-user)))
- (setf (session-value :errormsg) "Error: you may not toggle your own active state.")
+ (setf (errormsg instance) "Error: you may not toggle your own active state.")
(progn
(user-toggle-active auth-pkg user)
- (setf (session-value :errormsg) nil)
- (setf (session-value :message) "User active state toggled successfully.")))
- (setf (session-value :errormsg) "Error: could not toggle the active state of the user: not found."))))))
+ (setf (errormsg instance) nil)
+ (setf (message instance) "User active state toggled successfully.")))
+ (setf (errormsg instance) "Error: could not toggle the active state of the user: not found."))))))
(defclass users/delete-service (users/add-service)
()
@@ -271,12 +271,12 @@
(user (get-user-by-id auth-pkg id)))
(if user
(if (= (id user) (id (get-user)))
- (setf (session-value :errormsg) "Error: you may not delete yourself.")
+ (setf (errormsg instance) "Error: you may not delete yourself.")
(progn
(deactivate-user auth-pkg user)
- (setf (session-value :errormsg) nil)
- (setf (session-value :message) "User deleted successfully.")))
- (setf (session-value :errormsg) "Error: could not delete user: not found."))))))
+ (setf (errormsg instance) nil)
+ (setf (message instance) "User deleted successfully.")))
+ (setf (errormsg instance) "Error: could not delete user: not found."))))))
(define-endpoint ("/users" :method :get) () users-json)
(define-endpoint ("/users/view" :method :get) () users-view-json)