summaryrefslogtreecommitdiff
path: root/app/services/members
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-02-11 15:09:11 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-02-11 15:09:11 +0000
commit5231344d99fd052e193243041dc180ed26cfe2ac (patch)
treef9e518b857c8e77bde98d73291107ab410938fee /app/services/members
parent9f5ac379c76c278ee9ee1662e26c4612b0a117bd (diff)
downloadgitlab-ce-5231344d99fd052e193243041dc180ed26cfe2ac.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/members')
-rw-r--r--app/services/members/create_service.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/app/services/members/create_service.rb b/app/services/members/create_service.rb
index 5fcf2d711b0..cffccda1a44 100644
--- a/app/services/members/create_service.rb
+++ b/app/services/members/create_service.rb
@@ -2,12 +2,12 @@
module Members
class CreateService < Members::BaseService
+ include Gitlab::Utils::StrongMemoize
+
DEFAULT_LIMIT = 100
def execute(source)
- return error(s_('AddMember|No users specified.')) if params[:user_ids].blank?
-
- user_ids = params[:user_ids].split(',').uniq.flatten
+ return error(s_('AddMember|No users specified.')) if user_ids.blank?
return error(s_("AddMember|Too many users specified (limit is %{user_limit})") % { user_limit: user_limit }) if
user_limit && user_ids.size > user_limit
@@ -47,6 +47,13 @@ module Members
private
+ def user_ids
+ strong_memoize(:user_ids) do
+ ids = params[:user_ids] || ''
+ ids.split(',').uniq.flatten
+ end
+ end
+
def user_limit
limit = params.fetch(:limit, DEFAULT_LIMIT)