From 283e868ef523185b0ee314b9e2164599780d888b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Thu, 29 Dec 2016 19:18:05 +0200 Subject: [PATCH] Refactor nested group related code * Simplify code around group parent access check * Rename 'Nested groups' to 'Subgroups' tab at group#show page Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> --- app/services/groups/create_service.rb | 14 ++++---------- app/views/groups/show.html.haml | 5 ++--- spec/features/groups_spec.rb | 2 +- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/app/services/groups/create_service.rb b/app/services/groups/create_service.rb index 9a630aee626..febeb661fb5 100644 --- a/app/services/groups/create_service.rb +++ b/app/services/groups/create_service.rb @@ -12,17 +12,11 @@ module Groups return @group end - parent_id = params[:parent_id] + if @group.parent && !can?(current_user, :admin_group, @group.parent) + @group.parent = nil + @group.errors.add(:parent_id, 'manage access required to create subgroup') - if parent_id - parent = Group.find(parent_id) - - unless can?(current_user, :admin_group, parent) - @group.parent_id = nil - @group.errors.add(:parent_id, 'manage access required to create subgroup') - - return @group - end + return @group end @group.name ||= @group.path.dup diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml index a3cd333373e..9ef88f233c5 100644 --- a/app/views/groups/show.html.haml +++ b/app/views/groups/show.html.haml @@ -35,7 +35,7 @@ - if @nested_groups.present? %li = link_to "#groups", 'data-toggle' => 'tab' do - Nested Groups + Subgroups .nav-controls = form_tag request.path, method: :get, class: 'project-filter-form', id: 'project-filter-form' do |f| = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'projects-list-filter form-control', spellcheck: false @@ -55,5 +55,4 @@ - if @nested_groups.present? .tab-pane#groups %ul.content-list - - @nested_groups.each do |group| - = render 'shared/groups/group', group: group + = render partial: 'shared/groups/group', collection: @nested_groups diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb index d865a71f04b..a515c92db37 100644 --- a/spec/features/groups_spec.rb +++ b/spec/features/groups_spec.rb @@ -115,7 +115,7 @@ feature 'Group', feature: true do it 'has nested groups tab with nested groups inside' do visit path - click_link 'Nested Groups' + click_link 'Subgroups' expect(page).to have_content(nested_group.full_name) end -- GitLab