project path & code regexp validation
This commit is contained in:
parent
29158ea38c
commit
57baa49bc3
5 changed files with 9 additions and 10 deletions
|
@ -16,6 +16,8 @@ class Project < ActiveRecord::Base
|
|||
validates :path,
|
||||
:uniqueness => true,
|
||||
:presence => true,
|
||||
:format => { :with => /^[a-zA-Z0-9_\-]*$/,
|
||||
:message => "only letters, digits & '_' '-' allowed" },
|
||||
:length => { :within => 0..255 }
|
||||
|
||||
validates :description,
|
||||
|
@ -24,14 +26,15 @@ class Project < ActiveRecord::Base
|
|||
validates :code,
|
||||
:presence => true,
|
||||
:uniqueness => true,
|
||||
:length => { :within => 3..12 }
|
||||
:format => { :with => /^[a-zA-Z0-9_\-]*$/,
|
||||
:message => "only letters, digits & '_' '-' allowed" },
|
||||
:length => { :within => 3..16 }
|
||||
|
||||
validates :owner,
|
||||
:presence => true
|
||||
|
||||
validate :check_limit
|
||||
|
||||
before_save :format_code
|
||||
after_destroy :destroy_gitosis_project
|
||||
after_save :update_gitosis_project
|
||||
|
||||
|
@ -47,10 +50,6 @@ class Project < ActiveRecord::Base
|
|||
notes.where(:noteable_type => ["", nil])
|
||||
end
|
||||
|
||||
def format_code
|
||||
read_attribute(:code).downcase.strip.gsub(' ', '')
|
||||
end
|
||||
|
||||
def update_gitosis_project
|
||||
Gitosis.new.configure do |c|
|
||||
c.update_project(path, gitosis_writers)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
if defined?(Footnotes) && Rails.env.development?
|
||||
Footnotes.run! # first of all
|
||||
#Footnotes.run! # first of all
|
||||
|
||||
# ... other init code
|
||||
end
|
||||
|
|
|
@ -32,7 +32,7 @@ Gitlab::Application.routes.draw do
|
|||
get "tree/:commit_id/:path" => "projects#tree",
|
||||
:as => :tree_file,
|
||||
:constraints => {
|
||||
:id => /[a-zA-Z0-9]+/,
|
||||
:id => /[a-zA-Z0-9_\-]+/,
|
||||
:commit_id => /[a-zA-Z0-9]+/,
|
||||
:path => /.*/
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ describe "Admin::Projects" do
|
|||
visit new_admin_project_path
|
||||
fill_in 'Name', :with => 'NewProject'
|
||||
fill_in 'Code', :with => 'NPR'
|
||||
fill_in 'Path', :with => '/tmp/legit_test/legit'
|
||||
fill_in 'Path', :with => 'legit_1'
|
||||
expect { click_button "Save" }.to change { Project.count }.by(1)
|
||||
@project = Project.last
|
||||
end
|
||||
|
|
|
@ -39,7 +39,7 @@ describe "Projects" do
|
|||
visit new_project_path
|
||||
fill_in 'Name', :with => 'NewProject'
|
||||
fill_in 'Code', :with => 'NPR'
|
||||
fill_in 'Path', :with => '/tmp/legit_test/legit'
|
||||
fill_in 'Path', :with => 'newproject'
|
||||
expect { click_button "Create Project" }.to change { Project.count }.by(1)
|
||||
@project = Project.last
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue