diff options
author | Patrick J Cherry <patrick@bytemark.co.uk> | 2013-05-16 14:13:45 +0100 |
---|---|---|
committer | Patrick J Cherry <patrick@bytemark.co.uk> | 2013-05-16 14:13:45 +0100 |
commit | fa7e7b8dc9d3f2333869703fc266405ee80cd5c8 (patch) | |
tree | 292fc5bf2e3388773b337576bacff39d7ccea6be /lib | |
parent | 72723a723ef7c6bf368b472c32fca3c7c397616a (diff) |
Notification of a user now generates just one history entry, as
opposed to one entry per method used. This ensures that the previous
changes regarding notification suppression work for people with
multiple methods of notification.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mauve/notification.rb | 4 | ||||
-rw-r--r-- | lib/mauve/person.rb | 15 |
2 files changed, 10 insertions, 9 deletions
diff --git a/lib/mauve/notification.rb b/lib/mauve/notification.rb index 745660a..c164afb 100644 --- a/lib/mauve/notification.rb +++ b/lib/mauve/notification.rb @@ -319,9 +319,7 @@ module Mauve # # A bit of alert de-bouncing. # - if already_sent_to.include?(person.username) - logger.info("Already sent notification of #{alert} to #{person.username}") - else + unless already_sent_to.include?(person.username) person.send_alert(level, alert) already_sent_to << person.username end diff --git a/lib/mauve/person.rb b/lib/mauve/person.rb index 8ce0952..fd8cf98 100644 --- a/lib/mauve/person.rb +++ b/lib/mauve/person.rb @@ -253,10 +253,8 @@ module Mauve # # Log the result - note = "#{@alert.update_type.capitalize} #{name} notification to #{@person.username} (#{destination}) " + (res ? "succeeded" : "failed" ) - logger.info note+" about #{@alert}." - h = History.new(:alerts => [@alert], :type => "notification", :event => note, :user => @person.username) - h.save + # + logger.info "#{@alert.update_type.capitalize} #{name} notification to #{@person.username} (#{destination}) " + (res ? "succeeded" : "failed" ) +" about #{@alert}." return res end @@ -282,7 +280,7 @@ module Mauve # and are still suppressed. # if @suppressed or self.is_on_holiday?(now) or self.is_off_sick?(now) - note = "#{alert.update_type.capitalize} notification to #{self.username} suppressed" + note = "#{alert.update_type.capitalize} #{level} notification to #{self.username} suppressed" logger.info note + " about #{alert}." History.create(:alerts => [alert], :type => "notification", :event => note, :user => self.username) return true @@ -303,8 +301,13 @@ module Mauve :was_suppressed => was_suppressed, } ).instance_eval(&__send__(level)) end + + res = [result].flatten.any? + + note = "#{alert.update_type.capitalize} #{level} notification to #{self.username} " + (res ? "succeeded" : "failed" ) + History.create(:alerts => [alert], :type => "notification", :event => note, :user => self.username) - return [result].flatten.any? + return res end # |