From 22dfd33aca9b8ad797c2617bbc656cf8276edf38 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Wed, 9 Jun 2021 16:23:21 +0200 Subject: [PATCH] feat(exams): disable and set use-custom field according to school setting --- .../courses/exam/exam/de-de-formal.msg | 7 ++++--- .../categories/courses/exam/exam/en-eu.msg | 7 ++++--- src/Handler/Exam/Form.hs | 19 +++++++++---------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/messages/uniworx/categories/courses/exam/exam/de-de-formal.msg b/messages/uniworx/categories/courses/exam/exam/de-de-formal.msg index 7f14504b1..199795e57 100644 --- a/messages/uniworx/categories/courses/exam/exam/de-de-formal.msg +++ b/messages/uniworx/categories/courses/exam/exam/de-de-formal.msg @@ -318,6 +318,7 @@ ExamAuthorshipStatementRequired: Eigenständigkeitserklärung für prüfungszuge ExamAuthorshipStatementRequiredTip: Sollen für alle zu dieser Prüfung zugehörige Übungsblätter die Abgebenden (bei Abgabegruppen jedes Gruppenmitglied) aufgefordert werden, eine Eigenständigkeitserklärung zu akzeptieren? ExamAuthorshipStatementRequiredDisabledOffTip: Für dieses Institut sind Eigenständigkeitserklärungen für prüfungsrelevante Blätter deaktiviert. ExamAuthorshipStatementRequiredDisabledOnTip: Für dieses Institut sind Eigenständigkeitserklärungen für prüfungsrelevante Blätter vorgeschrieben. -ExamAuthorshipStatementUseSchoolDefinition: Eigenständigkeitserklärung des Instituts verwenden? -ExamAuthorshipStatementUseSchoolDefinitionTip: Soll die institutsweit eingestellte Eigenständigkeitserklärung genutzt werden? (Hinweis: Um konsistente Erklärungen für alle Abgaben einer Prüfung zu gewährleisten, dient die institutsweite Erklärung hier nur als Vorlage und wird ab dann getrennt (als Kopie) gespeichert. Ändert sich die institutsweite Erklärung, so muss die Änderung für diese Prüfung manuell übernommen werden, falls erwünscht.) -ExamAuthorshipStatementCustom: Benutzerdefinierte Eigenständigkeitserklärung \ No newline at end of file +ExamAuthorshipStatementUseCustomDefinition: Benutzerdefinierte Eigenständigkeitserklärung verwenden? +ExamAuthorshipStatementUseCustomDefinitionTip: Soll anstatt der institutsweit vorgegebenen Eigenständigkeitserklärung eine benuzterdefinierte Erklärung für diese Prüfung genutzt werden? (Hinweis: Um konsistente Erklärungen für alle Abgaben der Prüfung zu gewährleisten, dient die institutsweite Erklärung hier nur als Vorlage und wird ab dann getrennt (als Kopie) gespeichert. Ändert sich die institutsweite Erklärung, so muss die Änderung für diese Prüfung manuell übernommen werden, falls erwünscht.) +ExamAuthorshipStatementUseCustomDefinitionDisabledTip: Für dieses Institut ist die institutsweite Vorgabe als Erklärung zu verwenden. Benutzerdefinierte Erklärungen sind nicht gestattet. +ExamAuthorshipStatementCustom: Eigenständigkeitserklärung \ No newline at end of file diff --git a/messages/uniworx/categories/courses/exam/exam/en-eu.msg b/messages/uniworx/categories/courses/exam/exam/en-eu.msg index fa0525d38..d784d00de 100644 --- a/messages/uniworx/categories/courses/exam/exam/en-eu.msg +++ b/messages/uniworx/categories/courses/exam/exam/en-eu.msg @@ -316,6 +316,7 @@ ExamAuthorshipStatementRequired: Require Statement of Authorship for exam-relate ExamAuthorshipStatementRequiredTip: Should submittors (in case of submission groups each group member) be required to accept a Statement of Authorship for all exercise sheets related to this exam? ExamAuthorshipStatementRequiredDisabledOffTip: This school permits Statements of Authorship for exam-related sheets. ExamAuthorshipStatementRequiredDisabledOnTip: This school requires Statements of Authorship for exam-related sheets. -ExamAuthorshipStatementUseSchoolDefinition: Use school-wide Statement of Authorship? -ExamAuthorshipStatementUseSchoolDefinitionTip: Should the school-wide Statement of Authorship be used? (Hint: To ensure consistent statements for all submissions related to this exam, the school-wide statement will be used as a template here and will then be stored separately (as a copy). If the school-wide statement changes, this change must be applied manually for this exam if desired.) -ExamAuthorshipStatementCustom: Custom Statement of Authorship \ No newline at end of file +ExamAuthorshipStatementUseCustomDefinition: Use custom Statement of Authorship? +ExamAuthorshipStatementUseCustomDefinitionTip: Should a custom Statement of Authorship be used for this exam instead of the school-wide statement? (Hint: To ensure consistent statements for all submissions related to this exam, the school-wide statement will be used as a template here and will then be stored separately (as a copy). If the school-wide statement changes, this change must be applied manually for this exam if desired.) +ExamAuthorshipStatementUseCustomDefinitionDisabledTip: This school dictates that the school-wide Statement of Authorship must be used. Custom statements are prohibited. +ExamAuthorshipStatementCustom: Statement of Authorship \ No newline at end of file diff --git a/src/Handler/Exam/Form.hs b/src/Handler/Exam/Form.hs index 19b15df64..985d841fa 100644 --- a/src/Handler/Exam/Form.hs +++ b/src/Handler/Exam/Form.hs @@ -155,18 +155,17 @@ examForm (Entity _ Course{..}) template csrf = hoist liftHandler $ do Nothing ) ) - ( fslI MsgExamAuthorshipStatementUseSchoolDefinition - & setTooltip MsgExamAuthorshipStatementUseSchoolDefinitionTip - -- TODO: disable field if school settings prevent custom statements - -- & addAttr "disabled" "disabled" & setTooltip MsgExamAuthorshipStatementUseSchoolDefinitionDisabledTip + ( if schoolSheetExamAuthorshipStatementAllowOther + then fslI MsgExamAuthorshipStatementUseCustomDefinition + & setTooltip MsgExamAuthorshipStatementUseCustomDefinitionTip + else fslI MsgExamAuthorshipStatementUseCustomDefinition + & addAttr "disabled" "disabled" + & setTooltip MsgExamAuthorshipStatementUseCustomDefinitionDisabledTip ) - ( - -- TODO: set value to False if school settings prevent custom statements - Nothing + ( bool (Just True) + (Just True) -- TODO: set according to template, if template is empty `Just True` + schoolSheetExamAuthorshipStatementAllowOther ) - -- apreq htmlField - -- (fslI MsgExamAuthorshipStatementCustom) - -- (Nothing) ) ( case schoolSheetExamAuthorshipStatementMode of SchoolAuthorshipStatementModeNone -> fslI MsgExamAuthorshipStatementRequired & addAttr "disabled" "disabled" & setTooltip MsgExamAuthorshipStatementRequiredDisabledOffTip