summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-12-29 19:18:05 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-12-29 19:18:05 +0200
commit283e868ef523185b0ee314b9e2164599780d888b (patch)
tree2ce1512216edc13b2072e0af190df9142690cf80
parent10de4e3bb612a529480c93da53849d95e98a8633 (diff)
downloadgitlab-ce-dz-nested-group-misc.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.rb14
-rw-r--r--app/views/groups/show.html.haml5
-rw-r--r--spec/features/groups_spec.rb2
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