diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2017-04-21 17:07:42 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2017-04-21 18:38:10 +0300 |
commit | c6960ded8acc5f01a3b00aea2e1c1de6e6981af9 (patch) | |
tree | 361ac6653ad005e74d618d128911300202e10e44 /app/models/member.rb | |
parent | c76812c79ffe3ca35b00faeaaf7fa1c362d1d27d (diff) |
Refactor add_users method for project and group
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/models/member.rb')
-rw-r--r-- | app/models/member.rb | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/app/models/member.rb b/app/models/member.rb index 0545bd4eedf..97fba501759 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -151,6 +151,22 @@ class Member < ActiveRecord::Base member end + def add_users(source, users, access_level, current_user: nil, expires_at: nil) + return [] unless users.present? + + self.transaction do + users.map do |user| + add_user( + source, + user, + access_level, + current_user: current_user, + expires_at: expires_at + ) + end + end + end + def access_levels Gitlab::Access.sym_options end @@ -173,18 +189,6 @@ class Member < ActiveRecord::Base # There is no current user for bulk actions, in which case anything is allowed !current_user || current_user.can?(:"update_#{member.type.underscore}", member) end - - def add_users_to_source(source, users, access_level, current_user: nil, expires_at: nil) - users.each do |user| - add_user( - source, - user, - access_level, - current_user: current_user, - expires_at: expires_at - ) - end - end end def real_source_type |