Call language specific sus form

This commit is contained in:
Marcus Kammer 2024-06-15 21:06:40 +02:00
parent 5025d948ab
commit e28901e837
Signed by: marcuskammer
GPG key ID: C374817BE285268F
4 changed files with 96 additions and 103 deletions

View file

@ -11,19 +11,11 @@
(defun questionnaire-uri (request) (defun questionnaire-uri (request)
(questionnaire-uri-p (request-uri request))) (questionnaire-uri-p (request-uri request)))
(defun choose-sus-form (lang)
"Based on LANG decide which sus form to show."
(check-type lang string)
(let ((lang (string-downcase lang)))
(cond ((string= lang "en") #'ml-survey/views:sus-form-en)
((string= lang "de") #'ml-survey/views:sus-form-de)
(t (error "Unsupported language: ~A" lang)))))
(defun process-questionnaire-get (lang survey) (defun process-questionnaire-get (lang survey)
(check-type lang string) (check-type lang string)
(check-type survey ml-survey:survey) (check-type survey ml-survey:survey)
(setf *html-lang* lang) (setf *html-lang* lang)
(funcall (choose-sus-form lang) (ml-survey:survey-id survey))) (ml-survey/views:sus-form (ml-survey:survey-id survey)))
(defun process-questionnaire-post (request survey) (defun process-questionnaire-post (request survey)
(let ((post-params (post-parameters* request)) (let ((post-params (post-parameters* request))

View file

@ -0,0 +1,92 @@
(in-package :ml-survey/views)
(multi-form
(:ask "Ich denke, dass ich dieses System häufig nutzen möchte."
:group "sus-1"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand das System unnötig komplex."
:group "sus-2"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand das System einfach zu bedienen."
:group "sus-3"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich glaube, ich bräuchte die Unterstützung einer technischen Person, um dieses System nutzen zu können."
:group "sus-4"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand, dass die verschiedenen Funktionen in diesem System gut integriert waren."
:group "sus-5"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand, dass dieses System zu widersprüchlich war."
:group "sus-6"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich könnte mir vorstellen, dass die meisten Menschen sehr schnell lernen würden, mit diesem System umzugehen."
:group "sus-7"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand das System sehr umständlich zu bedienen."
:group "sus-8"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fühlte mich sehr sicher im Umgang mit dem System."
:group "sus-9"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich musste eine Menge Dinge lernen, bevor ich mit diesem System loslegen konnte."
:group "sus-10"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree")))

View file

@ -21,5 +21,4 @@
#:create-survey #:create-survey
#:survey #:survey
#:questionnaire-submit #:questionnaire-submit
#:sus-form-de #:sus-form))
#:sus-form-en))

View file

@ -10,7 +10,7 @@
(load form-path)) (load form-path))
nil) nil)
(defun sus-form-en (survey-id) (defun sus-form (survey-id)
(with-page (:title "SUS Form") (with-page (:title "SUS Form")
(:section :class "container my-5" (:section :class "container my-5"
(:h2 "Usability Feedback Form") (:h2 "Usability Feedback Form")
@ -21,7 +21,7 @@
:side "y" :side "y"
:size 5) :size 5)
;; load the multi-form from disk ;; load the multi-form from disk
(load-form "en" "sus.lisp") (load-form *html-lang* "sus.lisp")
(btn-primary (:type "submit") (btn-primary (:type "submit")
(find-l10n "submit" *html-lang* *l10n*)))))) (find-l10n "submit" *html-lang* *l10n*))))))
@ -35,96 +35,6 @@
(:form :action (format nil "/survey/~a/questionnaire/sus" survey-id) (:form :action (format nil "/survey/~a/questionnaire/sus" survey-id)
:method "post" :method "post"
:class (dev.metalisp.sbt/utility:spacing :property "m" :side "y" :size 5) :class (dev.metalisp.sbt/utility:spacing :property "m" :side "y" :size 5)
(multi-form
(:ask "Ich denke, dass ich dieses System häufig nutzen möchte."
:group "sus-1"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand das System unnötig komplex."
:group "sus-2"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand das System einfach zu bedienen."
:group "sus-3"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich glaube, ich bräuchte die Unterstützung einer technischen Person, um dieses System nutzen zu können."
:group "sus-4"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand, dass die verschiedenen Funktionen in diesem System gut integriert waren."
:group "sus-5"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand, dass dieses System zu widersprüchlich war."
:group "sus-6"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich könnte mir vorstellen, dass die meisten Menschen sehr schnell lernen würden, mit diesem System umzugehen."
:group "sus-7"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fand das System sehr umständlich zu bedienen."
:group "sus-8"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich fühlte mich sehr sicher im Umgang mit dem System."
:group "sus-9"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree"))
(:ask "Ich musste eine Menge Dinge lernen, bevor ich mit diesem System loslegen konnte."
:group "sus-10"
:style "list-style:none;"
:choices (:single "1 Strongly Disagree"
"2 Disagree"
"3 Neither Agree nor Disagree"
"4 Agree"
"5 Strongly Agree")))
(btn-primary (:type "submit") (btn-primary (:type "submit")
(find-l10n "submit" *html-lang* *l10n*)))))) (find-l10n "submit" *html-lang* *l10n*))))))