chore(print): add route for print overview and reorganise existing apc route

This commit is contained in:
Steffen Jost 2022-07-07 13:09:11 +02:00
parent 226f718f8a
commit a6782d8637
11 changed files with 71 additions and 22 deletions

View File

@ -1,3 +1,5 @@
AvsPersonId: AVS Personen Id
AvsPersonNo: AVS Personennummer
AvsCardNo: Ausweiskartennummer
AvsFirstName: Vorname
AvsLastName: Nachname

View File

@ -1,7 +1,9 @@
AvsCardNo: Card number
AvsPersonId: AVS Person Id
AvsPersonNo: AVS Person Number
AvsCardNo: Card number
AvsFirstName: First name
AvsLastName: Last name
AvsInternalPersonalNo: Personnel number (Fraport AG only)
AvsVersionNo: Version number
AvsVersionNo: Version number
AvsQueryEmpty: At least one query field must be filled!
AvsQueryStatusInvalid t: Numeric IDs only, comma seperated! #{show t}

View File

@ -134,6 +134,7 @@ MenuLmsDirect: Direkter Upload
MenuAvs: Schnittstelle AVS
MenuApc: Schnittstelle Druckerei
MenuPrintSend: Manueller Briefversand
MenuApiDocs: API-Dokumentation (Englisch)
MenuSwagger !ident-ok: OpenAPI 2.0 (Swagger)

View File

@ -135,6 +135,7 @@ MenuLmsDirect: Direct Upload
MenuAvs: AVS Interface
MenuApc: Print Center Interface
MenuPrintSend: Send Letter
MenuApiDocs: API documentation
MenuSwagger: OpenAPI 2.0 (Swagger)

4
routes
View File

@ -60,7 +60,9 @@
/admin/tokens AdminTokensR GET POST
/admin/crontab AdminCrontabR GET
/admin/avs AdminAvsR GET POST
/admin/apc AdminApcR GET POST
/print PrintCenterR GET POST
/print/send PrintSendR GET POST
/health HealthR GET !free
/instance InstanceR GET !free

View File

@ -151,6 +151,7 @@ import Handler.Error
import Handler.Upload
import Handler.Qualification
import Handler.LMS
import Handler.PrintCenter
import Handler.ApiDocs
import Handler.Swagger

View File

