From 9dbd5b3cfad10b214ae5ef27c39246bbb74a5077 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 24 Oct 2016 10:19:36 +0300 Subject: Revert "Change "Group#web_url" to return "/groups/twitter" rather than "/twitter"." This reverts commit c81ff152e08d58c13efbd50c40dd2e083ac65083. --- app/models/group.rb | 2 +- config/routes/group.rb | 33 +++++++++++++++------------------ spec/models/group_spec.rb | 6 ------ 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/app/models/group.rb b/app/models/group.rb index 6865e610718..00a595d2705 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -68,7 +68,7 @@ class Group < Namespace end def web_url - Gitlab::Routing.url_helpers.group_canonical_url(self) + Gitlab::Routing.url_helpers.group_url(self) end def human_name diff --git a/config/routes/group.rb b/config/routes/group.rb index 826048ba196..4838c9d91c6 100644 --- a/config/routes/group.rb +++ b/config/routes/group.rb @@ -12,26 +12,23 @@ constraints(GroupUrlConstrainer.new) do end end -scope constraints: { id: /[a-zA-Z.0-9_\-]+(? 'groups#show', as: :group_canonical end diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index 47f89f744cb..ac862055ebc 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -265,10 +265,4 @@ describe Group, models: true do members end - - describe '#web_url' do - it 'returns the canonical URL' do - expect(group.web_url).to include("groups/#{group.name}") - end - end end -- cgit v1.2.1 From 036fac06d18e82f0d0696bd1b350548bb47125e8 Mon Sep 17 00:00:00 2001 From: Linus G Thiel Date: Wed, 5 Oct 2016 21:58:34 +0200 Subject: Gracefully handle adding of no users to projects and groups - Disable {project, group} members submit button if no users If no users are selected, the submit button should be disabled. - Alert user when no users were added to {project, group}. When no users were selected for adding, an alert message is flashed that no users were added. - Also, this commit adds a feedback when users were actually added to a project, in symmetry with how group members are handled. Closes #22967, #23270. --- CHANGELOG.md | 1 + app/assets/javascripts/application.js | 5 +- app/controllers/groups/group_members_controller.rb | 4 ++ .../projects/project_members_controller.rb | 6 ++- app/views/groups/group_members/index.html.haml | 3 ++ app/views/projects/project_members/index.html.haml | 3 ++ .../groups/group_members_controller_spec.rb | 54 ++++++++++++++++++++ .../projects/project_members_controller_spec.rb | 57 ++++++++++++++++++++++ 8 files changed, 130 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 909af5fc053..3fa0e67037e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,6 +69,7 @@ Please view this file on the master branch, on stable branches it's out of date. - Update Gitlab Shell to fix some problems with moving projects between storages - Cache rendered markdown in the database, rather than Redis - Avoid database queries on Banzai::ReferenceParser::BaseParser for nodes without references + - Better handle when no users were selected for adding to group or project. (Linus Thiel) - Simplify Mentionable concern instance methods - API: Ability to retrieve version information (Robert Schilling) - Fix permission for setting an issue's due date diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 8a61669822c..17cbfd0e66f 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -83,14 +83,15 @@ }; // Disable button if text field is empty - window.disableButtonIfEmptyField = function(field_selector, button_selector) { + window.disableButtonIfEmptyField = function(field_selector, button_selector, event_name) { + event_name = event_name || 'input'; var closest_submit, field; field = $(field_selector); closest_submit = field.closest('form').find(button_selector); if (rstrip(field.val()) === "") { closest_submit.disable(); } - return field.on('input', function() { + return field.on(event_name, function() { if (rstrip($(this).val()) === "") { return closest_submit.disable(); } else { diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb index 18cd800c619..3a373e4a946 100644 --- a/app/controllers/groups/group_members_controller.rb +++ b/app/controllers/groups/group_members_controller.rb @@ -21,6 +21,10 @@ class Groups::GroupMembersController < Groups::ApplicationController end def create + if params[:user_ids].empty? + return redirect_to group_group_members_path(@group), alert: 'No users specified.' + end + @group.add_users( params[:user_ids].split(','), params[:access_level], diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb index 2a07d154853..2bac48c5490 100644 --- a/app/controllers/projects/project_members_controller.rb +++ b/app/controllers/projects/project_members_controller.rb @@ -25,6 +25,10 @@ class Projects::ProjectMembersController < Projects::ApplicationController end def create + if params[:user_ids].empty? + return redirect_to namespace_project_project_members_path(@project.namespace, @project), alert: 'No users specified.' + end + @project.team.add_users( params[:user_ids].split(','), params[:access_level], @@ -32,7 +36,7 @@ class Projects::ProjectMembersController < Projects::ApplicationController current_user: current_user ) - redirect_to namespace_project_project_members_path(@project.namespace, @project) + redirect_to namespace_project_project_members_path(@project.namespace, @project), notice: 'Users were successfully added.' end def update diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index ebf9aca7700..b295ad0e182 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -29,3 +29,6 @@ %ul.content-list = render partial: 'shared/members/member', collection: @members, as: :member = paginate @members, theme: 'gitlab' + +:javascript + window.disableButtonIfEmptyField('#user_ids', 'input[name=commit]', 'change'); diff --git a/app/views/projects/project_members/index.html.haml b/app/views/projects/project_members/index.html.haml index bdeb704b6da..3904647b608 100644 --- a/app/views/projects/project_members/index.html.haml +++ b/app/views/projects/project_members/index.html.haml @@ -26,3 +26,6 @@ = render 'team', members: @project_members = paginate @project_members, theme: "gitlab" + +:javascript + window.disableButtonIfEmptyField('#user_ids', 'input[name=commit]', 'change'); diff --git a/spec/controllers/groups/group_members_controller_spec.rb b/spec/controllers/groups/group_members_controller_spec.rb index ad15b3f8f40..82eebe6f2d4 100644 --- a/spec/controllers/groups/group_members_controller_spec.rb +++ b/spec/controllers/groups/group_members_controller_spec.rb @@ -13,6 +13,60 @@ describe Groups::GroupMembersController do end end + describe '#create' do + let(:group) { create(:group, :public) } + + context 'when users are added' do + let(:user) { create(:user) } + let(:group_user) { create(:user) } + let(:member) do + group.add_developer(group_user) + group.members.find_by(user_id: group_user) + end + + context 'when user does not have enough rights' do + before do + group.members.delete(member) + group.add_developer(user) + sign_in(user) + end + + it 'returns 403' do + post :create, group_id: group, + user_ids: member + + expect(response).to have_http_status(403) + expect(group.users).not_to include group_user + end + end + + context 'when user has enough rights' do + before do + group.add_owner(user) + sign_in(user) + end + + it 'adds user to members' do + post :create, group_id: group, + user_ids: member + + expect(response).to set_flash.to 'Users were successfully added.' + expect(response).to redirect_to(group_group_members_path(group)) + expect(group.users).to include group_user + end + + it 'adds no user to members' do + post :create, group_id: group, + user_ids: '' + + expect(response).to set_flash.to 'No users specified.' + expect(response).to redirect_to(group_group_members_path(group)) + expect(group.users).not_to include group_user + end + end + end + end + describe 'DELETE destroy' do let(:member) { create(:group_member, :developer, group: group) } diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb index 5e487241d07..44d907eafd7 100644 --- a/spec/controllers/projects/project_members_controller_spec.rb +++ b/spec/controllers/projects/project_members_controller_spec.rb @@ -13,6 +13,63 @@ describe Projects::ProjectMembersController do end end + describe '#create' do + let(:project) { create(:project, :public) } + + context 'when users are added' do + let(:user) { create(:user) } + let(:team_user) { create(:user) } + let(:member) do + project.team << [team_user, :developer] + project.members.find_by(user_id: team_user.id) + end + + context 'when user does not have enough rights' do + before do + project.members.delete(member) + project.team << [user, :developer] + sign_in(user) + end + + it 'returns 404' do + post :create, namespace_id: project.namespace, + project_id: project, + user_ids: member + + expect(response).to have_http_status(404) + expect(project.users).not_to include team_user + end + end + + context 'when user has enough rights' do + before do + project.team << [user, :master] + sign_in(user) + end + + it 'adds user to members' do + post :create, namespace_id: project.namespace, + project_id: project, + user_ids: member + + expect(response).to set_flash.to 'Users were successfully added.' + expect(response).to redirect_to(namespace_project_project_members_path(project.namespace, project)) + expect(project.users).to include team_user + end + + it 'adds no user to members' do + post :create, namespace_id: project.namespace, + project_id: project, + user_ids: '' + + expect(response).to set_flash.to 'No users specified.' + expect(response).to redirect_to(namespace_project_project_members_path(project.namespace, project)) + expect(project.users).not_to include team_user + end + end + end + end + describe 'DELETE destroy' do let(:member) { create(:project_member, :developer, project: project) } -- cgit v1.2.1 From c82278898d4e7932da1e0071d4dcfa13f65967f0 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 19 Oct 2016 17:27:28 +0300 Subject: Refactor groups/projects members controller Signed-off-by: Dmitriy Zaporozhets --- app/controllers/groups/group_members_controller.rb | 2 +- app/controllers/projects/project_members_controller.rb | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb index 3a373e4a946..5a6e26ab8cc 100644 --- a/app/controllers/groups/group_members_controller.rb +++ b/app/controllers/groups/group_members_controller.rb @@ -21,7 +21,7 @@ class Groups::GroupMembersController < Groups::ApplicationController end def create - if params[:user_ids].empty? + if params[:user_ids].blank? return redirect_to group_group_members_path(@group), alert: 'No users specified.' end diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb index 2bac48c5490..ec8512bbaba 100644 --- a/app/controllers/projects/project_members_controller.rb +++ b/app/controllers/projects/project_members_controller.rb @@ -25,16 +25,18 @@ class Projects::ProjectMembersController < Projects::ApplicationController end def create - if params[:user_ids].empty? - return redirect_to namespace_project_project_members_path(@project.namespace, @project), alert: 'No users specified.' + if params[:user_ids].blank? && params[:group_ids].blank? + return redirect_to namespace_project_project_members_path(@project.namespace, @project), alert: 'No users or groups specified.' end - @project.team.add_users( - params[:user_ids].split(','), - params[:access_level], - expires_at: params[:expires_at], - current_user: current_user - ) + if params[:user_ids].present? + @project.team.add_users( + params[:user_ids].split(','), + params[:access_level], + expires_at: params[:expires_at], + current_user: current_user + ) + end redirect_to namespace_project_project_members_path(@project.namespace, @project), notice: 'Users were successfully added.' end -- cgit v1.2.1 From 1eba14ae2ecd829642e88610b0b2964e5d04158e Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 19 Oct 2016 17:50:41 +0300 Subject: Refactor create member tests from group_members_controller_spec Signed-off-by: Dmitriy Zaporozhets --- .../groups/group_members_controller_spec.rb | 71 +++++++++------------- 1 file changed, 30 insertions(+), 41 deletions(-) diff --git a/spec/controllers/groups/group_members_controller_spec.rb b/spec/controllers/groups/group_members_controller_spec.rb index 82eebe6f2d4..c7db84dd5f9 100644 --- a/spec/controllers/groups/group_members_controller_spec.rb +++ b/spec/controllers/groups/group_members_controller_spec.rb @@ -13,56 +13,45 @@ describe Groups::GroupMembersController do end end - describe '#create' do - let(:group) { create(:group, :public) } - - context 'when users are added' do - let(:user) { create(:user) } - let(:group_user) { create(:user) } - let(:member) do - group.add_developer(group_user) - group.members.find_by(user_id: group_user) - end + describe 'POST create' do + let(:group_user) { create(:user) } - context 'when user does not have enough rights' do - before do - group.members.delete(member) - group.add_developer(user) - sign_in(user) - end + before { sign_in(user) } - it 'returns 403' do - post :create, group_id: group, - user_ids: member + context 'when user does not have enough rights' do + before { group.add_developer(user) } - expect(response).to have_http_status(403) - expect(group.users).not_to include group_user - end + it 'returns 403' do + post :create, group_id: group, + user_ids: group_user.id, + access_level: Gitlab::Access::GUEST + + expect(response).to have_http_status(403) + expect(group.users).not_to include group_user end + end - context 'when user has enough rights' do - before do - group.add_owner(user) - sign_in(user) - end + context 'when user has enough rights' do + before { group.add_owner(user) } - it 'adds user to members' do - post :create, group_id: group, - user_ids: member + it 'adds user to members' do + post :create, group_id: group, + user_ids: group_user.id, + access_level: Gitlab::Access::GUEST - expect(response).to set_flash.to 'Users were successfully added.' - expect(response).to redirect_to(group_group_members_path(group)) - expect(group.users).to include group_user - end + expect(response).to set_flash.to 'Users were successfully added.' + expect(response).to redirect_to(group_group_members_path(group)) + expect(group.users).to include group_user + end - it 'adds no user to members' do - post :create, group_id: group, - user_ids: '' + it 'adds no user to members' do + post :create, group_id: group, + user_ids: '', + access_level: Gitlab::Access::GUEST - expect(response).to set_flash.to 'No users specified.' - expect(response).to redirect_to(group_group_members_path(group)) - expect(group.users).not_to include group_user - end + expect(response).to set_flash.to 'No users specified.' + expect(response).to redirect_to(group_group_members_path(group)) + expect(group.users).not_to include group_user end end end -- cgit v1.2.1 From 52707acfa73e15896c4794d55e430eb14a532f66 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 20 Oct 2016 10:43:05 +0300 Subject: Move changelog item to 8.14 Signed-off-by: Dmitriy Zaporozhets --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fa0e67037e..444320bb35c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ Please view this file on the master branch, on stable branches it's out of date. - Fix error in generating labels - Fix reply-by-email not working due to queue name mismatch - Expire and build repository cache after project import + - Simpler arguments passed to named_route on toggle_award_url helper method + - Better handle when no users were selected for adding to group or project. (Linus Thiel) ## 8.13.0 (2016-10-22) - Removes extra line for empty issue description. (!7045) @@ -69,7 +71,6 @@ Please view this file on the master branch, on stable branches it's out of date. - Update Gitlab Shell to fix some problems with moving projects between storages - Cache rendered markdown in the database, rather than Redis - Avoid database queries on Banzai::ReferenceParser::BaseParser for nodes without references - - Better handle when no users were selected for adding to group or project. (Linus Thiel) - Simplify Mentionable concern instance methods - API: Ability to retrieve version information (Robert Schilling) - Fix permission for setting an issue's due date -- cgit v1.2.1 From 3608f9284e676437e306b4f08a157f997471f4d3 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 20 Oct 2016 10:59:36 +0300 Subject: Improve create project member test at project_members_controller_spec Signed-off-by: Dmitriy Zaporozhets --- .../projects/project_members_controller_spec.rb | 41 +++++++++------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb index 44d907eafd7..b4f066d8600 100644 --- a/spec/controllers/projects/project_members_controller_spec.rb +++ b/spec/controllers/projects/project_members_controller_spec.rb @@ -13,58 +13,49 @@ describe Projects::ProjectMembersController do end end - describe '#create' do - let(:project) { create(:project, :public) } - + describe 'POST create' do context 'when users are added' do - let(:user) { create(:user) } - let(:team_user) { create(:user) } - let(:member) do - project.team << [team_user, :developer] - project.members.find_by(user_id: team_user.id) - end + let(:project_user) { create(:user) } + + before { sign_in(user) } context 'when user does not have enough rights' do - before do - project.members.delete(member) - project.team << [user, :developer] - sign_in(user) - end + before { project.team << [user, :developer] } it 'returns 404' do post :create, namespace_id: project.namespace, project_id: project, - user_ids: member + user_ids: project_user.id, + access_level: Gitlab::Access::GUEST expect(response).to have_http_status(404) - expect(project.users).not_to include team_user + expect(project.users).not_to include project_user end end context 'when user has enough rights' do - before do - project.team << [user, :master] - sign_in(user) - end + before { project.team << [user, :master] } it 'adds user to members' do post :create, namespace_id: project.namespace, project_id: project, - user_ids: member + user_ids: project_user.id, + access_level: Gitlab::Access::GUEST expect(response).to set_flash.to 'Users were successfully added.' expect(response).to redirect_to(namespace_project_project_members_path(project.namespace, project)) - expect(project.users).to include team_user + expect(project.users).to include project_user end it 'adds no user to members' do post :create, namespace_id: project.namespace, project_id: project, - user_ids: '' + user_ids: '', + access_level: Gitlab::Access::GUEST - expect(response).to set_flash.to 'No users specified.' + expect(response).to set_flash.to 'No users or groups specified.' expect(response).to redirect_to(namespace_project_project_members_path(project.namespace, project)) - expect(project.users).not_to include team_user + expect(project.users).not_to include project_user end end end -- cgit v1.2.1 From bedbb7b744504a0008e0bc33b21f229a84d616d6 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 20 Oct 2016 11:07:06 +0300 Subject: Refactor js that disable form submit if no members selected Signed-off-by: Dmitriy Zaporozhets --- app/assets/javascripts/members.js.es6 | 1 + app/views/groups/group_members/index.html.haml | 3 --- app/views/projects/project_members/index.html.haml | 3 --- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/app/assets/javascripts/members.js.es6 b/app/assets/javascripts/members.js.es6 index a0cd20f21e8..2bdd0f7a637 100644 --- a/app/assets/javascripts/members.js.es6 +++ b/app/assets/javascripts/members.js.es6 @@ -10,6 +10,7 @@ $('.project_member, .group_member').off('ajax:success').on('ajax:success', this.removeRow); $('.js-member-update-control').off('change').on('change', this.formSubmit); $('.js-edit-member-form').off('ajax:success').on('ajax:success', this.formSuccess); + disableButtonIfEmptyField('#user_ids', 'input[name=commit]', 'change'); } removeRow(e) { diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index b295ad0e182..ebf9aca7700 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -29,6 +29,3 @@ %ul.content-list = render partial: 'shared/members/member', collection: @members, as: :member = paginate @members, theme: 'gitlab' - -:javascript - window.disableButtonIfEmptyField('#user_ids', 'input[name=commit]', 'change'); diff --git a/app/views/projects/project_members/index.html.haml b/app/views/projects/project_members/index.html.haml index 3904647b608..bdeb704b6da 100644 --- a/app/views/projects/project_members/index.html.haml +++ b/app/views/projects/project_members/index.html.haml @@ -26,6 +26,3 @@ = render 'team', members: @project_members = paginate @project_members, theme: "gitlab" - -:javascript - window.disableButtonIfEmptyField('#user_ids', 'input[name=commit]', 'change'); -- cgit v1.2.1 From 80ea344e427379b5e614f14c90af5369ae1c4a16 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 20 Oct 2016 11:48:38 +0300 Subject: Trigger change even in select2 test helper to produce production-like behaviour Signed-off-by: Dmitriy Zaporozhets --- spec/support/select2_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/support/select2_helper.rb b/spec/support/select2_helper.rb index 35cc51725c6..d30cc8ff9f2 100644 --- a/spec/support/select2_helper.rb +++ b/spec/support/select2_helper.rb @@ -17,9 +17,9 @@ module Select2Helper selector = options.fetch(:from) if options[:multiple] - execute_script("$('#{selector}').select2('val', ['#{value}'], true);") + execute_script("$('#{selector}').select2('val', ['#{value}']).trigger('change');") else - execute_script("$('#{selector}').select2('val', '#{value}', true);") + execute_script("$('#{selector}').select2('val', '#{value}').trigger('change');") end end end -- cgit v1.2.1 From f5659ac4d1ad26d4d0ba5ea10adb92511cc911f2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 20 Oct 2016 14:58:26 +0300 Subject: Add parentheses around return redirect_to method Signed-off-by: Dmitriy Zaporozhets --- app/controllers/groups/group_members_controller.rb | 2 +- app/controllers/projects/project_members_controller.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb index 5a6e26ab8cc..940a3ad20ba 100644 --- a/app/controllers/groups/group_members_controller.rb +++ b/app/controllers/groups/group_members_controller.rb @@ -22,7 +22,7 @@ class Groups::GroupMembersController < Groups::ApplicationController def create if params[:user_ids].blank? - return redirect_to group_group_members_path(@group), alert: 'No users specified.' + return redirect_to(group_group_members_path(@group), alert: 'No users specified.') end @group.add_users( diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb index ec8512bbaba..073d4338338 100644 --- a/app/controllers/projects/project_members_controller.rb +++ b/app/controllers/projects/project_members_controller.rb @@ -26,7 +26,7 @@ class Projects::ProjectMembersController < Projects::ApplicationController def create if params[:user_ids].blank? && params[:group_ids].blank? - return redirect_to namespace_project_project_members_path(@project.namespace, @project), alert: 'No users or groups specified.' + return redirect_to(namespace_project_project_members_path(@project.namespace, @project), alert: 'No users or groups specified.') end if params[:user_ids].present? -- cgit v1.2.1 From 7ded7c17d4da00e60d2855560a5c53b6dbaf98c0 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 20 Oct 2016 15:27:02 +0300 Subject: Update project member controller to match recent master logic Signed-off-by: Dmitriy Zaporozhets --- app/controllers/projects/project_members_controller.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb index 073d4338338..d08f490de18 100644 --- a/app/controllers/projects/project_members_controller.rb +++ b/app/controllers/projects/project_members_controller.rb @@ -25,18 +25,16 @@ class Projects::ProjectMembersController < Projects::ApplicationController end def create - if params[:user_ids].blank? && params[:group_ids].blank? + if params[:user_ids].blank? return redirect_to(namespace_project_project_members_path(@project.namespace, @project), alert: 'No users or groups specified.') end - if params[:user_ids].present? - @project.team.add_users( - params[:user_ids].split(','), - params[:access_level], - expires_at: params[:expires_at], - current_user: current_user - ) - end + @project.team.add_users( + params[:user_ids].split(','), + params[:access_level], + expires_at: params[:expires_at], + current_user: current_user + ) redirect_to namespace_project_project_members_path(@project.namespace, @project), notice: 'Users were successfully added.' end -- cgit v1.2.1