refactor(exam csv import): remove unnecessary esqueleto exists
This commit is contained in:
parent
f38a6ea2f8
commit
1cc94fdb53
@ -642,13 +642,15 @@ postEUsersR tid ssh csh examn = do
|
|||||||
, (studyFeatures E.^. StudyFeaturesSemester E.==.) . E.val <$> csvEUserSemester
|
, (studyFeatures E.^. StudyFeaturesSemester E.==.) . E.val <$> csvEUserSemester
|
||||||
]
|
]
|
||||||
E.where_ $ studyFeatures E.^. StudyFeaturesUser E.==. E.val uid
|
E.where_ $ studyFeatures E.^. StudyFeaturesUser E.==. E.val uid
|
||||||
let isCourseParticipantFeature = E.exists $ E.from $ \courseParticipant -> do
|
let isActive = studyFeatures E.^. StudyFeaturesValid E.==. E.val True
|
||||||
E.where_ $ courseParticipant E.^. CourseParticipantCourse E.==. E.val examCourse
|
-- isActiveOrPrevious = maybe isActive (\Entity sfid _ -> isActive E.||. (studyFeatures E.^. StudyFeaturesId E.==. E.val sfid)) oldFeatures -- one line, but obfuscates the `or else` structure
|
||||||
E.where_ $ courseParticipant E.^. CourseParticipantUser E.==. E.val uid
|
-- isActiveOrPrevious = isActive E.||. $ maybe (E.val False) (\Entity sfid _ -> (studyFeatures E.^. StudyFeaturesId E.==. E.val sfid)) oldFeatures -- meh
|
||||||
E.where_ $ courseParticipant E.^. CourseParticipantField E.==. E.just (studyFeatures E.^. StudyFeaturesId)
|
isActiveOrPrevious = case oldFeatures of
|
||||||
E.where_ $ (studyFeatures E.^. StudyFeaturesValid E.==. E.val True)
|
Just (Entity _ CourseParticipant{courseParticipantField = Just sfid})
|
||||||
E.||. isCourseParticipantFeature -- either active studyFeature or the one previously associated with the course
|
-> isActive E.||. (E.val sfid E.==. studyFeatures E.^. StudyFeaturesId)
|
||||||
E.orderBy [E.desc isCourseParticipantFeature, E.asc (E.orderByOrd $ studyFeatures E.^. StudyFeaturesType)]
|
_ -> isActive
|
||||||
|
E.where_ isActiveOrPrevious -- either active studyFeature or the one previously associated with this course
|
||||||
|
E.orderBy [E.desc isActiveOrPrevious, E.asc (E.orderByOrd $ studyFeatures E.^. StudyFeaturesType)]
|
||||||
E.limit 2 -- we just need to know whether there is a unique one, none, or more than one
|
E.limit 2 -- we just need to know whether there is a unique one, none, or more than one
|
||||||
return $ studyFeatures E.^. StudyFeaturesId
|
return $ studyFeatures E.^. StudyFeaturesId
|
||||||
case studyFeatures of
|
case studyFeatures of
|
||||||
|
|||||||
Reference in New Issue
Block a user