From c8a2e2ce194d3d051bb96522c40c4d34392bdf8e Mon Sep 17 00:00:00 2001
From: Zog
Date: Wed, 10 Jan 2018 18:24:54 +0100
Subject: Refs #5535 @2H; Automatically fill VJs tilmes when possible
---
app/javascript/vehicle_journeys/actions/index.js | 4 ++-
.../components/tools/CreateModal.js | 25 ++++++++++++++++++
.../vehicle_journeys/reducers/vehicleJourneys.js | 30 +++++++++++++++++++---
3 files changed, 54 insertions(+), 5 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/vehicle_journeys/actions/index.js b/app/javascript/vehicle_journeys/actions/index.js
index 40c8006f1..95e56cd76 100644
--- a/app/javascript/vehicle_journeys/actions/index.js
+++ b/app/javascript/vehicle_journeys/actions/index.js
@@ -59,7 +59,9 @@ const actions = {
objectid: selectedJP.object_id,
name: selectedJP.name,
published_name: selectedJP.published_name,
- stop_areas: selectedJP.stop_area_short_descriptions
+ stop_areas: selectedJP.stop_area_short_descriptions,
+ costs: selectedJP.costs,
+ full_schedule: selectedJP.full_schedule
}
}),
openEditModal : (vehicleJourney) => ({
diff --git a/app/javascript/vehicle_journeys/components/tools/CreateModal.js b/app/javascript/vehicle_journeys/components/tools/CreateModal.js
index 61012d199..afc4bc42b 100644
--- a/app/javascript/vehicle_journeys/components/tools/CreateModal.js
+++ b/app/javascript/vehicle_journeys/components/tools/CreateModal.js
@@ -88,6 +88,31 @@ export default class CreateModal extends Component {
/>
+ { this.props.modal.modalProps.selectedJPModal && this.props.modal.modalProps.selectedJPModal.full_schedule &&
+ }
+
diff --git a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js
index d057bf704..0549c7adc 100644
--- a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js
+++ b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js
@@ -9,16 +9,37 @@ const vehicleJourney= (state = {}, action, keep) => {
return _.assign({}, state, {selected: false})
case 'ADD_VEHICLEJOURNEY':
let pristineVjasList = []
+ let prevSp = action.stopPointsList[0]
+ let current_time = {
+ hour: 0,
+ minute: 0
+ }
+ if(action.data["start_time.hour"] && action.data["start_time.minute"] && action.selectedJourneyPattern.full_schedule){
+ current_time.hour = parseInt(action.data["start_time.hour"].value)
+ current_time.minute = parseInt(action.data["start_time.minute"].value)
+ }
_.each(action.stopPointsList, (sp) =>{
+ 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)
+ let delta_hour = parseInt(delta/60)
+ let delta_minute = delta - 60*delta_hour
+ current_time.hour += delta_hour
+ current_time.minute += delta_minute
+ let extra_hours = parseInt(current_time.minute/60)
+ current_time.hour += extra_hours
+ current_time.minute -= extra_hours*60
+ current_time.hour = current_time.hour % 24
+ prevSp = sp
+ }
let newVjas = {
delta: 0,
departure_time:{
- hour: '00',
- minute: '00'
+ hour: current_time.hour,
+ minute: current_time.minute
},
arrival_time:{
- hour: '00',
- minute: '00'
+ hour: current_time.hour,
+ minute: current_time.minute
},
stop_point_objectid: sp.object_id,
stop_area_cityname: sp.city_name,
@@ -31,6 +52,7 @@ const vehicleJourney= (state = {}, action, keep) => {
}
})
pristineVjasList.push(newVjas)
+
})
return {
company: action.selectedCompany,
--
cgit v1.2.3