aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZog2018-01-11 22:12:47 +0100
committerAlban Peignier2018-01-11 22:35:01 +0100
commit3e0591073505eb24b27dfe24b433f2bfece0daa7 (patch)
treea8208a63c8f07efbd36bdb238ce808aa5c9f4634
parent37fc636a9073498b464bd2b9f3be1fa2258f9828 (diff)
downloadchouette-core-3e0591073505eb24b27dfe24b433f2bfece0daa7.tar.bz2
Refs #5535; Apply timezones during schedule calculation
-rw-r--r--app/controllers/vehicle_journeys_controller.rb1
-rw-r--r--app/javascript/vehicle_journeys/reducers/vehicleJourneys.js10
-rw-r--r--app/models/chouette/stop_area.rb4
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