Replace subscribe/unsubscribe for projects with explicit mail setting

Summary:
Ref T10054. Ref T6113. Users can currently subscribe to projects, which causes them to receive:

  # mail about project membership changes, description changes, etc; and
  # mail to the project, e.g. when the project is added as a subscriber on a task, or a reviewer on a revision.

Almost no one cares about (1), and after D15061 you can use Herald to get this stuff if you really want it. (It will get progressively more annoying in the future with external membership sources causing automated project membership updates.)

A lot of users are confused about (2) and how it relates to membership, watching, etc, and most users who want (2) don't want (1).

Instead, add an explicit option for this and explain what it does.

This is fairly verbose but I've hidden it on the member/watch screen, which is now the "explain how projects work" screen, I guess.

Test Plan:
{F1064929}

{F1064930}

{F1064931}

  - Disabled/enabled mail for a project.
  - Sent mail to a project with mail disabled, verified I didn't get a copy.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T6113, T10054

Differential Revision: https://secure.phabricator.com/D15065
This commit is contained in:
epriestley
2016-01-19 18:56:15 -08:00
parent 5c2e49a812
commit 8463ad2659
12 changed files with 225 additions and 76 deletions

View File

@@ -30,11 +30,9 @@ final class PhabricatorProjectWatchController
switch ($action) {
case 'watch':
$edge_action = '+';
$force_subscribe = true;
break;
case 'unwatch':
$edge_action = '-';
$force_subscribe = false;
break;
}