summaryrefslogtreecommitdiff
path: root/app/models/member.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-11-17 15:49:37 +0100
committerDouwe Maan <douwe@gitlab.com>2015-11-17 15:49:37 +0100
commitecb83afabcb69d80995b56323bb89b1ee1176225 (patch)
tree362fc6cca63a3ffb121bc234cf9bf00bdec9aaef /app/models/member.rb
parente849b51cae8956c9d4eebe9c42804443a55edb83 (diff)
downloadgitlab-ce-ecb83afabcb69d80995b56323bb89b1ee1176225.tar.gz
Refactor ability changes
Diffstat (limited to 'app/models/member.rb')
-rw-r--r--app/models/member.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index eed9f2537e9..28aee2e3799 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -34,16 +34,18 @@ class Member < ActiveRecord::Base
message: "already exists in source",
allow_nil: true }
validates :access_level, inclusion: { in: Gitlab::Access.all_values }, presence: true
- validates :invite_email, presence: { if: :invite? },
- email: {
- strict_mode: true,
- allow_nil: true
- },
- uniqueness: {
- scope: [:source_type,
- :source_id],
- allow_nil: true
- }
+ validates :invite_email,
+ presence: {
+ if: :invite?
+ },
+ email: {
+ strict_mode: true,
+ allow_nil: true
+ },
+ uniqueness: {
+ scope: [:source_type, :source_id],
+ allow_nil: true
+ }
scope :invite, -> { where(user_id: nil) }
scope :non_invite, -> { where("user_id IS NOT NULL") }
@@ -100,7 +102,9 @@ class Member < ActiveRecord::Base
private
def can_update_member?(current_user, member)
- !current_user || current_user.can?(:update_group_member, member) ||
+ # There is no current user for bulk actions, in which case anything is allowed
+ !current_user ||
+ current_user.can?(:update_group_member, member) ||
current_user.can?(:update_project_member, member)
end
end