chore(print): add route for print overview and reorganise existing apc route
This commit is contained in:
parent
226f718f8a
commit
a6782d8637
@ -1,3 +1,5 @@
|
|||||||
|
AvsPersonId: AVS Personen Id
|
||||||
|
AvsPersonNo: AVS Personennummer
|
||||||
AvsCardNo: Ausweiskartennummer
|
AvsCardNo: Ausweiskartennummer
|
||||||
AvsFirstName: Vorname
|
AvsFirstName: Vorname
|
||||||
AvsLastName: Nachname
|
AvsLastName: Nachname
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
AvsCardNo: Card number
|
AvsPersonId: AVS Person Id
|
||||||
|
AvsPersonNo: AVS Person Number
|
||||||
|
AvsCardNo: Card number
|
||||||
AvsFirstName: First name
|
AvsFirstName: First name
|
||||||
AvsLastName: Last name
|
AvsLastName: Last name
|
||||||
AvsInternalPersonalNo: Personnel number (Fraport AG only)
|
AvsInternalPersonalNo: Personnel number (Fraport AG only)
|
||||||
AvsVersionNo: Version number
|
AvsVersionNo: Version number
|
||||||
AvsQueryEmpty: At least one query field must be filled!
|
AvsQueryEmpty: At least one query field must be filled!
|
||||||
AvsQueryStatusInvalid t: Numeric IDs only, comma seperated! #{show t}
|
AvsQueryStatusInvalid t: Numeric IDs only, comma seperated! #{show t}
|
||||||
@ -134,6 +134,7 @@ MenuLmsDirect: Direkter Upload
|
|||||||
|
|
||||||
MenuAvs: Schnittstelle AVS
|
MenuAvs: Schnittstelle AVS
|
||||||
MenuApc: Schnittstelle Druckerei
|
MenuApc: Schnittstelle Druckerei
|
||||||
|
MenuPrintSend: Manueller Briefversand
|
||||||
|
|
||||||
MenuApiDocs: API-Dokumentation (Englisch)
|
MenuApiDocs: API-Dokumentation (Englisch)
|
||||||
MenuSwagger !ident-ok: OpenAPI 2.0 (Swagger)
|
MenuSwagger !ident-ok: OpenAPI 2.0 (Swagger)
|
||||||
@ -135,6 +135,7 @@ MenuLmsDirect: Direct Upload
|
|||||||
|
|
||||||
MenuAvs: AVS Interface
|
MenuAvs: AVS Interface
|
||||||
MenuApc: Print Center Interface
|
MenuApc: Print Center Interface
|
||||||
|
MenuPrintSend: Send Letter
|
||||||
|
|
||||||
MenuApiDocs: API documentation
|
MenuApiDocs: API documentation
|
||||||
MenuSwagger: OpenAPI 2.0 (Swagger)
|
MenuSwagger: OpenAPI 2.0 (Swagger)
|
||||||
|
|||||||
4
routes
4
routes
@ -60,7 +60,9 @@
|
|||||||
/admin/tokens AdminTokensR GET POST
|
/admin/tokens AdminTokensR GET POST
|
||||||
/admin/crontab AdminCrontabR GET
|
/admin/crontab AdminCrontabR GET
|
||||||
/admin/avs AdminAvsR GET POST
|
/admin/avs AdminAvsR GET POST
|
||||||
/admin/apc AdminApcR GET POST
|
|
||||||
|
/print PrintCenterR GET POST
|
||||||
|
/print/send PrintSendR GET POST
|
||||||
|
|
||||||
/health HealthR GET !free
|
/health HealthR GET !free
|
||||||
/instance InstanceR GET !free
|
/instance InstanceR GET !free
|
||||||
|
|||||||
@ -151,6 +151,7 @@ import Handler.Error
|
|||||||
import Handler.Upload
|
import Handler.Upload
|
||||||
import Handler.Qualification
|
import Handler.Qualification
|
||||||
import Handler.LMS
|
import Handler.LMS
|
||||||
|
import Handler.PrintCenter
|
||||||
import Handler.ApiDocs
|
import Handler.ApiDocs
|
||||||
import Handler.Swagger
|
import Handler.Swagger
|
||||||
|
|
||||||
|
|||||||
@ -105,7 +105,9 @@ breadcrumb AdminErrMsgR = i18nCrumb MsgMenuAdminErrMsg $ Just AdminR
|
|||||||
breadcrumb AdminTokensR = i18nCrumb MsgMenuAdminTokens $ Just AdminR
|
breadcrumb AdminTokensR = i18nCrumb MsgMenuAdminTokens $ Just AdminR
|
||||||
breadcrumb AdminCrontabR = i18nCrumb MsgBreadcrumbAdminCrontab $ Just AdminR
|
breadcrumb AdminCrontabR = i18nCrumb MsgBreadcrumbAdminCrontab $ Just AdminR
|
||||||
breadcrumb AdminAvsR = i18nCrumb MsgMenuAvs $ 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 SchoolListR = i18nCrumb MsgMenuSchoolList $ Just AdminR
|
||||||
breadcrumb (SchoolR ssh sRoute) = case sRoute of
|
breadcrumb (SchoolR ssh sRoute) = case sRoute of
|
||||||
@ -735,6 +737,18 @@ defaultLinks = fmap catMaybes . mapM runMaybeT $ -- Define the menu items of the
|
|||||||
, navForceActive = False
|
, 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
|
, return NavHeaderContainer
|
||||||
{ navHeaderRole = NavHeaderPrimary
|
{ navHeaderRole = NavHeaderPrimary
|
||||||
, navLabel = SomeMessage MsgMenuAdminHeading
|
, navLabel = SomeMessage MsgMenuAdminHeading
|
||||||
@ -804,15 +818,6 @@ defaultLinks = fmap catMaybes . mapM runMaybeT $ -- Define the menu items of the
|
|||||||
, navQuick' = mempty
|
, navQuick' = mempty
|
||||||
, navForceActive = False
|
, navForceActive = False
|
||||||
}
|
}
|
||||||
, NavLink
|
|
||||||
{ navLabel = MsgMenuApc
|
|
||||||
, navRoute = AdminApcR
|
|
||||||
, navAccess' = NavAccessTrue
|
|
||||||
, navType = NavTypeLink { navModal = False }
|
|
||||||
, navQuick' = mempty
|
|
||||||
, navForceActive = False
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
, return NavHeaderContainer
|
, return NavHeaderContainer
|
||||||
@ -2492,6 +2497,19 @@ pageActions ApiDocsR = return
|
|||||||
, navChildren = []
|
, navChildren = []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
pageActions PrintCenterR = return
|
||||||
|
[ NavPageActionPrimary
|
||||||
|
{ navLink = NavLink
|
||||||
|
{ navLabel = MsgMenuPrintSend
|
||||||
|
, navRoute = PrintSendR
|
||||||
|
, navAccess' = NavAccessTrue
|
||||||
|
, navType = NavTypeLink { navModal = False }
|
||||||
|
, navQuick' = mempty
|
||||||
|
, navForceActive = False
|
||||||
|
}
|
||||||
|
, navChildren = []
|
||||||
|
}
|
||||||
|
]
|
||||||
pageActions _ = return []
|
pageActions _ = return []
|
||||||
|
|
||||||
submissionList :: ( MonadIO m
|
submissionList :: ( MonadIO m
|
||||||
|
|||||||
@ -9,7 +9,6 @@ import Handler.Admin.ErrorMessage as Handler.Admin
|
|||||||
import Handler.Admin.Tokens as Handler.Admin
|
import Handler.Admin.Tokens as Handler.Admin
|
||||||
import Handler.Admin.Crontab as Handler.Admin
|
import Handler.Admin.Crontab as Handler.Admin
|
||||||
import Handler.Admin.Avs as Handler.Admin
|
import Handler.Admin.Avs as Handler.Admin
|
||||||
import Handler.Admin.Apc as Handler.Admin
|
|
||||||
|
|
||||||
getAdminR :: Handler Html
|
getAdminR :: Handler Html
|
||||||
getAdminR =
|
getAdminR =
|
||||||
|
|||||||
@ -36,7 +36,7 @@ validateAvsQueryPerson = do
|
|||||||
makeAvsStatusForm :: Maybe AvsQueryStatus -> Form AvsQueryStatus
|
makeAvsStatusForm :: Maybe AvsQueryStatus -> Form AvsQueryStatus
|
||||||
makeAvsStatusForm tmpl = identifyForm FIDAvsQueryStatus . validateForm validateAvsQueryStatus $ \html ->
|
makeAvsStatusForm tmpl = identifyForm FIDAvsQueryStatus . validateForm validateAvsQueryStatus $ \html ->
|
||||||
flip (renderAForm FormStandard) html $
|
flip (renderAForm FormStandard) html $
|
||||||
parseAvsIds <$> areq textField (fslI MsgAvsCardNo) (unparseAvsIds <$> tmpl)
|
parseAvsIds <$> areq textField (fslI MsgAvsPersonId) (unparseAvsIds <$> tmpl)
|
||||||
where
|
where
|
||||||
parseAvsIds :: Text -> AvsQueryStatus
|
parseAvsIds :: Text -> AvsQueryStatus
|
||||||
parseAvsIds txt = AvsQueryStatus $ Set.fromList ids
|
parseAvsIds txt = AvsQueryStatus $ Set.fromList ids
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{-# OPTIONS -Wno-unused-top-binds #-} -- TODO: remove me, for debugging only
|
{-# OPTIONS -Wno-unused-top-binds #-} -- TODO: remove me, for debugging only
|
||||||
|
|
||||||
module Handler.Admin.Apc
|
module Handler.PrintCenter
|
||||||
( getAdminApcR
|
( getPrintCenterR, postPrintCenterR
|
||||||
, postAdminApcR
|
, getPrintSendR , postPrintSendR
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Import
|
import Import
|
||||||
@ -74,9 +74,9 @@ validateMetaPinRenewal = do
|
|||||||
|| isPrefixOf "en" mppLang
|
|| isPrefixOf "en" mppLang
|
||||||
|
|
||||||
|
|
||||||
getAdminApcR, postAdminApcR :: Handler Html
|
getPrintCenterR, postPrintCenterR :: Handler Html
|
||||||
getAdminApcR = postAdminApcR
|
getPrintCenterR = postPrintCenterR
|
||||||
postAdminApcR = do
|
postPrintCenterR = do
|
||||||
{-
|
{-
|
||||||
((presult, pwidget), penctype) <- runFormPost $ makeRenewalForm Nothing
|
((presult, pwidget), penctype) <- runFormPost $ makeRenewalForm Nothing
|
||||||
let procFormPerson fr = do
|
let procFormPerson fr = do
|
||||||
@ -95,7 +95,7 @@ postAdminApcR = do
|
|||||||
mbStatus <- formResultMaybe sresult procFormStatus
|
mbStatus <- formResultMaybe sresult procFormStatus
|
||||||
-}
|
-}
|
||||||
-- actionUrl <- fromMaybe AdminAvsR <$> getCurrentRoute
|
-- actionUrl <- fromMaybe AdminAvsR <$> getCurrentRoute
|
||||||
siteLayoutMsg MsgMenuAvs $ do
|
siteLayoutMsg MsgMenuApc $ do
|
||||||
setTitleI MsgMenuApc
|
setTitleI MsgMenuApc
|
||||||
{-
|
{-
|
||||||
let personForm = wrapForm pwidget def
|
let personForm = wrapForm pwidget def
|
||||||
@ -111,3 +111,24 @@ postAdminApcR = do
|
|||||||
mbPerson = Just ("Not yet implemented"::Text)
|
mbPerson = Just ("Not yet implemented"::Text)
|
||||||
-- TODO: use i18nWidgetFile instead if this is to become permanent
|
-- TODO: use i18nWidgetFile instead if this is to become permanent
|
||||||
$(widgetFile "apc")
|
$(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")
|
||||||
@ -105,6 +105,7 @@ data Icon
|
|||||||
| IconRemoveUser
|
| IconRemoveUser
|
||||||
| IconReset
|
| IconReset
|
||||||
| IconBlocked
|
| IconBlocked
|
||||||
|
| IconPrintCenter
|
||||||
deriving (Eq, Ord, Enum, Bounded, Show, Read, Generic, Typeable)
|
deriving (Eq, Ord, Enum, Bounded, Show, Read, Generic, Typeable)
|
||||||
deriving anyclass (Universe, Finite, NFData)
|
deriving anyclass (Universe, Finite, NFData)
|
||||||
|
|
||||||
@ -193,6 +194,7 @@ iconText = \case
|
|||||||
IconSubmissionNoUsers -> "user-slash"
|
IconSubmissionNoUsers -> "user-slash"
|
||||||
IconReset -> "undo" -- From fontawesome v6 onwards: "arrow-rotate-left"
|
IconReset -> "undo" -- From fontawesome v6 onwards: "arrow-rotate-left"
|
||||||
IconBlocked -> "ban"
|
IconBlocked -> "ban"
|
||||||
|
IconPrintCenter -> "mail-bulk" -- From fontawesome v6 onwards: "envelope-bulk"
|
||||||
|
|
||||||
nullaryPathPiece ''Icon $ camelToPathPiece' 1
|
nullaryPathPiece ''Icon $ camelToPathPiece' 1
|
||||||
deriveLift ''Icon
|
deriveLift ''Icon
|
||||||
|
|||||||
Reference in New Issue
Block a user