diff options
author | Douwe Maan <douwe@selenight.nl> | 2018-01-31 11:39:03 -0600 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2018-02-06 12:09:03 -0600 |
commit | a03d29da1dbbef3c202899cef3cd89b453a8b76f (patch) | |
tree | 83f08b67027f9169eac9dfbc6a4c19f1752ad9ff /app | |
parent | 75144b1e03db342730535f1f49b0e7cd2987d755 (diff) | |
download | gitlab-ce-a03d29da1dbbef3c202899cef3cd89b453a8b76f.tar.gz |
Validate User username only on Namespace, and bubble up appropriately
Diffstat (limited to 'app')
-rw-r--r-- | app/models/user.rb | 4 | ||||
-rw-r--r-- | app/validators/abstract_path_validator.rb | 6 | ||||
-rw-r--r-- | app/validators/namespace_path_validator.rb | 4 | ||||
-rw-r--r-- | app/validators/project_path_validator.rb | 4 | ||||
-rw-r--r-- | app/validators/user_path_validator.rb | 15 |
5 files changed, 2 insertions, 31 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index da56446b6ab..05c93d3cb17 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -151,9 +151,7 @@ class User < ActiveRecord::Base validates :projects_limit, presence: true, numericality: { greater_than_or_equal_to: 0, less_than_or_equal_to: Gitlab::Database::MAX_INT_VALUE } - validates :username, - user_path: true, - presence: true + validates :username, presence: true validates :namespace, presence: true validate :namespace_move_dir_allowed, if: :username_changed? diff --git a/app/validators/abstract_path_validator.rb b/app/validators/abstract_path_validator.rb index adbccb65a84..e43b66cbe3a 100644 --- a/app/validators/abstract_path_validator.rb +++ b/app/validators/abstract_path_validator.rb @@ -13,10 +13,6 @@ class AbstractPathValidator < ActiveModel::EachValidator raise NotImplementedError end - def self.full_path(record, value) - value - end - def self.valid_path?(path) encode!(path) "#{path}/" =~ path_regex @@ -28,7 +24,7 @@ class AbstractPathValidator < ActiveModel::EachValidator return end - full_path = self.class.full_path(record, value) + full_path = record.build_full_path return unless full_path unless self.class.valid_path?(full_path) diff --git a/app/validators/namespace_path_validator.rb b/app/validators/namespace_path_validator.rb index 4a0aa64ae0c..7b0ae4db5d4 100644 --- a/app/validators/namespace_path_validator.rb +++ b/app/validators/namespace_path_validator.rb @@ -12,8 +12,4 @@ class NamespacePathValidator < AbstractPathValidator def self.format_error_message Gitlab::PathRegex.namespace_format_message end - - def self.full_path(record, value) - record.build_full_path - end end diff --git a/app/validators/project_path_validator.rb b/app/validators/project_path_validator.rb index 829b596ad3c..424fd77a6a3 100644 --- a/app/validators/project_path_validator.rb +++ b/app/validators/project_path_validator.rb @@ -12,8 +12,4 @@ class ProjectPathValidator < AbstractPathValidator def self.format_error_message Gitlab::PathRegex.project_path_format_message end - - def self.full_path(record, value) - record.build_full_path - end end diff --git a/app/validators/user_path_validator.rb b/app/validators/user_path_validator.rb deleted file mode 100644 index adf02901802..00000000000 --- a/app/validators/user_path_validator.rb +++ /dev/null @@ -1,15 +0,0 @@ -class UserPathValidator < AbstractPathValidator - extend Gitlab::EncodingHelper - - def self.path_regex - Gitlab::PathRegex.root_namespace_path_regex - end - - def self.format_regex - Gitlab::PathRegex.namespace_format_regex - end - - def self.format_error_message - Gitlab::PathRegex.namespace_format_message - end -end |