Merge branch 'dz-refactor-namespace-regex' into 'master'
Refactor namespace regex Reuse existing namespace regex constant in routing See merge request !7336
This commit is contained in:
commit
7be41074bb
|
|
@ -3,7 +3,7 @@ require 'constraints/group_url_constrainer'
|
|||
constraints(GroupUrlConstrainer.new) do
|
||||
scope(path: ':id',
|
||||
as: :group,
|
||||
constraints: { id: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ },
|
||||
constraints: { id: Gitlab::Regex.namespace_route_regex },
|
||||
controller: :groups) do
|
||||
get '/', action: :show
|
||||
patch '/', action: :update
|
||||
|
|
|
|||
|
|
@ -14,31 +14,32 @@ end
|
|||
constraints(UserUrlConstrainer.new) do
|
||||
scope(path: ':username',
|
||||
as: :user,
|
||||
constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ },
|
||||
constraints: { username: Gitlab::Regex.namespace_route_regex },
|
||||
controller: :users) do
|
||||
get '/', action: :show
|
||||
end
|
||||
end
|
||||
|
||||
scope(path: 'users/:username',
|
||||
as: :user,
|
||||
constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ },
|
||||
controller: :users) do
|
||||
get :calendar
|
||||
get :calendar_activities
|
||||
get :groups
|
||||
get :projects
|
||||
get :contributed, as: :contributed_projects
|
||||
get :snippets
|
||||
get :exists
|
||||
get '/', to: redirect('/%{username}')
|
||||
end
|
||||
scope(constraints: { username: Gitlab::Regex.namespace_route_regex }) do
|
||||
scope(path: 'users/:username',
|
||||
as: :user,
|
||||
controller: :users) do
|
||||
get :calendar
|
||||
get :calendar_activities
|
||||
get :groups
|
||||
get :projects
|
||||
get :contributed, as: :contributed_projects
|
||||
get :snippets
|
||||
get :exists
|
||||
get '/', to: redirect('/%{username}')
|
||||
end
|
||||
|
||||
# Compatibility with old routing
|
||||
# TODO (dzaporozhets): remove in 10.0
|
||||
get '/u/:username', to: redirect('/%{username}'), constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ }
|
||||
# TODO (dzaporozhets): remove in 9.0
|
||||
get '/u/:username/groups', to: redirect('/users/%{username}/groups'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
|
||||
get '/u/:username/projects', to: redirect('/users/%{username}/projects'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
|
||||
get '/u/:username/snippets', to: redirect('/users/%{username}/snippets'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
|
||||
get '/u/:username/contributed', to: redirect('/users/%{username}/contributed'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
|
||||
# Compatibility with old routing
|
||||
# TODO (dzaporozhets): remove in 10.0
|
||||
get '/u/:username', to: redirect('/%{username}')
|
||||
# TODO (dzaporozhets): remove in 9.0
|
||||
get '/u/:username/groups', to: redirect('/users/%{username}/groups')
|
||||
get '/u/:username/projects', to: redirect('/users/%{username}/projects')
|
||||
get '/u/:username/snippets', to: redirect('/users/%{username}/snippets')
|
||||
get '/u/:username/contributed', to: redirect('/users/%{username}/contributed')
|
||||
end
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
|
|||
end
|
||||
|
||||
step 'I visit group "NonExistentGroup" page' do
|
||||
visit group_path(-1)
|
||||
visit group_path("NonExistentGroup")
|
||||
end
|
||||
|
||||
step 'the archived project have some issues' do
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@ module Gitlab
|
|||
@namespace_regex ||= /\A#{NAMESPACE_REGEX_STR}\z/.freeze
|
||||
end
|
||||
|
||||
def namespace_route_regex
|
||||
@namespace_route_regex ||= /#{NAMESPACE_REGEX_STR}/.freeze
|
||||
end
|
||||
|
||||
def namespace_regex_message
|
||||
"can contain only letters, digits, '_', '-' and '.'. " \
|
||||
"Cannot start with '-' or end in '.', '.git' or '.atom'." \
|
||||
|
|
|
|||
Loading…
Reference in New Issue