diff options
| author | Luc Donnet | 2018-01-11 17:06:53 +0100 |
|---|---|---|
| committer | GitHub | 2018-01-11 17:06:53 +0100 |
| commit | 19e1f5fb193b7206424ebe32535468408a4b7ddf (patch) | |
| tree | 248bee22fbffeae966f830170bb573c4e854aad2 | |
| parent | 6be4f648ed5f200af7dbe8843d24361c8c9f2b63 (diff) | |
| parent | e52651964779f1019819a1ef7134a8623099ea0e (diff) | |
| download | chouette-core-19e1f5fb193b7206424ebe32535468408a4b7ddf.tar.bz2 | |
Merge pull request #226 from af83/5547-show-vj-id
5547 Show newly created VJ's short_id in editor
| -rw-r--r-- | app/models/chouette/journey_pattern.rb | 2 | ||||
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 4 | ||||
| -rw-r--r-- | spec/models/chouette/vehicle_journey_spec.rb | 6 |
3 files changed, 10 insertions, 2 deletions
diff --git a/app/models/chouette/journey_pattern.rb b/app/models/chouette/journey_pattern.rb index d03eb6ad7..55faaf997 100644 --- a/app/models/chouette/journey_pattern.rb +++ b/app/models/chouette/journey_pattern.rb @@ -72,7 +72,9 @@ module Chouette # In this case, we mark jp to be valid if persisted? return true jp.errors.clear if jp.persisted? + jp.after_commit_objectid item['object_id'] = jp.objectid + item['short_id'] = jp.get_objectid.short_id item['new_record'] = true jp end diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index a8c9c1824..1904e1b92 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -208,7 +208,9 @@ module Chouette def self.state_create_instance route, item # Flag new record, so we can unset object_id if transaction rollback vj = route.vehicle_journeys.create(state_permited_attributes(item)) - item['objectid'] = vj.objectid + vj.after_commit_objectid + item['objectid'] = vj.objectid + item['short_id'] = vj.get_objectid.short_id item['new_record'] = true vj end diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb index 3ec2387e5..06cac6bc7 100644 --- a/spec/models/chouette/vehicle_journey_spec.rb +++ b/spec/models/chouette/vehicle_journey_spec.rb @@ -100,11 +100,15 @@ describe Chouette::VehicleJourney, :type => :model do Chouette::VehicleJourney.state_update(route, collection) }.to change {Chouette::VehicleJourney.count}.by(1) - expect(collection.last['objectid']).not_to be_nil obj = Chouette::VehicleJourney.last + expect(obj).to receive(:after_commit_objectid).and_call_original + + # For some reason we have to force it + obj.after_commit_objectid obj.run_callbacks(:commit) + expect(collection.last['objectid']).to eq obj.objectid expect(obj.published_journey_name).to eq 'dummy' end |
