summaryrefslogtreecommitdiff
path: root/app/models/member.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-04-10 16:37:02 +0200
committerDouwe Maan <douwe@gitlab.com>2015-04-14 12:08:11 +0200
commite50556fcc8d81dae5978bcb3e1dd5104789aab0f (patch)
tree000c94f5da8061efa360c0e580e77261de84e8b1 /app/models/member.rb
parent8949af0c9f2aa90b979043a0a6ee264ac0c036b9 (diff)
downloadgitlab-ce-e50556fcc8d81dae5978bcb3e1dd5104789aab0f.tar.gz
Let invites be declined.
Diffstat (limited to 'app/models/member.rb')
-rw-r--r--app/models/member.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index d8cc65ca6cb..2421222eaa2 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -76,6 +76,16 @@ class Member < ActiveRecord::Base
saved
end
+ def decline_invite!
+ return false unless invite?
+
+ destroyed = self.destroy
+
+ after_decline_invite if destroyed
+
+ destroyed
+ end
+
def generate_invite_token
raw, enc = Devise.token_generator.generate(self.class, :invite_token)
@raw_invite_token = raw
@@ -116,6 +126,10 @@ class Member < ActiveRecord::Base
post_create_hook
end
+ def after_decline_invite
+ # override in subclass
+ end
+
def system_hook_service
SystemHooksService.new
end