aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorXinhui2017-07-26 16:16:19 +0200
committerXinhui2017-07-26 16:16:19 +0200
commit33b4fe1f39501ca36b7a32421e9e1fea93f89e12 (patch)
treea47a50e125c5fa5552d527437bcfbfa4f9aa8115 /app
parent002892b7e0cab8898ec587160ac65be845f77444 (diff)
downloadchouette-core-33b4fe1f39501ca36b7a32421e9e1fea93f89e12.tar.bz2
Fix provider_id & default_values on empty string objectid
Diffstat (limited to 'app')
-rw-r--r--app/models/concerns/stif_netex_attributes_support.rb23
1 files changed, 17 insertions, 6 deletions
diff --git a/app/models/concerns/stif_netex_attributes_support.rb b/app/models/concerns/stif_netex_attributes_support.rb
index acacc27de..7a324ac9b 100644
--- a/app/models/concerns/stif_netex_attributes_support.rb
+++ b/app/models/concerns/stif_netex_attributes_support.rb
@@ -8,25 +8,34 @@ module StifNetexAttributesSupport
validates_numericality_of :object_version
validate :objectid_format_compliance
- before_validation :default_values, :on => :create
+ before_validation :default_values, on: :create
# before_save :increment_workbench_local_id
end
+ module ClassMethods
+ def object_id_key
+ model_name
+ end
+
+ def model_name
+ ActiveModel::Name.new self, Chouette, self.name.demodulize
+ end
+ end
+
def objectid
Chouette::StifNetexObjectid.new read_attribute(:objectid)
end
def provider_id
- self.referential.workbench.organisation
+ self.referential.workbench.organisation.name.parameterize
end
def object_type
- self.class
+ self.model_name
end
-
def local_id
- ''
+ 'LOCAL_ID'
end
def boiv_id
@@ -38,7 +47,9 @@ module StifNetexAttributesSupport
end
def default_values
- self.object_id ||= Chouette::StifNetexObjectId.create(provider_id, object_type, local_id, boiv_id)
+ if self.objectid.to_s.empty?
+ self.objectid = Chouette::StifNetexObjectid.create(provider_id, object_type, local_id, boiv_id)
+ end
self.object_version ||= 1
end