@ -105,7 +105,9 @@ breadcrumb AdminErrMsgR = i18nCrumb MsgMenuAdminErrMsg $ Just AdminR
breadcrumb AdminTokensR = i18nCrumb MsgMenuAdminTokens $ Just AdminR
breadcrumb AdminCrontabR = i18nCrumb MsgBreadcrumbAdminCrontab $ Just AdminR
breadcrumb AdminAvsR = i18nCrumb MsgMenuAvs $ Just AdminR
breadcrumb AdminApcR = i18nCrumb MsgMenuApc $ Just AdminR
breadcrumb PrintCenterR = i18nCrumb MsgMenuApc Nothing
breadcrumb PrintSendR = i18nCrumb MsgMenuPrintSend $ Just PrintCenterR
breadcrumb SchoolListR = i18nCrumb MsgMenuSchoolList $ Just AdminR
breadcrumb (SchoolR ssh sRoute) = case sRoute of
@ -735,6 +737,18 @@ defaultLinks = fmap catMaybes . mapM runMaybeT $ -- Define the menu items of the
, navForceActive = False
}
}
, return NavHeader
{ navHeaderRole = NavHeaderPrimary
, navIcon = IconPrintCenter
, navLink = NavLink
{ navLabel = MsgMenuApc
, navRoute = PrintCenterR
, navAccess' = NavAccessTrue
, navType = NavTypeLink { navModal = False }
, navQuick' = mempty
, navForceActive = False
}
}
, return NavHeaderContainer
{ navHeaderRole = NavHeaderPrimary
, navLabel = SomeMessage MsgMenuAdminHeading
@ -804,15 +818,6 @@ defaultLinks = fmap catMaybes . mapM runMaybeT $ -- Define the menu items of the
, navQuick' = mempty
, navForceActive = False
}
, NavLink
{ navLabel = MsgMenuApc
, navRoute = AdminApcR
, navAccess' = NavAccessTrue
, navType = NavTypeLink { navModal = False }
, navQuick' = mempty
, navForceActive = False
}
]
}
, return NavHeaderContainer
@ -2492,6 +2497,19 @@ pageActions ApiDocsR = return
, navChildren = []
}
]
pageActions PrintCenterR = return
[ NavPageActionPrimary
{ navLink = NavLink
{ navLabel = MsgMenuPrintSend
, navRoute = PrintSendR
, navAccess' = NavAccessTrue
, navType = NavTypeLink { navModal = False }
, navQuick' = mempty
, navForceActive = False
}
, navChildren = []
}
]
pageActions _ = return []
submissionList :: ( MonadIO m

View File

@ -9,7 +9,6 @@ import Handler.Admin.ErrorMessage as Handler.Admin
import Handler.Admin.Tokens as Handler.Admin
import Handler.Admin.Crontab as Handler.Admin
import Handler.Admin.Avs as Handler.Admin
import Handler.Admin.Apc as Handler.Admin
getAdminR :: Handler Html
getAdminR =

View File

@ -36,7 +36,7 @@ validateAvsQueryPerson = do
makeAvsStatusForm :: Maybe AvsQueryStatus -> Form AvsQueryStatus
makeAvsStatusForm tmpl = identifyForm FIDAvsQueryStatus . validateForm validateAvsQueryStatus $ \html ->
flip (renderAForm FormStandard) html $
parseAvsIds <$> areq textField (fslI MsgAvsCardNo) (unparseAvsIds <$> tmpl)
parseAvsIds <$> areq textField (fslI MsgAvsPersonId) (unparseAvsIds <$> tmpl)
where
parseAvsIds :: Text -> AvsQueryStatus
parseAvsIds txt = AvsQueryStatus $ Set.fromList ids

View File

@ -1,8 +1,8 @@
{-# OPTIONS -Wno-unused-top-binds #-} -- TODO: remove me, for debugging only
module Handler.Admin.Apc
( getAdminApcR
, postAdminApcR
module Handler.PrintCenter
( getPrintCenterR, postPrintCenterR
, getPrintSendR , postPrintSendR
) where
import Import
@ -74,9 +74,9 @@ validateMetaPinRenewal = do
|| isPrefixOf "en" mppLang
getAdminApcR, postAdminApcR :: Handler Html
getAdminApcR = postAdminApcR
postAdminApcR = do
getPrintCenterR, postPrintCenterR :: Handler Html
getPrintCenterR = postPrintCenterR
postPrintCenterR = do
{-
((presult, pwidget), penctype) <- runFormPost $ makeRenewalForm Nothing
let procFormPerson fr = do
@ -95,7 +95,7 @@ postAdminApcR = do
mbStatus <- formResultMaybe sresult procFormStatus
-}
-- actionUrl <- fromMaybe AdminAvsR <$> getCurrentRoute
siteLayoutMsg MsgMenuAvs $ do
siteLayoutMsg MsgMenuApc $ do
setTitleI MsgMenuApc
{-
let personForm = wrapForm pwidget def
@ -111,3 +111,24 @@ postAdminApcR = do
mbPerson = Just ("Not yet implemented"::Text)
-- TODO: use i18nWidgetFile instead if this is to become permanent
$(widgetFile "apc")
getPrintSendR, postPrintSendR:: Handler Html
getPrintSendR = postPrintSendR
postPrintSendR = do
siteLayoutMsg MsgMenuPrintSend $ do
setTitleI MsgMenuPrintSend
{-
let personForm = wrapForm pwidget def
{ formAction = Just $ SomeRoute actionUrl
, formEncoding = penctype
}
statusForm = wrapForm swidget def
{ formAction = Just $ SomeRoute actionUrl
, formEncoding = senctype
}
-}
let personForm = [whamlet|TODO|]
mbPerson = Just ("Not yet implemented"::Text)
-- TODO: use i18nWidgetFile instead if this is to become permanent
$(widgetFile "apc")

View File

@ -105,6 +105,7 @@ data Icon
| IconRemoveUser
| IconReset
| IconBlocked
| IconPrintCenter
deriving (Eq, Ord, Enum, Bounded, Show, Read, Generic, Typeable)
deriving anyclass (Universe, Finite, NFData)
@ -193,6 +194,7 @@ iconText = \case
IconSubmissionNoUsers -> "user-slash"
IconReset -> "undo" -- From fontawesome v6 onwards: "arrow-rotate-left"
IconBlocked -> "ban"
IconPrintCenter -> "mail-bulk" -- From fontawesome v6 onwards: "envelope-bulk"
nullaryPathPiece ''Icon $ camelToPathPiece' 1
deriveLift ''Icon