HomePhabricator

Use ApplicationTransactions in ApplicationEmail

Description

Use ApplicationTransactions in ApplicationEmail

Summary:
Ref T8498. I want to add Spaces to these, and the logic for getting Spaces right is a bit tricky, so swap these to ApplicationTransactions.

One new piece of tech: made it easier for Editors to raise DuplicateKeyException as a normal ValidationException, so callers don't have to handle this case specially.

One behavioral change: we no longer require these addresses to be at the auth.email-domains domains -- I think this wasn't quite right in the general case. It's OK to require users to have @mycompany.com addresses but add @phabricator.mycompany-infrastructure.com addresses here if you want.

Test Plan:

  • Tried to create a duplicate email.
  • Tried to create an empty email.
  • Tried to create an invalid email.
  • Created a new email.
  • Deleted an email.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8498

Differential Revision: https://secure.phabricator.com/D13246

Details

Provenance
epriestleyAuthored on
epriestleyPushed on Jun 11 2015, 5:15 PM
Reviewer
btrahan
Differential Revision
D13246: Use ApplicationTransactions in ApplicationEmail
Parents
rP325f4c863c9d: Don't show Space monograms in SpaceContextView
Branches
Unknown
Tags
Unknown
Tasks
T8498: Integrate Spaces into shared infrastructure