aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2018-01-11 22:56:25 +0100
committerAlban Peignier2018-01-11 22:56:25 +0100
commitbed89f2d9f5d99ceb0720e97cc57b288be116e33 (patch)
tree9dd5f0ae4d24b7c26fd91c910bc327af5d36acb8
parent70d58e54fa18ee5d627b21d0f31673b4ed1250b5 (diff)
parentba82ba8a00455eaaaa0e0c3c708cfcaf11ef0b0e (diff)
downloadchouette-core-bed89f2d9f5d99ceb0720e97cc57b288be116e33.tar.bz2
Merge branch '5535-compute-vehicle-journeys-times'
-rw-r--r--app/controllers/vehicle_journeys_controller.rb1
-rw-r--r--app/javascript/vehicle_journeys/reducers/vehicleJourneys.js24
-rw-r--r--app/models/chouette/stop_area.rb4
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