chore(eo-exams): fix eo-label query

This commit is contained in:
Sarah Vaupel 2021-12-08 13:12:43 +01:00
parent 3ae9d5274b
commit 80634913c3
2 changed files with 20 additions and 19 deletions

View File

@ -34,13 +34,13 @@ instance Default ExamsTableFilterProj where
makeLenses_ ''ExamsTableFilterProj
type ExamsTableExpr = ( E.SqlExpr (Maybe (Entity Exam ))
`E.InnerJoin` E.SqlExpr (Maybe (Entity ExamOfficeExamLabel))
`E.InnerJoin` E.SqlExpr (Maybe (Entity Course ))
`E.InnerJoin` E.SqlExpr (Maybe (Entity School ))
type ExamsTableExpr = ( ( E.SqlExpr (Maybe (Entity Exam ))
`E.InnerJoin` E.SqlExpr (Maybe (Entity Course ))
`E.InnerJoin` E.SqlExpr (Maybe (Entity School ))
) `E.LeftOuterJoin` E.SqlExpr (Maybe (Entity ExamOfficeExamLabel))
)
`E.FullOuterJoin` ( E.SqlExpr (Maybe (Entity ExternalExam ))
`E.InnerJoin` E.SqlExpr (Maybe (Entity ExamOfficeExternalExamLabel))
`E.FullOuterJoin` ( E.SqlExpr (Maybe (Entity ExternalExam ))
`E.LeftOuterJoin` E.SqlExpr (Maybe (Entity ExamOfficeExternalExamLabel))
)
type ExamsTableData = DBRow ( Either
@ -57,22 +57,22 @@ type ExamsTableData = DBRow ( Either
)
queryExam :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity Exam)))
queryExam = to $ $(E.sqlIJproj 4 1) . $(E.sqlFOJproj 2 1)
queryExamLabel :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity ExamOfficeExamLabel)))
queryExamLabel = to $ $(E.sqlIJproj 4 2) . $(E.sqlFOJproj 2 1)
queryExam = to $ $(E.sqlIJproj 3 1) . $(E.sqlLOJproj 2 1) . $(E.sqlFOJproj 2 1)
queryCourse :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity Course)))
queryCourse = to $ $(E.sqlIJproj 4 3) . $(E.sqlFOJproj 2 1)
queryCourse = to $ $(E.sqlIJproj 3 2) . $(E.sqlLOJproj 2 1) . $(E.sqlFOJproj 2 1)
querySchool :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity School)))
querySchool = to $ $(E.sqlIJproj 4 4) . $(E.sqlFOJproj 2 1)
querySchool = to $ $(E.sqlIJproj 3 3) . $(E.sqlLOJproj 2 1) . $(E.sqlFOJproj 2 1)
queryExamLabel :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity ExamOfficeExamLabel)))
queryExamLabel = to $ $(E.sqlLOJproj 2 2) . $(E.sqlFOJproj 2 1)
queryExternalExam :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity ExternalExam)))
queryExternalExam = to $ $(E.sqlIJproj 2 1) . $(E.sqlFOJproj 2 2)
queryExternalExam = to $ $(E.sqlLOJproj 2 1) . $(E.sqlFOJproj 2 2)
queryExternalExamLabel :: Getter ExamsTableExpr (E.SqlExpr (Maybe (Entity ExamOfficeExternalExamLabel)))
queryExternalExamLabel = to $ $(E.sqlIJproj 2 2) . $(E.sqlFOJproj 2 2)
queryExternalExamLabel = to $ $(E.sqlLOJproj 2 2) . $(E.sqlFOJproj 2 2)
resultExam :: Traversal' ExamsTableData (Entity Exam)
resultExam = _dbrOutput . _1 . _Right . _1
@ -160,11 +160,11 @@ getEOExamsR = do
dbtProj :: _ ExamsTableData
dbtProj = (views _dbtProjRow . set _dbrOutput) =<< do -- dbtProjSimple . runReaderT $ do
exam <- view $ _dbtProjRow . _dbrOutput . _1
mExamLabel <- view $ _dbtProjRow . _dbrOutput . _2
course <- view $ _dbtProjRow . _dbrOutput . _3
school <- view $ _dbtProjRow . _dbrOutput . _4
externalExam <- view $ _dbtProjRow . _dbrOutput . _5
exam <- view $ _dbtProjRow . _dbrOutput . _1
mExamLabel <- view $ _dbtProjRow . _dbrOutput . _2
course <- view $ _dbtProjRow . _dbrOutput . _3
school <- view $ _dbtProjRow . _dbrOutput . _4
externalExam <- view $ _dbtProjRow . _dbrOutput . _5
mExternalExamLabel <- view $ _dbtProjRow . _dbrOutput . _6
forMM_ (view $ _dbtProjFilter . _etProjFilterMayAccess) $ \b -> if

View File

@ -527,6 +527,7 @@ postProfileR = do
}
[ UserSchoolIsOptOut =. True
]
-- TODO: delete labels
forM_ (Map.toList $ stgExamOfficeSettings & eosettingsLabels) $ \(eoLabelIdent, (examOfficeLabelName, examOfficeLabelStatus, examOfficeLabelPriority)) -> case eoLabelIdent of
Left _ -> void $ upsert ExamOfficeLabel{ examOfficeLabelUser=uid, .. }
[ ExamOfficeLabelName =. examOfficeLabelName