summaryrefslogtreecommitdiff
path: root/app/models/member.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2018-03-07 13:54:28 -0600
committerDouwe Maan <douwe@selenight.nl>2018-03-07 17:18:01 -0600
commit74a24a4fab3d8020950ee3da371a432f7361c569 (patch)
tree87cb63e5f8ee2f45c0bb348be1212af839f3c6b2 /app/models/member.rb
parent6ec655f5c46aab93f435ac9218c7354b0a712160 (diff)
downloadgitlab-ce-74a24a4fab3d8020950ee3da371a432f7361c569.tar.gz
Don't delete todos or unassign issues and MRs when a user leaves a projectunassign-when-leaving
Diffstat (limited to 'app/models/member.rb')
-rw-r--r--app/models/member.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index 408e8b2d704..36090676051 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -85,6 +85,7 @@ class Member < ActiveRecord::Base
after_create :create_notification_setting, unless: [:pending?, :importing?]
after_create :post_create_hook, unless: [:pending?, :importing?]
after_update :post_update_hook, unless: [:pending?, :importing?]
+ after_destroy :destroy_notification_setting
after_destroy :post_destroy_hook, unless: :pending?
after_commit :refresh_member_authorized_projects
@@ -315,6 +316,10 @@ class Member < ActiveRecord::Base
user.notification_settings.find_or_create_for(source)
end
+ def destroy_notification_setting
+ notification_setting&.destroy
+ end
+
def notification_setting
@notification_setting ||= user&.notification_settings_for(source)
end