chore(firm): add setting for global communications cc
This commit is contained in:
parent
b7d6474ace
commit
b9f2d3bda4
@ -1025,8 +1025,7 @@ handleFirmCommR ultDest cs = do
|
||||
return (E.just $ cmp E.^. UserCompanyCompany, emp E.^. UserId)
|
||||
)
|
||||
-- get supervisors of employees
|
||||
--sprs <- mkCompanyUsrList <$> runDB (E.select $ do
|
||||
sprs' <- runDB (E.select $ do
|
||||
sprs <- mkCompanyUsrList <$> runDB (E.select $ do
|
||||
(spr :& cmp) <- E.from $ E.table @User `E.leftJoin` E.table @UserCompany `E.on` (\(spr :& cmp) -> spr E.^. UserId E.=?. cmp E.?. UserCompanyUser)
|
||||
E.where_ $ (E.isTrue (cmp E.?. UserCompanySupervisor) E.&&. cmp E.?. UserCompanyCompany `E.in_` E.justValList csKeys)
|
||||
E.||. (spr E.^. UserId E.=?. E.val mbUser)
|
||||
@ -1037,10 +1036,7 @@ handleFirmCommR ultDest cs = do
|
||||
)
|
||||
E.orderBy [E.ascNullsFirst $ cmp E.?. UserCompanyCompany]
|
||||
return (cmp E.?. UserCompanyCompany, spr E.^. UserId)
|
||||
)
|
||||
$logInfoS "Firm" "!!!Messaging here!!!"
|
||||
unless (checkAsc (fst <$> sprs')) ($logErrorS "Firm" ("Supervisor list isn't ascending!!!" <> tshow (fst <$> sprs'))) -- TODO: REMOVE THIS CHECK AND THE FOLLOWING LINE FOR PRODUCTION !!!
|
||||
let sprs = mkCompanyUsrList sprs'
|
||||
)
|
||||
|
||||
commR CommunicationRoute
|
||||
{ crHeading = SomeMessage $ case cs of { [c] -> MsgFirmNotification c ; _ -> MsgFirmsNotification }
|
||||
|
||||
@ -139,7 +139,7 @@ commR CommunicationRoute{..} = do
|
||||
decrypt' cID = do
|
||||
uid <- decrypt cID
|
||||
whenIsJust crRecipientAuth $ guardAuthResult <=< ($ uid)
|
||||
getEntity uid
|
||||
getEntity uid
|
||||
cUser <- maybeAuth
|
||||
(chosenRecipients, suggestedRecipients) <- runDB $ (,)
|
||||
<$> (maybe id cons cUser . catMaybes <$> (mapM decrypt' =<< lookupGlobalGetParams GetRecipient))
|
||||
@ -148,7 +148,8 @@ commR CommunicationRoute{..} = do
|
||||
|
||||
MsgRenderer mr <- getMsgRenderer
|
||||
mbCurrentRoute <- getCurrentRoute
|
||||
|
||||
globalCC <- getsYesod $ view _appCommunicationGlobalCC
|
||||
|
||||
let
|
||||
lookupUser :: UserId -> (UserDisplayName,UserSurname)
|
||||
lookupUser =
|
||||
@ -156,7 +157,7 @@ commR CommunicationRoute{..} = do
|
||||
usrNames Nothing = ("???","???") -- this case only happens during runFormPost when POST Data is present and no form is display
|
||||
usrNames (Just User{userDisplayName, userSurname}) = (userDisplayName, userSurname)
|
||||
in usrNames . flip Map.lookup usrMap
|
||||
|
||||
|
||||
chosenRecipients' = Map.fromList $
|
||||
[ ( (BoundedPosition $ RecipientGroup g, pos)
|
||||
, (Right recp, recp `elem` map entityKey chosenRecipients)
|
||||
@ -165,9 +166,12 @@ commR CommunicationRoute{..} = do
|
||||
, (pos, recp) <- zip [0..] $ map entityKey recps
|
||||
] ++
|
||||
[ ( (BoundedPosition RecipientCustom, pos)
|
||||
, (Right recp, True)
|
||||
, (recp, True)
|
||||
)
|
||||
| (pos, recp) <- zip [0..] . Set.toList $ Set.fromList (map entityKey chosenRecipients) \\ Set.fromList (concatMap (map entityKey) $ view _2 <$> suggestedRecipients)
|
||||
| (pos, recp) <- zip [0..]
|
||||
( mcons (Left <$> globalCC)
|
||||
(Right <$> Set.toList (Set.fromList (map entityKey chosenRecipients) \\ Set.fromList (concatMap (map entityKey) $ view _2 <$> suggestedRecipients)))
|
||||
)
|
||||
]
|
||||
activeCategories = map RecipientGroup (view _1 <$> suggestedRecipients) `snoc` RecipientCustom
|
||||
|
||||
|
||||
@ -245,6 +245,7 @@ data AppSettings = AppSettings
|
||||
, appJobMaxFlush :: Maybe Natural
|
||||
|
||||
, appCommunicationAttachmentsMaxSize :: Maybe Natural
|
||||
, appCommunicationGlobalCC :: Maybe UserEmail
|
||||
|
||||
, appFileChunkingParams :: FastCDCParameters
|
||||
|
||||
@ -804,6 +805,7 @@ instance FromJSON AppSettings where
|
||||
appJobMaxFlush <- o .:? "job-max-flush"
|
||||
|
||||
appCommunicationAttachmentsMaxSize <- o .:? "communication-attachments-max-size"
|
||||
appCommunicationGlobalCC <- o .:? "communication-global-cc"
|
||||
|
||||
appLegalExternal <- o .: "legal-external"
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user