diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index a9f30a8ce..a02c66843 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -718,6 +718,9 @@ queryUserFeatures ((_user `E.InnerJoin` _participant) `E.LeftOuterJoin` _note `E queryFeaturesDegree :: (a `E.InnerJoin` b `E.InnerJoin` c) -> b queryFeaturesDegree = $(sqlIJproj 3 2) +queryFeaturesField :: (a `E.InnerJoin` b `E.InnerJoin` c) -> c +queryFeaturesField = $(sqlIJproj 3 3) + queryUserSemester :: UserTableExpr -> E.SqlExpr (E.Value (Maybe Int)) -- (E.Value (Maybe Int)) queryUserSemester = aux . queryUserFeatures where aux (features `E.InnerJoin` _degree `E.InnerJoin` _terms) @@ -773,7 +776,7 @@ makeCourseUserTable cid colChoices psValidator = , sortUserEmail queryUser , sortUserMatriclenr queryUser , ("course-user-degree", SortColumn $ queryUserFeatures >>> queryFeaturesDegree >>> \degree -> degree E.?. StudyDegreeShorthand) - , ("course-user-field" , error "TODO") -- TODO + , ("course-user-field" , SortColumn $ queryUserFeatures >>> queryFeaturesField >>> (E.?. StudyTermsShorthand)) , ("course-user-semesternr", SortColumn queryUserSemester) -- $ -- preview (_userTableFeatures . _1 . _Just . _studyFeaturesSemester)) , ("course-user-note" , SortColumn $ queryUserNote >>> \note -> -- sort by last edit date E.sub_select . E.from $ \edit -> do