diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2016-12-29 19:18:05 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2016-12-29 19:18:05 +0200 |
commit | 283e868ef523185b0ee314b9e2164599780d888b (patch) | |
tree | 2ce1512216edc13b2072e0af190df9142690cf80 | |
parent | 10de4e3bb612a529480c93da53849d95e98a8633 (diff) | |
download | gitlab-ce-283e868ef523185b0ee314b9e2164599780d888b.tar.gz |
Refactor nested group related codedz-nested-group-misc
* 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>
-rw-r--r-- | app/services/groups/create_service.rb | 14 | ||||
-rw-r--r-- | app/views/groups/show.html.haml | 5 | ||||
-rw-r--r-- | 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 |