feat: additional exam functions on show page
This commit is contained in:
parent
e994fafe28
commit
214e8951e4
@ -2046,6 +2046,7 @@ MailTitleChangeUserDisplayEmail displayName@Text: #{displayName} möchte diese E
|
||||
|
||||
ExamOfficeOptOutsChanged: Zuständige Prüfungsbeauftragte erfolgreich angepasst
|
||||
|
||||
ExamCloseHeading: Klausur abschließen
|
||||
BtnCloseExam: Klausur abschließen
|
||||
ExamCloseTip: Wenn eine Klausur abgeschlossen wird, werden Prüfungsbeauftragte, die im System Noten einsehen, benachrichtigt und danach bei Änderungen informiert.
|
||||
ExamCloseReminder: Bitte schließen Sie die Klausur frühstmöglich, sobald die Prüfungsleistungen sich voraussichtlich nicht mehr ändern werden. Z.B. direkt nach der Klausureinsicht.
|
||||
@ -2273,11 +2274,12 @@ ExternalExamExists coursen@CourseName examn@ExamName: Prüfung „#{examn}“ f
|
||||
ExternalExamCreated coursen@CourseName examn@ExamName: Prüfung „#{examn}“ für Kurs „#{coursen}“ erfolgreich angelegt.
|
||||
ExternalExamEdited coursen@CourseName examn@ExamName: Prüfung „#{examn}“ für Kurs „#{coursen}“ erfolgreich bearbeitet.
|
||||
|
||||
ExamAutoOccurrenceHeading: Automatische Raumverteilung
|
||||
ExamAutoOccurrenceMinimizeRooms: Verwendete Räume minimieren
|
||||
ExamAutoOccurrenceMinimizeRoomsTip: Soll, für die Aufteilung, die Liste an Räumen zunächst reduziert werden, sodass nur so wenige Räume verwendet werden, wie nötig (größte zuerst)?
|
||||
ExamAutoOccurrenceOccurrencesChangedInFlight: Raumliste wurde verändert
|
||||
ExamAutoOccurrenceParticipantsAssigned num@Int64: Verteilungstabelle erfolgreich gespeichert und #{num} Teilnehmer zugewiesen
|
||||
TitleExamAutoOccurrence tid@TermId ssh@SchoolId csh@CourseShorthand examn@ExamName: #{tid}-#{ssh}-#{csh} #{examn}: Automatische Raumverteilung
|
||||
TitleExamAutoOccurrence tid@TermId ssh@SchoolId csh@CourseShorthand examn@ExamName: #{tid} - #{ssh} - #{csh} #{examn}: Automatische Raumverteilung
|
||||
BtnExamAutoOccurrenceCalculate: Verteilung berechnen
|
||||
BtnExamAutoOccurrenceAccept: Verteilung akzeptieren
|
||||
ExamRoomMappingSurname: Nachnamen beginnend mit
|
||||
|
||||
@ -5,6 +5,10 @@ module Handler.Exam.Show
|
||||
import Import
|
||||
import Handler.Exam.Register
|
||||
|
||||
import Handler.Exam.AutoOccurrence (examAutoOccurrenceCalculateWidget)
|
||||
|
||||
import Handler.ExamOffice.Exam (examCloseWidget)
|
||||
|
||||
import Data.Map ((!?))
|
||||
import qualified Data.Map as Map
|
||||
|
||||
@ -22,7 +26,7 @@ getEShowR tid ssh csh examn = do
|
||||
cTime <- liftIO getCurrentTime
|
||||
mUid <- maybeAuthId
|
||||
|
||||
(Entity _ Exam{..}, examParts, examVisible, (gradingVisible, gradingShown), (occurrenceAssignmentsVisible, occurrenceAssignmentsShown), results, result, bonus, occurrences, (registered, mayRegister), lecturerInfoShown) <- runDB $ do
|
||||
(Entity eId Exam{..}, examParts, examVisible, (gradingVisible, gradingShown), (occurrenceAssignmentsVisible, occurrenceAssignmentsShown), results, result, bonus, occurrences, (registered, mayRegister), lecturerInfoShown) <- runDB $ do
|
||||
exam@(Entity eId Exam{..}) <- fetchExam tid ssh csh examn
|
||||
|
||||
let examVisible = NTop (Just cTime) >= NTop examVisibleFrom
|
||||
@ -76,6 +80,8 @@ getEShowR tid ssh csh examn = do
|
||||
let occurrenceNamesShown = lecturerInfoShown
|
||||
partNumbersShown = lecturerInfoShown
|
||||
examClosedShown = lecturerInfoShown
|
||||
showCloseWidget = lecturerInfoShown
|
||||
showAutoOccurrenceCalculateWidget = lecturerInfoShown
|
||||
|
||||
sumMaxPoints = sum [ fromRational examPartWeight * mPoints | Entity _ ExamPart{..} <- examParts, let Just mPoints = examPartMaxPoints ]
|
||||
|
||||
@ -147,6 +153,8 @@ getEShowR tid ssh csh examn = do
|
||||
markUnregisteredOccurrences mOcc = occurrenceAssignmentsShown && hasRegistration && isn't _Just (registerWidget mOcc)
|
||||
showOccurrenceMappingColumn = examOccurrenceRuleAutomatic examOccurrenceRule && occurrenceAssignmentsShown && is _Just examExamOccurrenceMapping
|
||||
|
||||
closeWgt <- examCloseWidget (SomeRoute $ CExamR tid ssh csh examn EUsersR) eId
|
||||
|
||||
let heading = prependCourseTitle tid ssh csh $ CI.original examName
|
||||
|
||||
siteLayoutMsg heading $ do
|
||||
|
||||
@ -88,6 +88,19 @@ $maybe desc <- examDescription
|
||||
<dt .deflist__dt>_{MsgExamRegistration}
|
||||
<dd .deflist__dd>^{registerWdgt}
|
||||
|
||||
$if showCloseWidget && is _Nothing examClosed
|
||||
<section>
|
||||
<h2>
|
||||
_{MsgExamCloseHeading}
|
||||
\ ^{isVisible False}
|
||||
^{closeWgt}
|
||||
$if examOccurrenceRuleAutomatic examOccurrenceRule && showAutoOccurrenceCalculateWidget
|
||||
<section>
|
||||
<h2>
|
||||
_{MsgExamAutoOccurrenceHeading}
|
||||
\ ^{isVisible False}
|
||||
^{examAutoOccurrenceCalculateWidget tid ssh csh examn}
|
||||
|
||||
|
||||
$if not (null occurrences)
|
||||
<section>
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
$newline never
|
||||
<section>
|
||||
$if is _Nothing examClosed
|
||||
<h2>_{MsgExamCloseHeading}
|
||||
^{closeWgt}
|
||||
$if examOccurrenceRuleAutomatic examOccurrenceRule
|
||||
<section>
|
||||
<h2>_{MsgExamAutoOccurrenceHeading}
|
||||
^{examAutoOccurrenceCalculateWidget tid ssh csh examn}
|
||||
<section>
|
||||
$if computedValues
|
||||
|
||||
Loading…
Reference in New Issue
Block a user