diff options
| author | Alban Peignier | 2018-01-10 20:34:09 +0100 |
|---|---|---|
| committer | GitHub | 2018-01-10 20:34:09 +0100 |
| commit | 17a3d2437a4eb60ec4046137fb37d7b433dc48aa (patch) | |
| tree | 4e9f0df17da92ad00903bd851d81cdba6ac39282 /app | |
| parent | d597c065194e84f3c350c042276480361520b3b9 (diff) | |
| parent | 7a5e523886177de2cda3268effc9001e62246766 (diff) | |
| download | chouette-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.rb | 8 | ||||
| -rw-r--r-- | app/models/custom_field.rb | 7 | ||||
| -rw-r--r-- | app/models/workgroup.rb | 2 |
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 |
