diff options
| author | cedricnjanga | 2018-02-20 15:09:20 -0800 |
|---|---|---|
| committer | cedricnjanga | 2018-02-20 15:09:20 -0800 |
| commit | 04f26371e23a116cc7be22bd694010820d469e0c (patch) | |
| tree | eec614bc3266b4081667f739515f9b91fee378bf /app/models/referential.rb | |
| parent | 8e751acfb400978d45ae78e937e5401a4d118b5d (diff) | |
| download | chouette-core-04f26371e23a116cc7be22bd694010820d469e0c.tar.bz2 | |
Refs #5609 Change slug format
Diffstat (limited to 'app/models/referential.rb')
| -rw-r--r-- | app/models/referential.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb index 09c2e7d34..54497d3cf 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -13,7 +13,7 @@ class Referential < ActiveRecord::Base validates_uniqueness_of :slug - validates_format_of :slug, with: %r{\A[a-z][0-9a-z_]+\Z} + validates_format_of :slug, with: %r{([a-z][a-z-]+_\d{10}|\d{10})} validates_format_of :prefix, with: %r{\A[0-9a-zA-Z_]+\Z} validates_format_of :upper_corner, with: %r{\A-?[0-9]+\.?[0-9]*\,-?[0-9]+\.?[0-9]*\Z} validates_format_of :lower_corner, with: %r{\A-?[0-9]+\.?[0-9]*\,-?[0-9]+\.?[0-9]*\Z} @@ -423,7 +423,11 @@ class Referential < ActiveRecord::Base end def assign_slug - self.slug ||= "#{name.parameterize.gsub('-', '_')}_#{Time.now.to_i}" if name + self.slug ||= begin + prefix = "#{name.parameterize}".scan(/[a-zA-Z-]/) + prefix.delete_at 0 if prefix[0] == '-' + prefix.empty? ? "#{Time.now.to_i}" : "#{prefix.join}_#{Time.now.to_i}" + end if name end def assign_prefix |
