diff --git a/messages/uniworx/categories/courses/courses/de-de-formal.msg b/messages/uniworx/categories/courses/courses/de-de-formal.msg index 33609c82d..85acabc35 100644 --- a/messages/uniworx/categories/courses/courses/de-de-formal.msg +++ b/messages/uniworx/categories/courses/courses/de-de-formal.msg @@ -118,6 +118,7 @@ CourseParticipantsRegisterNoneGiven: Es wurden keine anzumeldenden Personen ange CourseParticipantsInvited n@Int: #{n} #{pluralDE n "Einladung" "Einladungen"} per E-Mail verschickt CourseParticipantsAddedByAvs n@Int: #{n} AVS-Nutzer erfolgreich angemeldet (TODO) CourseParticipantsAlreadyRegistered n@Int: #{n} #{pluralDE n "Teinehmer:in" "Teilnehmer:innen"} #{pluralDE n "ist" "sind"} bereits angemeldet +CourseParticipantsAlreadyTutorialMember n@Int: #{n} #{pluralDE n "Teinehmer:in" "Teilnehmer:innen"} #{pluralDE n "ist" "sind"} bereits in dieser Übungsgruppe angemeldet CourseParticipantsRegistered n@Int: #{n} #{pluralDE n "Teinehmer:in" "Teilnehmer:innen"} erfolgreich angemeldet CourseApplicationText: Text-Bewerbung CourseApplicationFollowInstructions: Beachten Sie die Anweisungen zur Bewerbung! diff --git a/messages/uniworx/categories/courses/courses/en-eu.msg b/messages/uniworx/categories/courses/courses/en-eu.msg index 40e1ff960..2fbddbd73 100644 --- a/messages/uniworx/categories/courses/courses/en-eu.msg +++ b/messages/uniworx/categories/courses/courses/en-eu.msg @@ -118,6 +118,7 @@ CourseParticipantsRegisterNoneGiven: No persons given to register! CourseParticipantsInvited n: #{n} #{pluralEN n "invitation" "invitations"} sent via email CourseParticipantsAddedByAvs n: #{n} AVS users successfully registered (TODO) CourseParticipantsAlreadyRegistered n: #{n} #{pluralEN n "participant is" "participants are"} already enrolled +CourseParticipantsAlreadyTutorialMember n: #{n} #{pluralEN n "participant is" "participants are"} already registered for this tutorial CourseParticipantsRegistered n: Successfully registered #{n} #{pluralEN n "participant" "participants"} CourseApplicationText: Application text CourseApplicationFollowInstructions: Please follow the instructions for applications! diff --git a/src/Handler/Course/ParticipantInvite.hs b/src/Handler/Course/ParticipantInvite.hs index 9d0222c35..b2c0ece45 100644 --- a/src/Handler/Course/ParticipantInvite.hs +++ b/src/Handler/Course/ParticipantInvite.hs @@ -90,14 +90,17 @@ addParticipantsResultMessages :: (MonadHandler m, HandlerSite m ~ UniWorX) => AddParticipantsResult -> ReaderT (YesodPersistBackend UniWorX) m [Message] addParticipantsResultMessages AddParticipantsResult{..} = execWriterT $ do - aurAlreadyRegistered' <- - fmap sort (lift . mapM (fmap userEmail . getJust) $ Set.toList aurAlreadyRegistered) + aurAlreadyRegistered' <- fmap sort (lift . mapM getJust $ Set.toList aurAlreadyRegistered) + aurAlreadyTutorialMember' <- fmap sort (lift . mapM getJust $ Set.toList aurAlreadyTutorialMember) unless (null aurAlreadyRegistered) $ do let modalTrigger = [whamlet|_{MsgCourseParticipantsAlreadyRegistered (length aurAlreadyRegistered)}|] modalContent = $(widgetFile "messages/courseInvitationAlreadyRegistered") tell . pure <=< messageWidget Info $ msgModal modalTrigger (Right modalContent) - -- TODO: aurAlreadyTutorialMember + unless (null aurAlreadyTutorialMember) $ do + let modalTrigger = [whamlet|_{MsgCourseParticipantsAlreadyTutorialMember (length aurAlreadyTutorialMember)}|] + modalContent = $(widgetFile "messages/courseInvitationAlreadyTutorialMember") + tell . pure <=< messageWidget Info $ msgModal modalTrigger (Right modalContent) unless (null aurRegisterSuccess) $ tell . pure <=< messageI Success . MsgCourseParticipantsRegistered $ length aurRegisterSuccess diff --git a/templates/messages/courseInvitationAlreadyRegistered.hamlet b/templates/messages/courseInvitationAlreadyRegistered.hamlet index d01becfb3..927e4fb90 100644 --- a/templates/messages/courseInvitationAlreadyRegistered.hamlet +++ b/templates/messages/courseInvitationAlreadyRegistered.hamlet @@ -1,12 +1,12 @@ $newline never -$# SPDX-FileCopyrightText: 2022 Gregor Kleen +$# SPDX-FileCopyrightText: 2022 Gregor Kleen ,Sarah Vaupel $# $# SPDX-License-Identifier: AGPL-3.0-or-later

_{MsgCourseParticipantsAlreadyRegistered (length aurAlreadyRegistered)}
    - $forall email <- aurAlreadyRegistered' -
  • - #{email} + $forall registeredUser <- aurAlreadyRegistered' +
  • + ^{userWidget registeredUser} diff --git a/templates/messages/courseInvitationAlreadyTutorialMember.hamlet b/templates/messages/courseInvitationAlreadyTutorialMember.hamlet new file mode 100644 index 000000000..eadddd0e9 --- /dev/null +++ b/templates/messages/courseInvitationAlreadyTutorialMember.hamlet @@ -0,0 +1,12 @@ +$newline never + +$# SPDX-FileCopyrightText: 2022 Sarah Vaupel +$# +$# SPDX-License-Identifier: AGPL-3.0-or-later + +

    + _{MsgCourseParticipantsAlreadyTutorialMember (length aurAlreadyTutorialMember)} +
      + $forall registeredUser <- aurAlreadyTutorialMember' +
    • + ^{userWidget registeredUser}