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>
This commit is contained in:
Dmitriy Zaporozhets 2016-12-29 19:18:05 +02:00
parent 10de4e3bb6
commit 283e868ef5
No known key found for this signature in database
GPG key ID: 627C5F589F467F17
3 changed files with 7 additions and 14 deletions

View file

@ -12,17 +12,11 @@ module Groups
return @group return @group
end 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 return @group
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
end end
@group.name ||= @group.path.dup @group.name ||= @group.path.dup

View file

@ -35,7 +35,7 @@
- if @nested_groups.present? - if @nested_groups.present?
%li %li
= link_to "#groups", 'data-toggle' => 'tab' do = link_to "#groups", 'data-toggle' => 'tab' do
Nested Groups Subgroups
.nav-controls .nav-controls
= form_tag request.path, method: :get, class: 'project-filter-form', id: 'project-filter-form' do |f| = 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 = 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? - if @nested_groups.present?
.tab-pane#groups .tab-pane#groups
%ul.content-list %ul.content-list
- @nested_groups.each do |group| = render partial: 'shared/groups/group', collection: @nested_groups
= render 'shared/groups/group', group: group

View file

@ -115,7 +115,7 @@ feature 'Group', feature: true do
it 'has nested groups tab with nested groups inside' do it 'has nested groups tab with nested groups inside' do
visit path visit path
click_link 'Nested Groups' click_link 'Subgroups'
expect(page).to have_content(nested_group.full_name) expect(page).to have_content(nested_group.full_name)
end end