refactor(avs): first steps towards #69

This commit is contained in:
Steffen Jost 2024-04-25 18:14:53 +02:00
parent 6fd45f6896
commit 13a648de18

View File

@ -679,17 +679,58 @@ mkLicenceTable apidStatus dbtIdent aLic apids = do
getAdminAvsUserR :: CryptoUUIDUser -> Handler Html
getAdminAvsUserR uuid = do
uid <- decrypt uuid
Entity{entityVal=UserAvs{..}} <- runDB $ getBy404 $ UniqueUserAvsUser uid
let set_apid = Set.singleton $ AvsObjPersonId userAvsPersonId
mbContact <- try $ avsQuery $ AvsQueryContact set_apid
-- mbStatus <- try $ avsQuery $ AvsQueryStatus set_apid
Entity{entityVal=UserAvs{..}} <- runDB $ getBy404 $ UniqueUserAvsUser uid
mbContact <- try $ avsQuery $ AvsQueryContact $ Set.singleton $ AvsObjPersonId userAvsPersonId
-- mbStatus <- try $ avsQuery $ AvsQueryStatus $ Set.singleton userAvsPersonId
-- CONTINUE HERE
mbDataPerson <- lookupAvsUser userAvsPersonId -- TODO: delete Handler.Utils.Avs.lookupAvsUser if no longer needed
let heading = [whamlet|_{MsgAvsPersonNo} #{userAvsNoPerson}|]
siteLayout heading $ do
setTitle $ toHtml $ show userAvsNoPerson
let contactWgt = case mbContact of
Left err -> exceptionWgt err
Right (AvsResponseContact adcs) -> do
let cs = mkContactWgt <$> toList adcs
mconcat cs
mkContactWgt :: AvsDataContact -> Widget
mkContactWgt AvsDataContact
{ avsContactPersonID = _api -- TODO
, avsContactPersonInfo = AvsPersonInfo {..}
, avsContactFirmInfo = AvsFirmInfo { avsFirmFirm = _fname } -- TODO
} =
let licence :: AvsLicence = toEnum avsInfoRampLicence in -- TODO: show bad numbers too?
[whamlet|
<section .profile>
<dl .deflist.profile-dl>
<dt .deflist__dt>
_{MsgAdminUserSurname}
<dd .deflist__dd>
#{avsInfoLastName}
<dt .deflist__dt>
_{MsgAdminUserFirstName}
<dd .deflist__dd>
#{avsInfoFirstName}
$maybe bday <- avsInfoDateOfBirth
<dt .deflist__dt>
_{MsgAdminUserBirthday}
<dd .deflist__dd>
^{formatTimeW SelFormatDate bday}
<dt .deflist__dt>
_{MsgAvsLicence}
<dd .deflist__dd>
_{licence}
|]
[whamlet|
<p>
Die Ansicht zeigt ausschließlich kürzlich vom AVS glieferte Daten:
<p>
^{contactWgt}
<p>
Vorläufige Admin Ansicht AVS Daten.
Ansicht zeigt aktuelle Daten.