chore(lms): add stubs for lms userlist and result uploads

This commit is contained in:
Steffen Jost 2022-02-10 15:40:08 +01:00
parent 31154b9430
commit 37411b7106
7 changed files with 44 additions and 14 deletions

View File

@ -123,4 +123,6 @@ MenuCourseEventNew: Neuer Kurstermin
MenuCourseEventEdit: Kurstermin bearbeiten
MenuLanguage: Sprache
MenuLms: Schnittstelle E-Lernen
MenuLms: Schnittstelle E-Lernen
MenuLmsUserlist: Melden E-Lernen Benutzer
MenuLmsResult: Melden Ergebnisse E-Lernen

View File

@ -124,4 +124,6 @@ MenuCourseEventNew: New course occurrence
MenuCourseEventEdit: Edit course occurrence
MenuLanguage: Language
MenuLms: Interface E-Learning
MenuLms: Interface E-Learning
MenuLmsUserlist: Upload E-Learning Users
MenuLmsResult: Upload E-Learning Results

4
routes
View File

@ -255,4 +255,6 @@
!/*WellKnownFileName WellKnownR GET !free
-- OSIS CSV Export Demo
/lms LmsR GET
/lms LmsR GET
/lms/userlist LmsUserlistR GET
/lms/result LmsResultR GET

View File

@ -134,6 +134,8 @@ breadcrumb InstanceR = i18nCrumb MsgMenuInstance Nothing
breadcrumb StatusR = i18nCrumb MsgMenuHealth Nothing -- never displayed
breadcrumb LmsR = i18nCrumb MsgMenuLms Nothing
breadcrumb LmsUserlistR = i18nCrumb MsgMenuLmsUserlist $ Just LmsR
breadcrumb LmsResultR = i18nCrumb MsgMenuLmsResult $ Just LmsR
breadcrumb ProfileR = i18nCrumb MsgBreadcrumbProfile Nothing
breadcrumb SetDisplayEmailR = i18nCrumb MsgUserDisplayEmail $ Just ProfileR

View File

@ -1,3 +1,8 @@
{-# OPTIONS -Wno-unused-top-binds #-} -- TODO: remove me, for debugging only
{-# OPTIONS -Wno-unused-imports #-} -- TODO: remove me, for debugging only
{-# OPTIONS -Wno-redundant-constraints #-} -- TODO: remove me, for debugging only
module Handler.LMS
( getLmsR
)
@ -15,7 +20,7 @@ import Database.Esqueleto.Utils.TH
type LmsUserIdent = Text -- Unique random use-once identifier for each individual e-learning course; i.e. users may have several active LmsUserIdents at once!
data LmsUserTableCsv = LmsUserTableCsv -- Export only
data LmsUserTableCsv = LmsUserTableCsv -- for csv export only
{ csvLmsUserIdent :: LmsUserIdent
, csvLmsUserPin :: Text
, csvLmsUserReset, cvsLmsUserRemove, cvsLmsUserIntern :: Int
@ -54,18 +59,17 @@ csvLmsResultFilename = makeLmsFilename "ergebnisse"
-- | Create filenames as specified by the LMS interface agreed with Know How AG
makeLmsFilename :: MonadHandler m => Text -> m Text
makeLmsFilename ftag = do
ymth <- get_ymth
ymth <- getYMTH
return $ "fradrive_f_" <> ftag <> "_" <> ymth <> ".csv"
-- | Return current datetime in YYYYMMDDHH format
get_ymth :: MonadHandler m => m Text
get_ymth = do
now <- liftIO $ getCurrentTime
formatTime' "%Y%m%d%H" now
getYMTH :: MonadHandler m => m Text
getYMTH = formatTime' "%Y%m%d%H" =<< liftIO getCurrentTime
getLmsR :: Handler Html
getLmsR = do
getLmsR = do
{-
dbtCsvName <- csvLmsUserFilename
let dbtIdent = "lmsUsers" :: Text
dbtStyle = def { dbsFilterLayout = defaultDBSFilterLayout }
@ -89,7 +93,7 @@ getLmsR = do
dbtSorting = mempty
dbtFilter = mempty
dbtFilterUI = mempty
dbtParams = def
dbtParams = def
-- TODO: wip, for reference, see e.g. Handler.Course.Users or Handler.Exam.
dbtCsvEncode = do
return $ DBTCsvEncode
@ -121,7 +125,23 @@ getLmsR = do
-- }
psValidator = def
lmsTable = dbTable psValidator DBTable{..}
heading = [whamlet|LMS|]
siteLayout heading $ do
setTitleI heading
-}
let lmsTable = [whamlet|TODO|] -- TODO: remove me, just for debugging
siteLayoutMsg MsgMenuLms $ do
setTitleI MsgMenuLms
$(widgetFile "lms")
getLmsUserlistR :: Handler Html
getLmsUserlistR = do
siteLayoutMsg MsgMenuLmsUserlist $ do
setTitleI MsgMenuLmsUserlist
$(widgetFile "lms-userlist")
getLmsResultR :: Handler Html
getLmsResultR = do
siteLayoutMsg MsgMenuLmsResult $ do
setTitleI MsgMenuLmsResult
$(widgetFile "lms-result")

View File

@ -0,0 +1 @@
^{lmsTable}

View File

@ -0,0 +1 @@
^{lmsTable}