aboutsummaryrefslogtreecommitdiff
path: root/lib/mauve/alert.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mauve/alert.rb')
-rw-r--r--lib/mauve/alert.rb26
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/mauve/alert.rb b/lib/mauve/alert.rb
index 147c7cb..07aeb55 100644
--- a/lib/mauve/alert.rb
+++ b/lib/mauve/alert.rb
@@ -162,9 +162,9 @@ module Mauve
# This allows us to take a copy of the changes before we save.
#
def take_copy_of_changes
- @changes_before_save = Hash.new
+ @attributes_before_save = Hash.new
self.original_attributes.each do |k,v|
- @changes_before_save[k.name] = v
+ @attributes_before_save[k.name] = v
end
end
@@ -175,25 +175,30 @@ module Mauve
#
# Make sure we don't barf
#
- @changes_before_save ||= Hash.new
+ @attributes_before_save ||= Hash.new
- is_a_change = [:subject, :summary].any?{|k| @changes_before_save.keys.include?(k)}
+ is_a_new_alert = @attributes_before_save.values.all?{|a| a.nil?}
+ #
+ # Do not alert about changes, for now.
+ #
+ is_a_change = false # [:subject, :summary].any?{|k| @attributes_before_save.keys.include?(k)}
#
- # We notify if the update type has changed, or if the update type is
+ # We notify if the update type has changed (but not from nil), or if the update type is
# "raised", and the above is_a_change condition is true
#
- if @changes_before_save.has_key?(:update_type) or (self.update_type == "raised" and is_a_change)
+ if (@attributes_before_save.has_key?(:update_type) and !is_a_new_alert) or
+ (self.update_type == "raised" and (is_a_new_alert or is_a_change))
self.notify
h = History.new(:alert_id => self.id, :type => "update")
if self.update_type == "acknowledged"
- h.event = "ACKNOWLEDGED by #{self.acknowledged_by} until #{self.will_unacknowledge_at}"
+ h.event = "ACKNOWLEDGED by #{self.acknowledged_by} until #{self.will_unacknowledge_at}"
elsif is_a_change
h.event = "CHANGED: "
- h.event += @changes_before_save.keys.collect{|k| "#{k.to_s}: #{@changes_before_save[k]} -> #{self.__send__(k)}"}.join(", ")
+ h.event += @attributes_before_save.keys.collect{|k| "#{k.to_s}: #{@attributes_before_save[k]} -> #{self.__send__(k)}"}.join(", ")
else
h.event = self.update_type.upcase
@@ -473,11 +478,6 @@ module Mauve
alert_db.importance = alert.importance if alert.importance != 0
- #
- # This will probably get overwritten below.
- #
- # alert_db.update_type = "changed" unless alert_db.update_type
-
alert_db.updated_at = reception_time
if alert_db.raised?