diff --git a/src/Handler/Utils/Avs.hs b/src/Handler/Utils/Avs.hs index 08cc39029..598b82509 100644 --- a/src/Handler/Utils/Avs.hs +++ b/src/Handler/Utils/Avs.hs @@ -399,8 +399,10 @@ updateAvsUserByADC (AvsDataContact apid newAvsPersonInfo newAvsFirmInfo) = runMa usr_up2 <- case oldAvsFirmInfo of _ | Just newCompanyId == oldCompanyId -- company unchanged entirely -> return mempty -- => do nothing - (Just oafi) | ((==) `on` view _avsFirmPostAddressSimple) oafi newAvsFirmInfo -- company address unchanged OR - || ((==) `on` view _avsFirmPrimaryEmail) oafi newAvsFirmInfo -- company primary email unchanged + (Just oafi) | isJust (view _avsFirmPostAddressSimple oafi) + && ((==) `on` view _avsFirmPostAddressSimple) oafi newAvsFirmInfo -- non-empty company address unchanged OR + || isJust (view _avsFirmPrimaryEmail oafi) + && ((==) `on` view _avsFirmPrimaryEmail) oafi newAvsFirmInfo -- non-empty company primary email unchanged -> do -- => just update user company association, keeping supervision privileges case oldCompanyId of Nothing -> void $ insertUnique newUserComp -- it's ok if this already exists