chore: add LMS Handler stub
This commit is contained in:
parent
1ab4cbdec4
commit
303e7096d3
5
routes
5
routes
@ -252,4 +252,7 @@
|
|||||||
!/#UUID CryptoUUIDDispatchR GET !free -- just redirect
|
!/#UUID CryptoUUIDDispatchR GET !free -- just redirect
|
||||||
-- !/*{CI FilePath} CryptoFileNameDispatchR GET !free -- Disabled until preliminary check for valid cID exists
|
-- !/*{CI FilePath} CryptoFileNameDispatchR GET !free -- Disabled until preliminary check for valid cID exists
|
||||||
|
|
||||||
!/*WellKnownFileName WellKnownR GET !free
|
!/*WellKnownFileName WellKnownR GET !free
|
||||||
|
|
||||||
|
-- OSIS CSV Export Demo
|
||||||
|
/lms LmsR GET
|
||||||
65
src/Handler/LMS.hs
Normal file
65
src/Handler/LMS.hs
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
module Handler.LMS
|
||||||
|
( getLmsR
|
||||||
|
)
|
||||||
|
where
|
||||||
|
|
||||||
|
import Import
|
||||||
|
|
||||||
|
import Handler.Utils
|
||||||
|
|
||||||
|
getLmsR :: Handler Html
|
||||||
|
getLmsR = do
|
||||||
|
let dbtIdent = "lmsUsers" :: Text
|
||||||
|
dbtStyle = def { dbsFilterLayout = defaultDBSFilterLayout }
|
||||||
|
dbtSQLQuery q = error "TODO"
|
||||||
|
dbtRowKey = error "TODO"
|
||||||
|
dbtProj = dbtProjSimple $ \(userIdent, userPin, doUserPinReset, doDeleteUser, isUserIntern) -> do
|
||||||
|
return ("abcdefgh", "12345678", 0, 0, 0)
|
||||||
|
dbtColonnade = colChoices
|
||||||
|
dbtSorting = mempty
|
||||||
|
dbtFilter = mempty
|
||||||
|
dbtFilterUI = mempty
|
||||||
|
dbtParams = def
|
||||||
|
dbtCsvName = "lms.csv"
|
||||||
|
-- TODO: wip, for reference, see e.g. Handler.Course.Users or Handler.Exam.
|
||||||
|
dbtCsvEncode = do
|
||||||
|
return $ DBTCsvEncode
|
||||||
|
{ dbtCsvExportForm = def
|
||||||
|
, dbtCsvDoEncode = \UserCsvExportData{} -> C.mapM $ \(_, row) -> flip runReaderT row $
|
||||||
|
LmsTableCsv -- <- for each desired column one view
|
||||||
|
<$> view (hasUser . _userSurname)
|
||||||
|
<*> view (hasUser . _userFirstName)
|
||||||
|
<*> view (hasUser . _userDisplayName)
|
||||||
|
<*> view (hasUser . _userSex)
|
||||||
|
<*> view (hasUser . _userMatrikelnummer)
|
||||||
|
<*> view (hasUser . _userEmail)
|
||||||
|
<*> view _userStudyFeatures
|
||||||
|
<*> preview (_userSubmissionGroup . _entityVal . _submissionGroupName)
|
||||||
|
<*> view _userTableRegistration
|
||||||
|
<*> userNote
|
||||||
|
<*> (over (_2.traverse._Just) (tutorialName . entityVal) . over (_1.traverse) (tutorialName . entityVal) <$> view _userTutorials)
|
||||||
|
-- <*> (over (_2.traverse._Just) (examName . entityVal) . over (_1.traverse) (examName . entityVal) <$> view _userExams)
|
||||||
|
<*> (over traverse (examName . entityVal) <$> view _userExams)
|
||||||
|
<*> views _userSheets (set (mapped . _1 . mapped) ())
|
||||||
|
, dbtCsvName, dbtCsvSheetName
|
||||||
|
, dbtCsvNoExportData = Nothing
|
||||||
|
, dbtCsvHeader = return . Vector.filter csvColumns' . userTableCsvHeader showSex tutorials sheets . fromMaybe def
|
||||||
|
, dbtCsvExampleData = Nothing
|
||||||
|
}
|
||||||
|
-- TODO wip, for reference see e.g. Handler.Exam.Users
|
||||||
|
dbtCsvDecode = Just DBTCsvDecode
|
||||||
|
{ dbtCsvRowKey =
|
||||||
|
, dbtCsvComputeActions =
|
||||||
|
, dbtCsvClassifyAction =
|
||||||
|
, dbtCsvCoarsenActionClass =
|
||||||
|
, dbtCsvValidateActions =
|
||||||
|
, dbtCsvExecuteActions = -- <- actions based on sent data here
|
||||||
|
, dbtCsvRenderKey =
|
||||||
|
, dbtCsvRenderActionClass =
|
||||||
|
, dbtCsvRenderException =
|
||||||
|
}
|
||||||
|
dbTable psValidator DBTable{..}
|
||||||
|
let heading = [whamlet|LMS|]
|
||||||
|
siteLayout heading $ do
|
||||||
|
setTitleI heading
|
||||||
|
$(widgetFile "lms")
|
||||||
Reference in New Issue
Block a user