diff options
| author | Alban Peignier | 2018-01-11 22:56:25 +0100 |
|---|---|---|
| committer | Alban Peignier | 2018-01-11 22:56:25 +0100 |
| commit | bed89f2d9f5d99ceb0720e97cc57b288be116e33 (patch) | |
| tree | 9dd5f0ae4d24b7c26fd91c910bc327af5d36acb8 | |
| parent | 70d58e54fa18ee5d627b21d0f31673b4ed1250b5 (diff) | |
| parent | ba82ba8a00455eaaaa0e0c3c708cfcaf11ef0b0e (diff) | |
| download | chouette-core-bed89f2d9f5d99ceb0720e97cc57b288be116e33.tar.bz2 | |
Merge branch '5535-compute-vehicle-journeys-times'
| -rw-r--r-- | app/controllers/vehicle_journeys_controller.rb | 1 | ||||
| -rw-r--r-- | app/javascript/vehicle_journeys/reducers/vehicleJourneys.js | 24 | ||||
| -rw-r--r-- | app/models/chouette/stop_area.rb | 4 |
3 files changed, 25 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 62b846d9a..737faaf4a 100644 --- a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js +++ b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js @@ -31,26 +31,42 @@ 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, dummy: true } + if(current_time.hour + offsetHours > 24){ + vjas.departure_day_offset = 1 + vjas.arrival_day_offset = 1 + } + if(current_time.hour + offsetHours < 0){ + vjas.departure_day_offset = -1 + vjas.arrival_day_offset = -1 + } + _.each(action.selectedJourneyPattern.stop_areas, (jp) =>{ if (jp.stop_area_short_description.id == sp.id){ newVjas.dummy = false return } }) + + if(newVjas.dummy){ + newVjas.departure_time = {hour: "00", minute: "00"} + newVjas.arrival_time = {hour: "00", minute: "00"} + } pristineVjasList.push(newVjas) }) 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 |
