aboutsummaryrefslogtreecommitdiffstats
path: root/app/javascript
diff options
context:
space:
mode:
authorZog2018-02-21 16:05:25 +0100
committerZog2018-02-21 16:19:08 +0100
commitd718159ff008c25ab7d51c6714444bd7bd24a77d (patch)
treeeb2e7571ac0ce3eab1125a992a66d92e81d73bf8 /app/javascript
parent70396ae000bfc5c2b792c17198efc2a8d87d9ebf (diff)
downloadchouette-core-d718159ff008c25ab7d51c6714444bd7bd24a77d.tar.bz2
Refs #5944; Skip automated times calculation when no start time is set5944-skip-schedule-calculation-when-no-time-is-set
Diffstat (limited to 'app/javascript')
-rw-r--r--app/javascript/vehicle_journeys/reducers/vehicleJourneys.js85
1 files changed, 53 insertions, 32 deletions
diff --git a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js
index 383dea4a0..507e0ea91 100644
--- a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js
+++ b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js
@@ -14,47 +14,68 @@ const vehicleJourney= (state = {}, action, keep) => {
hour: 0,
minute: 0
}
- if(action.data["start_time.hour"] && action.data["start_time.minute"] && action.selectedJourneyPattern.full_schedule){
+ let computeSchedule = false
+ if(action.data["start_time.hour"] && action.data["start_time.hour"].value && action.data["start_time.hour"].value.length > 0 && action.data["start_time.minute"] && action.selectedJourneyPattern.full_schedule && action.selectedJourneyPattern.costs){
+ computeSchedule = true
current_time.hour = parseInt(action.data["start_time.hour"].value)
current_time.minute = parseInt(action.data["start_time.minute"].value) || 0
}
_.each(action.stopPointsList, (sp) =>{
let inJourney = false
- if(action.selectedJourneyPattern.full_schedule && action.selectedJourneyPattern.costs && action.selectedJourneyPattern.costs[prevSp.stop_area_id + "-" + sp.stop_area_id]){
- let delta = parseInt(action.selectedJourneyPattern.costs[prevSp.stop_area_id + "-" + sp.stop_area_id].time)
- current_time = actions.addMinutesToTime(current_time, delta)
- prevSp = sp
- inJourney = true
- }
- let offsetHours = sp.time_zone_offset / 3600
- let offsetminutes = sp.time_zone_offset/60 - 60*offsetHours
- let newVjas = {
- delta: 0,
- arrival_time:{
- hour: (24 + current_time.hour + offsetHours) % 24,
- minute: current_time.minute + offsetminutes
- },
- stop_point_objectid: sp.object_id,
- stop_area_cityname: sp.city_name,
- dummy: true
- }
+ let newVjas
+ if(computeSchedule){
+ if(action.selectedJourneyPattern.costs[prevSp.stop_area_id + "-" + sp.stop_area_id]){
+ let delta = parseInt(action.selectedJourneyPattern.costs[prevSp.stop_area_id + "-" + sp.stop_area_id].time)
+ current_time = actions.addMinutesToTime(current_time, delta)
+ prevSp = sp
+ inJourney = true
+ }
+ let offsetHours = sp.time_zone_offset / 3600
+ let offsetminutes = sp.time_zone_offset/60 - 60*offsetHours
+ newVjas = {
+ delta: 0,
+ arrival_time:{
+ hour: (24 + 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(sp.waiting_time && inJourney){
- current_time = actions.addMinutesToTime(current_time, parseInt(sp.waiting_time))
- }
+ if(sp.waiting_time && inJourney){
+ current_time = actions.addMinutesToTime(current_time, parseInt(sp.waiting_time))
+ }
- newVjas.departure_time = {
- hour: (24 + current_time.hour + offsetHours) % 24,
- minute: current_time.minute + offsetminutes
- }
+ newVjas.departure_time = {
+ hour: (24 + current_time.hour + offsetHours) % 24,
+ minute: current_time.minute + offsetminutes
+ }
- if(current_time.hour + offsetHours > 24){
- newVjas.departure_day_offset = 1
- newVjas.arrival_day_offset = 1
+ if(current_time.hour + offsetHours > 24){
+ newVjas.departure_day_offset = 1
+ newVjas.arrival_day_offset = 1
+ }
+ if(current_time.hour + offsetHours < 0){
+ newVjas.departure_day_offset = -1
+ newVjas.arrival_day_offset = -1
+ }
}
- if(current_time.hour + offsetHours < 0){
- newVjas.departure_day_offset = -1
- newVjas.arrival_day_offset = -1
+ else{
+ newVjas = {
+ delta: 0,
+ arrival_time: {
+ hour: 0,
+ minute: 0
+ },
+ departure_time: {
+ hour: 0,
+ minute: 0
+ },
+ stop_point_objectid: sp.object_id,
+ stop_area_cityname: sp.city_name,
+ dummy: true
+ }
}
_.each(action.selectedJourneyPattern.stop_areas, (jp) =>{