1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 17:52:43 +01:00
phorge-phorge/src/applications/metamta/storage
epriestley 2e45021250 Fix several issues with email-related global preferences
Summary:
Ref T11098. Mixture of issues here:

  - Similar problem to D16112, where users with no settings at all could fail to fall back to the global defaults.
    - I made `UserPreferencesQuery` responsible for building defaults instead to simplify this, since we have 4 or 5 callsites which need to do it and they aren't easily reducible.
  - Handle cases where `metamta.one-mail-per-recipient` is off (and thus users can not have any custom settings) more explicitly.
  - When `metamta.one-mail-per-recipient` is off, remove the "Email Format" panel for users only -- administrators can still access it in global preferences.

Test Plan:
  - Deleted a user's preferences, changed globals, purged cache, made sure defaults reflected global defaults.
  - Changed global mail tags, sent mail to the user, verified it was dropped in accordinace with global settings.
  - Changed user's settings to get the mail instead, verified mail was sent.
  - Toggled user's Re / Vary settings, verified mail subject lines reflected user settings.
  - Disabled `metamta.one-mail-per-recipient`, verified user "Email Format" panel vanished.
  - Edited "Email Format" in single-mail-mode in global prefs as an administrator.
  - Sent more mail, verified mail respected new global settings.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11098

Differential Revision: https://secure.phabricator.com/D16118
2016-06-14 12:35:31 -07:00
..
__tests__ Modularize all the mail preferences 2016-06-05 08:50:07 -07:00
PhabricatorMetaMTAApplicationEmail.php Support Spaces in ApplicationEmail 2015-06-11 10:23:56 -07:00
PhabricatorMetaMTAApplicationEmailTransaction.php Use ApplicationTransactions in ApplicationEmail 2015-06-11 10:15:49 -07:00
PhabricatorMetaMTAAttachment.php Extend from Phobject 2015-06-15 18:02:27 +10:00
PhabricatorMetaMTADAO.php Delete license headers from files 2012-11-05 11:16:51 -08:00
PhabricatorMetaMTAMail.php Fix several issues with email-related global preferences 2016-06-14 12:35:31 -07:00
PhabricatorMetaMTAReceivedMail.php Modularize content sources 2016-03-26 11:59:45 -07:00
PhabricatorMetaMTASchemaSpec.php Automatically build all Lisk schemata 2014-10-02 09:51:20 -07:00