aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorcedricnjanga2018-03-21 06:32:03 -0700
committercedricnjanga2018-03-21 06:32:03 -0700
commitad9a73328828648bc927f711060f5ed90bfcf947 (patch)
treea6d958b35cdf9c33d0c87db8b466962024182f04 /app
parentb2378aa38642d6312d222325ddeeaad78db50e13 (diff)
downloadchouette-core-6259-calendar-mailer.tar.bz2
Refs #6259 Only send mails to users from same workgroup after create/update of shared calendars6259-calendar-mailer
Diffstat (limited to 'app')
-rw-r--r--app/models/calendar_observer.rb4
-rw-r--r--app/models/user.rb2
2 files changed, 4 insertions, 2 deletions
diff --git a/app/models/calendar_observer.rb b/app/models/calendar_observer.rb
index c81addff4..0414d01d2 100644
--- a/app/models/calendar_observer.rb
+++ b/app/models/calendar_observer.rb
@@ -3,7 +3,7 @@ class CalendarObserver < ActiveRecord::Observer
def after_update calendar
return unless calendar.shared
- User.with_organisation.each do |user|
+ User.from_workgroup(calendar.workgroup_id).each do |user|
MailerJob.perform_later('CalendarMailer', 'updated', [calendar.id, user.id])
end
end
@@ -11,7 +11,7 @@ class CalendarObserver < ActiveRecord::Observer
def after_create calendar
return unless calendar.shared
- User.with_organisation.each do |user|
+ User.from_workgroup(calendar.workgroup_id).each do |user|
MailerJob.perform_later('CalendarMailer', 'created', [calendar.id, user.id])
end
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 31e634415..88c06ba55 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -30,6 +30,8 @@ class User < ActiveRecord::Base
scope :with_organisation, -> { where.not(organisation_id: nil) }
+ scope :from_workgroup, ->(workgroup_id) { joins(:workbenches).where(workbenches: {workgroup_id: workgroup_id}) }
+
# Callback invoked by DeviseCasAuthenticable::Model#authernticate_with_cas_ticket
def cas_extra_attributes=(extra_attributes)