Simplify call to get survey id
This commit is contained in:
parent
e03643229c
commit
a7969d9c8b
3 changed files with 11 additions and 2 deletions
|
@ -10,6 +10,13 @@
|
|||
(remove-if #'string-empty-p
|
||||
(uiop:split-string uri :separator "/")))
|
||||
|
||||
(defun get-resource-id (resource request)
|
||||
(case resource
|
||||
(survey (second (split-uri request)))))
|
||||
|
||||
(defun get-survey-id (request)
|
||||
(get-resource-id 'survey request))
|
||||
|
||||
(defun today ()
|
||||
"Return today's date formatted as ISO-8601."
|
||||
(local-time:format-timestring nil
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
(t (error "Unsupported language: ~A" lang))))
|
||||
|
||||
(defun process-questionnaire-get (lang s)
|
||||
(check-type lang string)
|
||||
(check-type s survey)
|
||||
(setf *html-lang* lang)
|
||||
(funcall (choose-sus-form lang) (survey-id s)))
|
||||
|
||||
|
@ -31,7 +33,7 @@
|
|||
(ml-survey/views:questionnaire-submit)))
|
||||
|
||||
(define-easy-handler (questionnaire :uri #'questionnaire-uri) (lang)
|
||||
(let ((s (make-instance 'survey :id (second (split-uri (request-uri*))))))
|
||||
(let ((s (make-instance 'survey :id (get-survey-id (request-uri*)))))
|
||||
(cond ((eq (hunchentoot:request-method*) :get)
|
||||
(process-questionnaire-get lang s))
|
||||
((eq (hunchentoot:request-method*) :post)
|
||||
|
|
|
@ -90,7 +90,7 @@ Returns a list of integers."
|
|||
(survey-uri-p (request-uri request)))
|
||||
|
||||
(define-easy-handler (survey :uri #'survey-uri) ()
|
||||
(let ((s (make-instance 'survey :id (second (split-uri (request-uri*))))))
|
||||
(let ((s (make-instance 'survey :id (get-survey-id (request-uri*)))))
|
||||
(ml-survey/views:survey s
|
||||
(when (survey-data-dir-p s)
|
||||
(sus-calc (survey-data-dir-files s))))))
|
||||
|
|
Loading…
Add table
Reference in a new issue