chore(letter): default pdf passwort card no without leading zeros
This commit is contained in:
parent
301b65770d
commit
4214c164c4
@ -352,7 +352,7 @@ upsertAvsUserById api = do
|
|||||||
mbCompany = firmAddress ^? _Just . _1 . _Just
|
mbCompany = firmAddress ^? _Just . _1 . _Just
|
||||||
userFirmAddr= plaintextToStoredMarkup . mergeCompanyAddress <$> firmAddress
|
userFirmAddr= plaintextToStoredMarkup . mergeCompanyAddress <$> firmAddress
|
||||||
pinCard = Set.lookupMax avsPersonPersonCards
|
pinCard = Set.lookupMax avsPersonPersonCards
|
||||||
userPin = tshowAvsFullCardNo . getFullCardNo <$> pinCard
|
userPin = personCard2pin <$> pinCard
|
||||||
fakeIdent = CI.mk $ "AVSID:" <> tshow api
|
fakeIdent = CI.mk $ "AVSID:" <> tshow api
|
||||||
fakeNo = CI.mk $ "AVSNO:" <> tshow avsPersonPersonNo
|
fakeNo = CI.mk $ "AVSNO:" <> tshow avsPersonPersonNo
|
||||||
newUsr = AdminUserForm
|
newUsr = AdminUserForm
|
||||||
@ -391,7 +391,7 @@ upsertAvsUserById api = do
|
|||||||
mbCoFirmAddr= mergeCompanyAddress <$> firmAddress
|
mbCoFirmAddr= mergeCompanyAddress <$> firmAddress
|
||||||
userFirmAddr= plaintextToStoredMarkup <$> mbCoFirmAddr
|
userFirmAddr= plaintextToStoredMarkup <$> mbCoFirmAddr
|
||||||
pinCard = Set.lookupMax avsPersonPersonCards
|
pinCard = Set.lookupMax avsPersonPersonCards
|
||||||
userPin = tshowAvsFullCardNo . getFullCardNo <$> pinCard
|
userPin = personCard2pin <$> pinCard
|
||||||
runDB $ do
|
runDB $ do
|
||||||
now <- liftIO getCurrentTime
|
now <- liftIO getCurrentTime
|
||||||
oldCards <- selectList [UserAvsCardPersonId ==. api] []
|
oldCards <- selectList [UserAvsCardPersonId ==. api] []
|
||||||
@ -400,7 +400,7 @@ upsertAvsUserById api = do
|
|||||||
updateWhere [UserId ==. uid] [UserPostAddress =. userFirmAddr]
|
updateWhere [UserId ==. uid] [UserPostAddress =. userFirmAddr]
|
||||||
whenIsJust pinCard $ \pCard -> -- update pin, but only if it was unset or set to the value of an old card
|
whenIsJust pinCard $ \pCard -> -- update pin, but only if it was unset or set to the value of an old card
|
||||||
unlessM (exists [UserAvsCardCardNo ==. avsDataCardNo pCard]) $ do
|
unlessM (exists [UserAvsCardCardNo ==. avsDataCardNo pCard]) $ do
|
||||||
let oldPins = Just . tshowAvsFullCardNo . getFullCardNo . userAvsCardCard . entityVal <$> oldCards
|
let oldPins = Just . personCard2pin . userAvsCardCard . entityVal <$> oldCards
|
||||||
updateWhere [UserId ==. uid, UserPinPassword !=. userPin, UserPinPassword <-. Nothing:oldPins]
|
updateWhere [UserId ==. uid, UserPinPassword !=. userPin, UserPinPassword <-. Nothing:oldPins]
|
||||||
[UserPinPassword =. userPin]
|
[UserPinPassword =. userPin]
|
||||||
insert_ $ UserAvsCard api (avsDataCardNo pCard) pCard now
|
insert_ $ UserAvsCard api (avsDataCardNo pCard) pCard now
|
||||||
|
|||||||
@ -367,6 +367,10 @@ derivePersistFieldJSON ''AvsDataPersonCard
|
|||||||
getFullCardNo :: AvsDataPersonCard -> AvsFullCardNo
|
getFullCardNo :: AvsDataPersonCard -> AvsFullCardNo
|
||||||
getFullCardNo AvsDataPersonCard{avsDataCardNo, avsDataVersionNo} = AvsFullCardNo avsDataCardNo avsDataVersionNo
|
getFullCardNo AvsDataPersonCard{avsDataCardNo, avsDataVersionNo} = AvsFullCardNo avsDataCardNo avsDataVersionNo
|
||||||
|
|
||||||
|
-- | like `tshowAvsFullCardNo` but without leading zeroes for use as pdf pin
|
||||||
|
personCard2pin :: AvsDataPersonCard -> Text
|
||||||
|
personCard2pin = Text.dropWhile ('0'==) . tshowAvsFullCardNo . getFullCardNo
|
||||||
|
|
||||||
data AvsStatusPerson = AvsStatusPerson
|
data AvsStatusPerson = AvsStatusPerson
|
||||||
{ avsStatusPersonID :: AvsPersonId
|
{ avsStatusPersonID :: AvsPersonId
|
||||||
, avsStatusPersonCardStatus :: Set AvsDataPersonCard -- only delivers non-Maybe fields, all Maybe-fields are Nothing
|
, avsStatusPersonCardStatus :: Set AvsDataPersonCard -- only delivers non-Maybe fields, all Maybe-fields are Nothing
|
||||||
|
|||||||
@ -532,11 +532,11 @@ encryptPDF pw bs = over _Left (decodeUtf8 . LBS.toStrict) . exit2either <$> read
|
|||||||
where
|
where
|
||||||
pw' = sanitizeCmdArg pw
|
pw' = sanitizeCmdArg pw
|
||||||
pc = setStdin (byteStringInput bs) $
|
pc = setStdin (byteStringInput bs) $
|
||||||
proc "pdftk" [ "-" -- read from stdin
|
proc "pdftk" [ "-" -- read from stdin
|
||||||
, "output", "-" -- write to stdout
|
, "output", "-" -- write to stdout
|
||||||
, "user_pw", T.unpack pw' -- encrypt pdf content
|
, "user_pw", T.unpack $ T.strip pw' -- encrypt pdf content
|
||||||
, "dont_ask" -- no interaction
|
, "dont_ask" -- no interaction
|
||||||
, "allow", "Printing" -- allow printing despite encryption
|
, "allow", "Printing" -- allow printing despite encryption
|
||||||
]
|
]
|
||||||
-- Note that pdftk will issue a warning, which will be ignored:
|
-- Note that pdftk will issue a warning, which will be ignored:
|
||||||
-- Warning: Using a password on the command line interface can be insecure.
|
-- Warning: Using a password on the command line interface can be insecure.
|
||||||
|
|||||||
Reference in New Issue
Block a user