aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
authorAlban Peignier2018-02-22 10:56:39 +0100
committerAlban Peignier2018-02-22 10:56:39 +0100
commit8aab474b8ad555b4d5f8e28c0af2f6c72741e317 (patch)
tree99f34fccc7f5705a7df3bc9b7192774546446643 /app/models/referential.rb
parent04f26371e23a116cc7be22bd694010820d469e0c (diff)
downloadchouette-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.rb10
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