summaryrefslogtreecommitdiffstats
path: root/app/models/committership.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/committership.rb')
-rw-r--r--app/models/committership.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/models/committership.rb b/app/models/committership.rb
index a3d2907..b6f50b5 100644
--- a/app/models/committership.rb
+++ b/app/models/committership.rb
@@ -30,6 +30,8 @@ class Committership < ActiveRecord::Base
after_create :notify_repository_owners
after_create :add_new_committer_event
after_destroy :add_removed_committer_event
+ has_many :messages, :as => :notifiable
+ before_destroy :nullify_messages
named_scope :groups, :conditions => { :committer_type => "Group" }
named_scope :users, :conditions => { :committer_type => "User" }
@@ -84,4 +86,8 @@ class Committership < ActiveRecord::Base
repository.project.create_event(Action::REMOVE_COMMITTER, repository,
creator, committer.title)
end
+
+ def nullify_messages
+ messages.update_all({:notifiable_id => nil, :notifiable_type => nil})
+ end
end