fix: fix tutorial registration group applying globally
This commit is contained in:
parent
d27eb5c59b
commit
d2ba173776
@ -1197,10 +1197,11 @@ tagAccessPredicate AuthRegisterGroup = APDB $ \mAuthId route _ -> case route of
|
|||||||
(Nothing, _) -> return Authorized
|
(Nothing, _) -> return Authorized
|
||||||
(_, Nothing) -> return AuthenticationRequired
|
(_, Nothing) -> return AuthenticationRequired
|
||||||
(Just rGroup, Just uid) -> do
|
(Just rGroup, Just uid) -> do
|
||||||
[E.Value hasOther] <- $cachedHereBinary (uid, rGroup) . lift . E.select . return . E.exists . E.from $ \(tutorial `E.InnerJoin` participant) -> do
|
[E.Value hasOther] <- $cachedHereBinary (uid, rGroup) . lift . E.selectExists . E.from $ \(tutorial `E.InnerJoin` participant) -> do
|
||||||
E.on $ tutorial E.^. TutorialId E.==. participant E.^. TutorialParticipantTutorial
|
E.on $ tutorial E.^. TutorialId E.==. participant E.^. TutorialParticipantTutorial
|
||||||
E.where_ $ participant E.^. TutorialParticipantUser E.==. E.val uid
|
E.&&. tutorial E.^. TutorialCourse E.==. E.val tutorialCourse
|
||||||
E.&&. tutorial E.^. TutorialRegGroup E.==. E.just (E.val rGroup)
|
E.&&. tutorial E.^. TutorialRegGroup E.==. E.just (E.val rGroup)
|
||||||
|
E.&&. participant E.^. TutorialParticipantUser E.==. E.val uid
|
||||||
guard $ not hasOther
|
guard $ not hasOther
|
||||||
return Authorized
|
return Authorized
|
||||||
r -> $unsupportedAuthPredicate AuthRegisterGroup r
|
r -> $unsupportedAuthPredicate AuthRegisterGroup r
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user