From e62780e6f390aa065434bede6e1a825266221244 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 10 May 2019 14:50:39 +0200 Subject: [PATCH] Address #360 --- messages/uniworx/de.msg | 1 + src/Foundation.hs | 8 ++++++++ src/Handler/Tutorial.hs | 2 ++ 3 files changed, 11 insertions(+) diff --git a/messages/uniworx/de.msg b/messages/uniworx/de.msg index f6de18a46..39bd3310d 100644 --- a/messages/uniworx/de.msg +++ b/messages/uniworx/de.msg @@ -790,6 +790,7 @@ MenuCorrectionsGrade: Abgaben bewerten MenuAuthPreds: Authorisierungseinstellungen MenuTutorialDelete: Tutorium löschen MenuTutorialEdit: Tutorium editieren +MenuTutorialComm: Mitteilung an Teilnehmer AuthPredsInfo: Um eigene Veranstaltungen aus Sicht der Teilnehmer anzusehen, können Veranstalter und Korrektoren hier die Prüfung ihrer erweiterten Berechtigungen temporär deaktivieren. Abgewählte Prädikate schlagen immer fehl. Abgewählte Prädikate werden also nicht geprüft um Zugriffe zu gewähren, welche andernfalls nicht erlaubt wären. Diese Einstellungen gelten nur temporär bis Ihre Sitzung abgelaufen ist, d.h. bis ihr Browser-Cookie abgelaufen ist. Durch Abwahl von Prädikaten kann man sich höchstens temporär aussperren. AuthPredsActive: Aktive Authorisierungsprädikate diff --git a/src/Foundation.hs b/src/Foundation.hs index e6202d49a..f9f837606 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -2029,6 +2029,14 @@ pageActions (CTutorialR tid ssh csh tutn TEditR) = ] pageActions (CTutorialR tid ssh csh tutn TUsersR) = [ MenuItem + { menuItemType = PageActionPrime + , menuItemLabel = MsgMenuTutorialComm + , menuItemIcon = Nothing + , menuItemRoute = SomeRoute $ CTutorialR tid ssh csh tutn TCommR + , menuItemModal = False + , menuItemAccessCallback' = return True + } + , MenuItem { menuItemType = PageActionPrime , menuItemLabel = MsgMenuTutorialEdit , menuItemIcon = Nothing diff --git a/src/Handler/Tutorial.hs b/src/Handler/Tutorial.hs index b3b12fad3..e68dd5194 100644 --- a/src/Handler/Tutorial.hs +++ b/src/Handler/Tutorial.hs @@ -184,6 +184,7 @@ postTCommR tid ssh csh tutn = do E.where_ $ E.exists $ E.from $ \(sheet `E.InnerJoin` corrector) -> do E.on $ sheet E.^. SheetId E.==. corrector E.^. SheetCorrectorSheet E.where_ $ sheet E.^. SheetCourse E.==. E.val cid + E.&&. corrector E.^. SheetCorrectorUser E.==. user E.^. UserId return user ) , ( RGCourseTutors @@ -191,6 +192,7 @@ postTCommR tid ssh csh tutn = do E.where_ $ E.exists $ E.from $ \(tutorial `E.InnerJoin` tutor) -> do E.on $ tutorial E.^. TutorialId E.==. tutor E.^. TutorTutorial E.where_ $ tutorial E.^. TutorialCourse E.==. E.val cid + E.&&. tutor E.^. TutorUser E.==. user E.^. UserId return user ) ]