diff options
| -rw-r--r-- | app/models/chouette/purchase_window.rb | 7 | ||||
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 3 | 
2 files changed, 10 insertions, 0 deletions
| diff --git a/app/models/chouette/purchase_window.rb b/app/models/chouette/purchase_window.rb index d22674637..276713d08 100644 --- a/app/models/chouette/purchase_window.rb +++ b/app/models/chouette/purchase_window.rb @@ -21,6 +21,13 @@ module Chouette      scope :overlap_dates, ->(date_range) { where('daterange(?, ?) && any (date_ranges)', date_range.first, date_range.last + 1.day) }      scope :matching_dates, ->(date_range) { where('ARRAY[daterange(?, ?)] = date_ranges', date_range.first, date_range.last + 1.day) } +    # VehicleJourneys include PurchaseWindow checksums in their checksums +    # OPTIMIZEME +    def update_vehicle_journey_checksums +      vehicle_journeys.find_each(&:update_checksum!) +    end +    after_commit :update_vehicle_journey_checksums +      def self.ransackable_scopes(auth_object = nil)        [:contains_date]      end diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index c269d478e..814eeb388 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -140,9 +140,12 @@ module Chouette          attrs << self.published_journey_identifier          attrs << self.try(:company).try(:get_objectid).try(:local_id)          attrs << self.footnotes.map(&:checksum).sort +          vjas =  self.vehicle_journey_at_stops          vjas += VehicleJourneyAtStop.where(vehicle_journey_id: self.id) unless self.new_record?          attrs << vjas.uniq.sort_by { |s| s.stop_point&.position }.map(&:checksum).sort + +        attrs << self.purchase_windows.map(&:checksum).sort if purchase_windows.present?        end      end | 
