mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-01 03:57:15 +00:00
Fixed that 2 repositories can be created with blank/nil identifier (#19400).
git-svn-id: http://svn.redmine.org/redmine/trunk@14156 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a769aedb44
commit
5cd29b1a6b
@ -30,6 +30,7 @@ class Repository < ActiveRecord::Base
|
||||
|
||||
serialize :extra_info
|
||||
|
||||
before_validation :normalize_identifier
|
||||
before_save :check_default
|
||||
|
||||
# Raw SQL to delete changesets and changes in the database
|
||||
@ -469,6 +470,10 @@ class Repository < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def normalize_identifier
|
||||
self.identifier = identifier.to_s.strip
|
||||
end
|
||||
|
||||
def check_default
|
||||
if !is_default? && set_as_default?
|
||||
self.is_default = true
|
||||
|
||||
@ -94,6 +94,18 @@ class RepositoryTest < ActiveSupport::TestCase
|
||||
assert !r.save
|
||||
end
|
||||
|
||||
def test_2_repositories_with_blank_identifier_and_one_as_default_should_not_be_valid
|
||||
Repository::Subversion.create!(:project_id => 3, :identifier => '', :url => 'file:///foo', :is_default => true)
|
||||
r = Repository::Subversion.new(:project_id => 3, :identifier => '', :url => 'file:///bar')
|
||||
assert !r.save
|
||||
end
|
||||
|
||||
def test_2_repositories_with_blank_and_nil_identifier_should_not_be_valid
|
||||
Repository::Subversion.create!(:project_id => 3, :identifier => nil, :url => 'file:///foo')
|
||||
r = Repository::Subversion.new(:project_id => 3, :identifier => '', :url => 'file:///bar')
|
||||
assert !r.save
|
||||
end
|
||||
|
||||
def test_first_repository_should_be_set_as_default
|
||||
repository1 = Repository::Subversion.new(
|
||||
:project => Project.find(3),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user