diff options
| author | Alban Peignier | 2018-02-22 10:56:39 +0100 |
|---|---|---|
| committer | Alban Peignier | 2018-02-22 10:56:39 +0100 |
| commit | 8aab474b8ad555b4d5f8e28c0af2f6c72741e317 (patch) | |
| tree | 99f34fccc7f5705a7df3bc9b7192774546446643 /app/models/referential.rb | |
| parent | 04f26371e23a116cc7be22bd694010820d469e0c (diff) | |
| download | chouette-core-8aab474b8ad555b4d5f8e28c0af2f6c72741e317.tar.bz2 | |
Keep original slug format (with _). Avoid full numeric slug. Refs #56095609_slug_format
Diffstat (limited to 'app/models/referential.rb')
| -rw-r--r-- | app/models/referential.rb | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb index 54497d3cf..3b770603a 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-z][a-z-]+_\d{10}|\d{10})} + validates_format_of :slug, with: %r{\A[a-z][0-9a-z_]+\Z} 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} @@ -422,11 +422,11 @@ class Referential < ActiveRecord::Base end end - def assign_slug + def assign_slug(time_reference = Time) 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}" + prefix = name.parameterize.gsub('-','_').gsub(/[^a-zA-Z_]/,'').gsub(/^_/,'') + prefix = "referential" if prefix.blank? + "#{prefix}_#{time_reference.now.to_i}" end if name end |
