chore(jobs): stub for queued job interface towards #95
This commit is contained in:
parent
1ce8f75c2d
commit
7ed891a120
@ -66,6 +66,7 @@ BreadcrumbFaq !ident-ok: FAQ
|
||||
BreadcrumbSheetPersonalisedFiles: Personalisierte Dateien herunterladen
|
||||
BreadcrumbCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen
|
||||
BreadcrumbAdminCrontab !ident-ok: Crontab
|
||||
BreadcrumbAdminJobs !ident-ok: Jobs
|
||||
BreadcrumbError: Fehler
|
||||
BreadcrumbUpload !ident-ok: Upload
|
||||
BreadcrumbUserAdd: Benutzer:in anlegen
|
||||
|
||||
@ -66,6 +66,7 @@ BreadcrumbFaq: FAQ
|
||||
BreadcrumbSheetPersonalisedFiles: Download personalised sheet files
|
||||
BreadcrumbCourseSheetPersonalisedFiles: Download template for personalised sheet files
|
||||
BreadcrumbAdminCrontab: Crontab
|
||||
BreadcrumbAdminJobs !ident-ok: Jobs
|
||||
BreadcrumbError: Error
|
||||
BreadcrumbUpload: Upload
|
||||
BreadcrumbUserAdd: Add user
|
||||
|
||||
@ -107,6 +107,7 @@ MenuFaq !ident-ok: FAQ
|
||||
MenuSheetPersonalisedFiles: Personalisierte Dateien herunterladen
|
||||
MenuCourseSheetPersonalisedFiles: Vorlage für personalisierte Übungsblatt-Dateien herunterladen
|
||||
MenuAdminCrontab !ident-ok: Crontab
|
||||
MenuAdminJobs: Job Warteschlange
|
||||
MenuGlossary: Begriffsverzeichnis
|
||||
MenuVersion: Versionsgeschichte
|
||||
MenuCourseNewsNew: Neue Kursartnachricht
|
||||
|
||||
@ -108,6 +108,7 @@ MenuFaq: FAQ
|
||||
MenuSheetPersonalisedFiles: Download personalised sheet files
|
||||
MenuCourseSheetPersonalisedFiles: Download template for personalised sheet files
|
||||
MenuAdminCrontab: Crontab
|
||||
MenuAdminJobs: Job queue
|
||||
MenuGlossary: Glossary
|
||||
MenuVersion: Version history
|
||||
MenuCourseNewsNew: Add course type news
|
||||
|
||||
@ -78,3 +78,5 @@ TableCompany: Firma
|
||||
TableCompanies: Firmen
|
||||
TableCompanyNos: Firmennummern
|
||||
TableSupervisor: Ansprechpartner
|
||||
TableCreationTime: Erstellungszeit
|
||||
TableJobContent !ident-ok: Job
|
||||
|
||||
@ -78,3 +78,5 @@ TableCompany: Company
|
||||
TableCompanies: Companies
|
||||
TableCompanyNos: Company numbers
|
||||
TableSupervisor: Supervisor
|
||||
TableCreationTime: Creation
|
||||
TableJobContent: Job
|
||||
1
routes
1
routes
@ -66,6 +66,7 @@
|
||||
/admin/errMsg AdminErrMsgR GET POST
|
||||
/admin/tokens AdminTokensR GET POST
|
||||
/admin/crontab AdminCrontabR GET
|
||||
/admin/crontab/jobs AdminJobsR GET POST
|
||||
/admin/avs AdminAvsR GET POST
|
||||
/admin/avs/#CryptoUUIDUser AdminAvsUserR GET
|
||||
/admin/ldap AdminLdapR GET POST
|
||||
|
||||
@ -112,6 +112,7 @@ breadcrumb AdminTestPdfR = i18nCrumb MsgMenuAdminTest $ Just
|
||||
breadcrumb AdminErrMsgR = i18nCrumb MsgMenuAdminErrMsg $ Just AdminR
|
||||
breadcrumb AdminTokensR = i18nCrumb MsgMenuAdminTokens $ Just AdminR
|
||||
breadcrumb AdminCrontabR = i18nCrumb MsgBreadcrumbAdminCrontab $ Just AdminR
|
||||
breadcrumb AdminJobsR = i18nCrumb MsgBreadcrumbAdminJobs $ Just AdminCrontabR
|
||||
breadcrumb AdminAvsR = i18nCrumb MsgMenuAvs $ Just AdminR
|
||||
breadcrumb AdminAvsUserR{} = i18nCrumb MsgAvsPersonInfo $ Just AdminAvsR
|
||||
breadcrumb AdminLdapR = i18nCrumb MsgMenuLdap $ Just AdminR
|
||||
@ -2396,6 +2397,13 @@ pageActions PrintCenterR = do
|
||||
dayLinks <- mapM toDayAck $ Map.toAscList dayMap
|
||||
return $ manualSend : take 9 dayLinks
|
||||
|
||||
pageActions AdminCrontabR = return
|
||||
[ NavPageActionPrimary
|
||||
{ navLink = defNavLink MsgMenuAdminJobs AdminJobsR
|
||||
, navChildren = []
|
||||
}
|
||||
]
|
||||
|
||||
pageActions _ = return []
|
||||
|
||||
submissionList :: ( MonadIO m
|
||||
|
||||
@ -6,23 +6,31 @@
|
||||
|
||||
module Handler.Admin.Crontab
|
||||
( getAdminCrontabR
|
||||
, getAdminJobsR
|
||||
, postAdminJobsR
|
||||
) where
|
||||
|
||||
import Import
|
||||
import Jobs
|
||||
import Handler.Utils.DateTime
|
||||
import Handler.Utils
|
||||
|
||||
import qualified Data.Aeson.Encode.Pretty as Pretty
|
||||
import Data.Aeson.Encode.Pretty (encodePrettyToTextBuilder')
|
||||
|
||||
-- import qualified Data.CaseInsensitive as CI
|
||||
import qualified Data.Text as Text
|
||||
import qualified Data.Text.Lazy.Builder as Text.Builder
|
||||
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.HashSet as HashSet
|
||||
import qualified Data.HashMap.Strict as HashMap
|
||||
|
||||
import qualified Data.UUID as UUID
|
||||
|
||||
import qualified Database.Esqueleto.Legacy as E
|
||||
-- import qualified Database.Esqueleto.Utils as E
|
||||
-- import Database.Esqueleto.Utils.TH
|
||||
|
||||
|
||||
deriveJSON defaultOptions
|
||||
{ constructorTagModifier = camelToPathPiece' 1
|
||||
@ -96,3 +104,43 @@ getAdminCrontabR = do
|
||||
, Text.splitOn "-" t
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
getAdminJobsR, postAdminJobsR :: Handler Html
|
||||
getAdminJobsR = postAdminJobsR
|
||||
postAdminJobsR = do
|
||||
let
|
||||
jobsDBTable = DBTable{..}
|
||||
where
|
||||
resultJob :: Lens' (DBRow (Entity QueuedJob)) (Entity QueuedJob)
|
||||
resultJob = _dbrOutput
|
||||
|
||||
dbtSQLQuery = return
|
||||
dbtRowKey = (E.^. QueuedJobId)
|
||||
dbtProj = dbtProjId
|
||||
dbtColonnade = dbColonnade $ mconcat -- remove call to dbColonnade if table actions are added
|
||||
[ sortable (Just "creation-time") (i18nCell MsgTableCreationTime) $ \(view $ resultJob . _entityVal -> QueuedJob{..}) -> dateTimeCell queuedJobCreationTime
|
||||
, sortable (Just "content") (i18nCell MsgTableCreationTime) $ \(view $ resultJob . _entityVal -> QueuedJob{..}) -> stringCell $ show queuedJobContent
|
||||
]
|
||||
dbtSorting = Map.fromList
|
||||
[ ("creation-time", SortColumnNullsInv (E.^. QueuedJobCreationTime))
|
||||
, ("content" , SortColumn (E.^. QueuedJobContent))
|
||||
]
|
||||
dbtFilter = Map.empty
|
||||
dbtFilterUI = const mempty
|
||||
dbtStyle = def
|
||||
dbtParams = def
|
||||
dbtIdent :: Text
|
||||
dbtIdent = "queued-jobs"
|
||||
dbtCsvEncode = noCsvEncode
|
||||
dbtCsvDecode = Nothing
|
||||
dbtExtraReps = []
|
||||
jobsDBTableValidator = def
|
||||
& defaultSorting [SortDescBy "creation-time"]
|
||||
((), jobsTable) <- runDB $ dbTable jobsDBTableValidator jobsDBTable
|
||||
|
||||
siteLayoutMsg MsgMenuAdminJobs $ do
|
||||
setTitleI MsgMenuAdminJobs
|
||||
[whamlet|
|
||||
^{jobsTable}
|
||||
|]
|
||||
Loading…
Reference in New Issue
Block a user