_{MsgSubmission} #{cid} $maybe Entity _ User{userDisplayName, userSurname, userEmail} <- corrector
_{MsgRatingBy} ^{nameEmailWidget userEmail userDisplayName userSurname} $maybe time <- submissionRatingTime
_{MsgRatingTime} ^{formatTimeW SelFormatDateTime time} $maybe points <- submissionRatingPoints $maybe grading <- preview _grading sheetType $case grading $of Points{..}
^{sheetTypeDesc tr} _{MsgAchievedOf points maxPoints} $of PassPoints{..}
^{sheetTypeDesc tr} $if fromMaybe False (gradingPassed grading points) _{MsgPassed} $else _{MsgNotPassed}
_{MsgAchievedPassPoints} _{MsgPassAchievedOf points passingPoints maxPoints} $of PassBinary
^{sheetTypeDesc tr} $if fromMaybe False (gradingPassed grading points) _{MsgPassed} $else _{MsgNotPassed} $of PassAlways $if filesCorrected
_{MsgRatingFiles} _{MsgRatingUpdatedFiles} $maybe comment <- ratingComment
_{MsgRatingComment} #{comment}