Commit 085ef2650ea5e291dd6f704b377e631922d78f98
1 parent
33ae78df
Exists in
master
and in
1 other branch
Send notices to either all users plus watchers, or to the configured watchers
Showing
3 changed files
with
8 additions
and
4 deletions
Show diff stats
app/models/app.rb
@@ -124,7 +124,11 @@ class App | @@ -124,7 +124,11 @@ class App | ||
124 | end | 124 | end |
125 | 125 | ||
126 | def notification_recipients | 126 | def notification_recipients |
127 | - notify_all_users ? User.all.map(&:email).reject(&:blank?) : watchers.map(&:address) | 127 | + if notify_all_users |
128 | + (User.all.map(&:email).reject(&:blank?) + watchers.map(&:address)).uniq | ||
129 | + else | ||
130 | + watchers.map(&:address) | ||
131 | + end | ||
128 | end | 132 | end |
129 | 133 | ||
130 | # Copy app attributes from another app. | 134 | # Copy app attributes from another app. |
app/views/apps/_fields.html.haml
@@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
23 | = f.label :notify_on_deploys, 'Notify on deploys' | 23 | = f.label :notify_on_deploys, 'Notify on deploys' |
24 | 24 | ||
25 | %div.checkbox | 25 | %div.checkbox |
26 | - = f.check_box :notify_all_users, 'data-hide-when-checked' => '.watchers.nested-wrapper' | 26 | + = f.check_box :notify_all_users |
27 | = f.label :notify_all_users, 'Send notifications to all users' | 27 | = f.label :notify_all_users, 'Send notifications to all users' |
28 | 28 | ||
29 | 29 |
spec/models/app_spec.rb
@@ -88,12 +88,12 @@ describe App do | @@ -88,12 +88,12 @@ describe App do | ||
88 | end | 88 | end |
89 | 89 | ||
90 | context "notification recipients" do | 90 | context "notification recipients" do |
91 | - it "should send notices to either all users, or the configured watchers" do | 91 | + it "should send notices to either all users plus watchers, or the configured watchers" do |
92 | @app = Fabricate(:app) | 92 | @app = Fabricate(:app) |
93 | 3.times { Fabricate(:user) } | 93 | 3.times { Fabricate(:user) } |
94 | 5.times { Fabricate(:watcher, :app => @app) } | 94 | 5.times { Fabricate(:watcher, :app => @app) } |
95 | @app.notify_all_users = true | 95 | @app.notify_all_users = true |
96 | - @app.notification_recipients.size.should == 3 | 96 | + @app.notification_recipients.size.should == 8 |
97 | @app.notify_all_users = false | 97 | @app.notify_all_users = false |
98 | @app.notification_recipients.size.should == 5 | 98 | @app.notification_recipients.size.should == 5 |
99 | end | 99 | end |