diff options
| author | Zog | 2018-01-11 22:12:47 +0100 |
|---|---|---|
| committer | Alban Peignier | 2018-01-11 22:35:01 +0100 |
| commit | 3e0591073505eb24b27dfe24b433f2bfece0daa7 (patch) | |
| tree | a8208a63c8f07efbd36bdb238ce808aa5c9f4634 | |
| parent | 37fc636a9073498b464bd2b9f3be1fa2258f9828 (diff) | |
| download | chouette-core-3e0591073505eb24b27dfe24b433f2bfece0daa7.tar.bz2 | |
Refs #5535; Apply timezones during schedule calculation
| -rw-r--r-- | app/controllers/vehicle_journeys_controller.rb | 1 | ||||
| -rw-r--r-- | app/javascript/vehicle_journeys/reducers/vehicleJourneys.js | 10 | ||||
| -rw-r--r-- | app/models/chouette/stop_area.rb | 4 |
3 files changed, 11 insertions, 4 deletions
diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index eb3367d0c..d59696ad7 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -63,6 +63,7 @@ class VehicleJourneysController < ChouetteController :time_zone_formatted_offset => sp.stop_area.try(:time_zone_formatted_offset), :zip_code => sp.stop_area.try(:zip_code), :city_name => sp.stop_area.try(:city_name), + :time_zone_offset => sp.stop_area.try(:time_zone_offset), :comment => sp.stop_area.try(:comment), :area_type => sp.stop_area.try(:area_type), :stop_area_id => sp.stop_area_id, diff --git a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js index 68bbe18d2..149b3e23f 100644 --- a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js +++ b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js @@ -31,15 +31,17 @@ const vehicleJourney= (state = {}, action, keep) => { current_time.hour = current_time.hour % 24 prevSp = sp } + let offsetHours = sp.time_zone_offset / 3600 + let offsetminutes = sp.time_zone_offset/60 - 60*offsetHours let newVjas = { delta: 0, departure_time:{ - hour: current_time.hour, - minute: current_time.minute + hour: (current_time.hour + offsetHours) % 24, + minute: current_time.minute + offsetminutes }, arrival_time:{ - hour: current_time.hour, - minute: current_time.minute + hour: (current_time.hour + offsetHours) % 24, + minute: current_time.minute + offsetminutes }, stop_point_objectid: sp.object_id, stop_area_cityname: sp.city_name, diff --git a/app/models/chouette/stop_area.rb b/app/models/chouette/stop_area.rb index 37d20ae02..7a7718ad6 100644 --- a/app/models/chouette/stop_area.rb +++ b/app/models/chouette/stop_area.rb @@ -358,6 +358,10 @@ module Chouette update_attribute :deleted_at, Time.now end + def time_zone_offset + return 0 unless time_zone.present? + ActiveSupport::TimeZone[time_zone]&.utc_offset + end def country_name return unless country_code |
