aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorAlban Peignier2018-01-10 20:34:09 +0100
committerGitHub2018-01-10 20:34:09 +0100
commit17a3d2437a4eb60ec4046137fb37d7b433dc48aa (patch)
tree4e9f0df17da92ad00903bd851d81cdba6ac39282 /app
parentd597c065194e84f3c350c042276480361520b3b9 (diff)
parent7a5e523886177de2cda3268effc9001e62246766 (diff)
downloadchouette-core-17a3d2437a4eb60ec4046137fb37d7b433dc48aa.tar.bz2
Merge pull request #222 from af83/5505-custom_fields_with_jsonb
Custom fields with jsonb. Refs #5505
Diffstat (limited to 'app')
-rw-r--r--app/models/chouette/vehicle_journey.rb8
-rw-r--r--app/models/custom_field.rb7
-rw-r--r--app/models/workgroup.rb2
3 files changed, 17 insertions, 0 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index d4dc82a56..11da77948 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -243,6 +243,14 @@ module Chouette
end
end
+ def custom_fields
+ CustomField.where(resource_type: self.class.name.split("::").last)
+ end
+
+ def custom_field_value key
+ (custom_field_values || {})[key.to_s]
+ end
+
def self.matrix(vehicle_journeys)
Hash[*VehicleJourneyAtStop.where(vehicle_journey_id: vehicle_journeys.pluck(:id)).map do |vjas|
[ "#{vjas.vehicle_journey_id}-#{vjas.stop_point_id}", vjas]
diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb
new file mode 100644
index 000000000..e8e76c6b5
--- /dev/null
+++ b/app/models/custom_field.rb
@@ -0,0 +1,7 @@
+class CustomField < ActiveRecord::Base
+
+ extend Enumerize
+ enumerize :field_type, in: %i{list}
+
+ validates :name, uniqueness: {scope: :resource_type}
+end
diff --git a/app/models/workgroup.rb b/app/models/workgroup.rb
index bc2831bbd..995917fac 100644
--- a/app/models/workgroup.rb
+++ b/app/models/workgroup.rb
@@ -9,4 +9,6 @@ class Workgroup < ActiveRecord::Base
validates_presence_of :line_referential_id
validates_presence_of :stop_area_referential_id
+
+ has_many :custom_fields
end