diff options
Diffstat (limited to 'app/models/namespace.rb')
| -rw-r--r-- | app/models/namespace.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/app/models/namespace.rb b/app/models/namespace.rb index 247115351b5..4f536555d0a 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -1,11 +1,13 @@ class Namespace < ActiveRecord::Base - attr_accessible :code, :name, :owner_id + attr_accessible :name, :path - has_many :projects + has_many :projects, dependent: :destroy belongs_to :owner, class_name: "User" validates :name, presence: true, uniqueness: true - validates :code, presence: true, uniqueness: true + validates :path, uniqueness: true, presence: true, length: { within: 1..255 }, + format: { with: /\A[a-zA-Z][a-zA-Z0-9_\-\.]*\z/, + message: "only letters, digits & '_' '-' '.' allowed. Letter should be first" } validates :owner, presence: true delegate :name, to: :owner, allow_nil: true, prefix: true @@ -15,11 +17,11 @@ class Namespace < ActiveRecord::Base scope :root, where('type IS NULL') def self.search query - where("name LIKE :query OR code LIKE :query", query: "%#{query}%") + where("name LIKE :query OR path LIKE :query", query: "%#{query}%") end def to_param - code + path end def human_name @@ -27,7 +29,7 @@ class Namespace < ActiveRecord::Base end def ensure_dir_exist - namespace_dir_path = File.join(Gitlab.config.git_base_path, code) + namespace_dir_path = File.join(Gitlab.config.git_base_path, path) Dir.mkdir(namespace_dir_path) unless File.exists?(namespace_dir_path) end end |
