fix(course-admins): display course admins as admins instead of assistants
This commit is contained in:
parent
08f9bc0697
commit
f1fe4447fb
@ -187,6 +187,7 @@ LecturerFor: Dozent:in
|
||||
LecturersFor: Dozierende
|
||||
AssistantFor: Assistent:in
|
||||
AssistantsFor: Assistent:innen
|
||||
CourseAdminFor: Kursadministration
|
||||
TutorsFor n@Int: #{pluralDE n "Tutor:in" "Tutor:innen"}
|
||||
CorrectorsFor n@Int: #{pluralDE n "Korrektor:in" "Korrektor:innen"}
|
||||
CourseParticipantsHeading: Kursteilnehmer:innen
|
||||
|
||||
@ -187,6 +187,7 @@ LecturerFor: Lecturer
|
||||
LecturersFor: Lecturers
|
||||
AssistantFor: Assistant
|
||||
AssistantsFor: Assistants
|
||||
CourseAdminFor: Course administration
|
||||
TutorsFor n: #{pluralEN n "Tutor" "Tutors"}
|
||||
CorrectorsFor n: #{pluralEN n "Corrector" "Correctors"}
|
||||
CourseParticipantsHeading: Course participants
|
||||
|
||||
@ -30,7 +30,7 @@ getCShowR :: TermId -> SchoolId -> CourseShorthand -> Handler Html
|
||||
getCShowR tid ssh csh = do
|
||||
mbAid <- maybeAuthId
|
||||
now <- liftIO getCurrentTime
|
||||
(cid,course,courseVisible,schoolName,participants,registration,lecturers,assistants,correctors,tutors,mAllocation,mApplicationTemplate,mApplication,news,events,submissionGroup,hasAllocationRegistrationOpen,mayReRegister,(mayViewSheets, mayViewAnySheet), (mayViewMaterials, mayViewAnyMaterial)) <- runDB . maybeT notFound $ do
|
||||
(cid,course,courseVisible,schoolName,participants,registration,lecturers,assistants,administrators,correctors,tutors,mAllocation,mApplicationTemplate,mApplication,news,events,submissionGroup,hasAllocationRegistrationOpen,mayReRegister,(mayViewSheets, mayViewAnySheet), (mayViewMaterials, mayViewAnyMaterial)) <- runDB . maybeT notFound $ do
|
||||
[(E.Entity cid course, E.Value courseVisible, E.Value schoolName, E.Value participants, fmap entityVal -> registration, E.Value hasAllocationRegistrationOpen)]
|
||||
<- lift . E.select . E.from $
|
||||
\((school `E.InnerJoin` course) `E.LeftOuterJoin` allocation `E.LeftOuterJoin` participant) -> do
|
||||
@ -62,10 +62,10 @@ getCShowR tid ssh csh = do
|
||||
E.orderBy [ E.asc $ user E.^. UserSurname, E.asc $ user E.^. UserDisplayName ]
|
||||
return ( lecturer E.^. LecturerType
|
||||
, user E.^. UserDisplayEmail, user E.^. UserDisplayName, user E.^. UserSurname)
|
||||
let partStaff :: (LecturerType, UserEmail, Text, Text) -> Either (UserEmail, Text, Text) (UserEmail, Text, Text)
|
||||
partStaff (CourseLecturer ,name,surn,mail) = Right (name,surn,mail)
|
||||
partStaff (_courseAssistant,name,surn,mail) = Left (name,surn,mail)
|
||||
(assistants,lecturers) = partitionWith partStaff $ map $(unValueN 4) staff
|
||||
let
|
||||
(administrators', regularStaff) = partition ((==) CourseAdministrator . view _1) $ map (\(E.Value lecType, E.Value lecName, E.Value lecSurn, E.Value lecMail) -> (lecType,(lecName,lecSurn,lecMail))) staff
|
||||
(lecturers', assistants') = partition ((==) CourseLecturer . view _1) regularStaff
|
||||
(administrators, lecturers, assistants) = (view _2 <$> administrators', view _2 <$> lecturers', view _2 <$> assistants')
|
||||
correctors <- fmap (map $(unValueN 3)) . lift . E.select $ E.from $ \(sheet `E.InnerJoin` sheetCorrector `E.InnerJoin` user) -> E.distinctOnOrderBy [E.asc $ user E.^. UserSurname, E.asc $ user E.^. UserDisplayName, E.asc $ user E.^. UserEmail ] $ do
|
||||
E.on $ sheetCorrector E.^. SheetCorrectorUser E.==. user E.^. UserId
|
||||
E.on $ sheetCorrector E.^. SheetCorrectorSheet E.==. sheet E.^. SheetId
|
||||
@ -142,7 +142,7 @@ getCShowR tid ssh csh = do
|
||||
return $ material E.^. MaterialName
|
||||
mayViewAnyMaterial <- lift . anyM materials $ \(E.Value mnm) -> hasReadAccessTo $ CMaterialR tid ssh csh mnm MShowR
|
||||
|
||||
return (cid,course,courseVisible,schoolName,participants,registration,lecturers,assistants,correctors,tutors,mAllocation,mApplicationTemplate,mApplication,news,events,submissionGroup,hasAllocationRegistrationOpen,mayReRegister, (mayViewSheets, mayViewAnySheet), (mayViewMaterials, mayViewAnyMaterial))
|
||||
return (cid,course,courseVisible,schoolName,participants,registration,lecturers,assistants,administrators,correctors,tutors,mAllocation,mApplicationTemplate,mApplication,news,events,submissionGroup,hasAllocationRegistrationOpen,mayReRegister, (mayViewSheets, mayViewAnySheet), (mayViewMaterials, mayViewAnyMaterial))
|
||||
|
||||
let mDereg' = maybe id min (allocationOverrideDeregister =<< mAllocation) <$> courseDeregisterUntil course
|
||||
mDereg <- traverse (formatTime SelFormatDateTime) mDereg'
|
||||
|
||||
@ -93,6 +93,13 @@ $# #{summary}
|
||||
<ul .list--inline .list--comma-separated>
|
||||
$forall assi <- assistants
|
||||
<li>^{nameEmailWidget' assi}
|
||||
$with numadmins <- length administrators
|
||||
$if numadmins /= 0
|
||||
<dt .deflist__dt>_{MsgCourseAdminFor}
|
||||
<dd .deflist__dd>
|
||||
<ul .list--inline .list--comma-separated>
|
||||
$forall admin <- administrators
|
||||
<li>^{nameEmailWidget' admin}
|
||||
|
||||
$with numtutor <- length tutors
|
||||
$if numtutor /= 0
|
||||
|
||||
Reference in New Issue
Block a user