diff --git a/src/handlers/questionnaire.lisp b/src/handlers/questionnaire.lisp index 3275228..2b541f9 100644 --- a/src/handlers/questionnaire.lisp +++ b/src/handlers/questionnaire.lisp @@ -11,19 +11,11 @@ (defun questionnaire-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) (check-type lang string) (check-type survey ml-survey:survey) (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) (let ((post-params (post-parameters* request)) diff --git a/src/views/forms/de/sus.lisp b/src/views/forms/de/sus.lisp new file mode 100644 index 0000000..d2ab1c2 --- /dev/null +++ b/src/views/forms/de/sus.lisp @@ -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"))) diff --git a/src/views/package.lisp b/src/views/package.lisp index 6410530..0512f30 100644 --- a/src/views/package.lisp +++ b/src/views/package.lisp @@ -21,5 +21,4 @@ #:create-survey #:survey #:questionnaire-submit - #:sus-form-de - #:sus-form-en)) + #:sus-form)) diff --git a/src/views/sus.lisp b/src/views/sus.lisp index b1db53a..fc254d7 100644 --- a/src/views/sus.lisp +++ b/src/views/sus.lisp @@ -10,7 +10,7 @@ (load form-path)) nil) -(defun sus-form-en (survey-id) +(defun sus-form (survey-id) (with-page (:title "SUS Form") (:section :class "container my-5" (:h2 "Usability Feedback Form") @@ -21,7 +21,7 @@ :side "y" :size 5) ;; load the multi-form from disk - (load-form "en" "sus.lisp") + (load-form *html-lang* "sus.lisp") (btn-primary (:type "submit") (find-l10n "submit" *html-lang* *l10n*)))))) @@ -35,96 +35,6 @@ (:form :action (format nil "/survey/~a/questionnaire/sus" survey-id) :method "post" :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") (find-l10n "submit" *html-lang* *l10n*))))))