diff options
| author | Zog | 2018-04-12 16:26:59 +0200 |
|---|---|---|
| committer | Zog | 2018-04-12 16:26:59 +0200 |
| commit | d79680f013d63f377bd8655f2a095d231d4b0441 (patch) | |
| tree | e8ab510c12e4e9a43f8696531e74477485121b32 /app | |
| parent | 3488bd48b98b77bf31a0f254a8059f04e450440f (diff) | |
| download | chouette-core-6527-fix-vjs-editor.tar.bz2 | |
Refs #6527; Fix VJs editor6527-fix-vjs-editor
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/vehicle_journeys_collections_controller.rb | 4 | ||||
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/app/controllers/vehicle_journeys_collections_controller.rb b/app/controllers/vehicle_journeys_collections_controller.rb index 712bcc154..a117888ab 100644 --- a/app/controllers/vehicle_journeys_collections_controller.rb +++ b/app/controllers/vehicle_journeys_collections_controller.rb @@ -9,8 +9,8 @@ class VehicleJourneysCollectionsController < ChouetteController alias_method :route, :parent def update - state = JSON.parse request.raw_post - Chouette::VehicleJourney.state_update route, state + state = JSON.parse request.raw_post + @resources = Chouette::VehicleJourney.state_update route, state errors = state.any? {|item| item['errors']} respond_to do |format| diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 54aad290c..c269d478e 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -244,11 +244,13 @@ module Chouette end def self.state_update route, state + objects = [] transaction do state.each do |item| item.delete('errors') vj = find_by(objectid: item['objectid']) || state_create_instance(route, item) next if item['deletable'] && vj.persisted? && vj.destroy + objects << vj if vj.state_update_vjas?(item['vehicle_journey_at_stops']) vj.update_vjas_from_state(item['vehicle_journey_at_stops']) @@ -276,6 +278,7 @@ module Chouette item['vehicle_journey_at_stops'].map {|vjas| vjas.delete('new_record') } end state.delete_if {|item| item['deletable']} + objects end def self.state_create_instance route, item |
