Add group-level email routing
What does this MR do?
This MR adds settings to configure notification email addresses on a per-group basis.
Relevant issues are #8111 (closed), #55880 (closed).
As a first-pass I added a recipient_context
argument to Notify.recipient
to allow Project
or Group
to be passed. I am aware that there are mailers which do not use recipient
, will hunt these down if the general approach is judged to be OK.
Also includes a really rough UI to update group notification email addresses. Clearly not final.
Screenshots
Desktop | Mobile |
---|---|
Migration Output
== 20190327163904 AddNotificationEmailToNotificationSettings: migrating =======
-- add_column(:notification_settings, :notification_email, :string)
-> 0.0024s
== 20190327163904 AddNotificationEmailToNotificationSettings: migrated (0.0024s)
Database checklist
-
Conforms to the database guides
When adding migrations:
-
Updated db/schema.rb
-
Added a down
method so the migration can be reverted -
Added the output of the migration(s) to the MR body [ ] Added tests for the migration inspec/migrations
if necessary (e.g. when migrating data)
When adding or modifying queries to improve performance:
[ ] Included data that shows the performance improvement, preferably in the form of a benchmark[ ] Included the output ofEXPLAIN (ANALYZE, BUFFERS)
of the relevant queries
When adding foreign keys to existing tables:
[ ] Included a migration to remove orphaned rows in the source table before adding the foreign key[ ] Removed any instances ofdependent: ...
that may no longer be necessary
When adding tables:
[ ] Ordered columns based on the Ordering Table Columns guidelines[ ] Added foreign keys to any columns pointing to data in other tables[ ] Added indexes for fields that are used in statements such as WHERE, ORDER BY, GROUP BY, and JOINs
When removing columns, tables, indexes or other structures:
[ ] Removed these in a post-deployment migration[ ] Made sure the application no longer uses (or ignores) these structures
General checklist
-
Changelog entry added, if necessary -
Documentation created/updated -
Tests added for this feature/bug -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides
Edited by Wei-Meng Lee