Call a function to build the questionnaire link
This commit is contained in:
parent
8becb3d8aa
commit
ec139b644c
1 changed files with 10 additions and 10 deletions
|
@ -61,6 +61,9 @@ Returns a list of integers."
|
||||||
(defmethod survey-data-dir-p ((survey survey))
|
(defmethod survey-data-dir-p ((survey survey))
|
||||||
(uiop:directory-exists-p (survey-data-dir survey)))
|
(uiop:directory-exists-p (survey-data-dir survey)))
|
||||||
|
|
||||||
|
(defun build-questionnaire-link (survey-id resource)
|
||||||
|
(format nil "/survey/~a/~a" survey-id resource))
|
||||||
|
|
||||||
(defmethod survey-html ((survey survey))
|
(defmethod survey-html ((survey survey))
|
||||||
(spinneret:with-html
|
(spinneret:with-html
|
||||||
(:table :class "table"
|
(:table :class "table"
|
||||||
|
@ -73,18 +76,15 @@ Returns a list of integers."
|
||||||
for key = (car property)
|
for key = (car property)
|
||||||
for value = (cdr property) do
|
for value = (cdr property) do
|
||||||
(:tr (:td key)
|
(:tr (:td key)
|
||||||
(:td (if (string= key "questionnaire")
|
(cond ((string= key "questionnaire")
|
||||||
(:a :href (concatenate 'string "/survey/" (survey-id survey) value)
|
(:td (:a :href (build-questionnaire-link (survey-id survey) value))))
|
||||||
value)
|
(t (:td value)))))))))
|
||||||
value))))))))
|
|
||||||
|
|
||||||
(defun survey-uri-p (uri)
|
(defun survey-uri-p (uri)
|
||||||
(let* ((parts (split-uri uri))
|
(let ((parts (split-uri uri)))
|
||||||
(s (make-instance 'survey :id (second parts))))
|
|
||||||
(and (= (length parts) 2)
|
(and (= (length parts) 2)
|
||||||
(string= (first parts) "survey")
|
(string= (first parts) "survey")
|
||||||
(every #'digit-char-p (survey-id s))
|
(every #'digit-char-p (second parts)))))
|
||||||
(survey-id-p s))))
|
|
||||||
|
|
||||||
(defun survey-uri (request)
|
(defun survey-uri (request)
|
||||||
(survey-uri-p (request-uri request)))
|
(survey-uri-p (request-uri request)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue