aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
authorcedricnjanga2018-02-20 15:09:20 -0800
committercedricnjanga2018-02-20 15:09:20 -0800
commit04f26371e23a116cc7be22bd694010820d469e0c (patch)
treeeec614bc3266b4081667f739515f9b91fee378bf /app/models/referential.rb
parent8e751acfb400978d45ae78e937e5401a4d118b5d (diff)
downloadchouette-core-04f26371e23a116cc7be22bd694010820d469e0c.tar.bz2
Refs #5609 Change slug format
Diffstat (limited to 'app/models/referential.rb')
-rw-r--r--app/models/referential.rb8
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