Commit ee1b89ae authored by Valery Sizov's avatar Valery Sizov

Backport EE changes to group routes

parent 090aefdc
...@@ -4,51 +4,51 @@ resources :groups, only: [:index, :new, :create] do ...@@ -4,51 +4,51 @@ resources :groups, only: [:index, :new, :create] do
post :preview_markdown post :preview_markdown
end end
scope(path: 'groups/*group_id', constraints(GroupUrlConstrainer.new) do
module: :groups, scope(path: 'groups/*id',
as: :group, controller: :groups,
constraints: { group_id: Gitlab::PathRegex.full_namespace_route_regex }) do constraints: { id: Gitlab::PathRegex.full_namespace_route_regex, format: /(html|json|atom)/ }) do
resources :group_members, only: [:index, :create, :update, :destroy], concerns: :access_requestable do get :edit, as: :edit_group
post :resend_invite, on: :member get :issues, as: :issues_group
delete :leave, on: :collection get :merge_requests, as: :merge_requests_group
get :projects, as: :projects_group
get :activity, as: :activity_group
get '/', action: :show, as: :group_canonical
end end
resource :avatar, only: [:destroy] scope(path: 'groups/*group_id',
resources :milestones, constraints: { id: /[^\/]+/ }, only: [:index, :show, :edit, :update, :new, :create] do module: :groups,
member do as: :group,
get :merge_requests constraints: { group_id: Gitlab::PathRegex.full_namespace_route_regex }) do
get :participants resources :group_members, only: [:index, :create, :update, :destroy], concerns: :access_requestable do
get :labels post :resend_invite, on: :member
delete :leave, on: :collection
end end
end
resources :labels, except: [:show] do resource :avatar, only: [:destroy]
post :toggle_subscription, on: :member resources :milestones, constraints: { id: /[^\/]+/ }, only: [:index, :show, :edit, :update, :new, :create] do
end member do
get :merge_requests
get :participants
get :labels
end
end
scope path: '-' do resources :labels, except: [:show] do
namespace :settings do post :toggle_subscription, on: :member
resource :ci_cd, only: [:show], controller: 'ci_cd'
end end
resources :variables, only: [:index, :show, :update, :create, :destroy] scope path: '-' do
namespace :settings do
resource :ci_cd, only: [:show], controller: 'ci_cd'
end
resources :children, only: [:index] resources :variables, only: [:index, :show, :update, :create, :destroy]
end
end
scope(path: 'groups/*id', resources :children, only: [:index]
controller: :groups, end
constraints: { id: Gitlab::PathRegex.full_namespace_route_regex, format: /(html|json|atom)/ }) do end
get :edit, as: :edit_group
get :issues, as: :issues_group
get :merge_requests, as: :merge_requests_group
get :projects, as: :projects_group
get :activity, as: :activity_group
get '/', action: :show, as: :group_canonical
end
constraints(GroupUrlConstrainer.new) do
scope(path: '*id', scope(path: '*id',
as: :group, as: :group,
constraints: { id: Gitlab::PathRegex.full_namespace_route_regex, format: /(html|json|atom)/ }, constraints: { id: Gitlab::PathRegex.full_namespace_route_regex, format: /(html|json|atom)/ },
......
...@@ -285,17 +285,15 @@ end ...@@ -285,17 +285,15 @@ end
describe "Groups", "routing" do describe "Groups", "routing" do
let(:name) { 'complex.group-namegit' } let(:name) { 'complex.group-namegit' }
let!(:group) { create(:group, name: name) }
before do
allow_any_instance_of(GroupUrlConstrainer).to receive(:matches?).and_return(true)
end
it "to #show" do it "to #show" do
expect(get("/groups/#{name}")).to route_to('groups#show', id: name) expect(get("/groups/#{name}")).to route_to('groups#show', id: name)
end end
it "also supports nested groups" do it "also supports nested groups" do
expect(get("/#{name}/#{name}")).to route_to('groups#show', id: "#{name}/#{name}") nested_group = create(:group, parent: group)
expect(get("/#{name}/#{nested_group.name}")).to route_to('groups#show', id: "#{name}/#{nested_group.name}")
end end
it "also display group#show on the short path" do it "also display group#show on the short path" do
...@@ -313,10 +311,6 @@ describe "Groups", "routing" do ...@@ -313,10 +311,6 @@ describe "Groups", "routing" do
it "to #members" do it "to #members" do
expect(get("/groups/#{name}/group_members")).to route_to('groups/group_members#index', group_id: name) expect(get("/groups/#{name}/group_members")).to route_to('groups/group_members#index', group_id: name)
end end
it "also display group#show with slash in the path" do
expect(get('/group/subgroup')).to route_to('groups#show', id: 'group/subgroup')
end
end end
describe HealthCheckController, 'routing' do describe HealthCheckController, 'routing' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment