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
|
||||
-- !/*{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")
|
||||
Loading…
Reference in New Issue
Block a user