aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2018-01-11 17:06:53 +0100
committerGitHub2018-01-11 17:06:53 +0100
commit19e1f5fb193b7206424ebe32535468408a4b7ddf (patch)
tree248bee22fbffeae966f830170bb573c4e854aad2
parent6be4f648ed5f200af7dbe8843d24361c8c9f2b63 (diff)
parente52651964779f1019819a1ef7134a8623099ea0e (diff)
downloadchouette-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.rb2
-rw-r--r--app/models/chouette/vehicle_journey.rb4
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb6
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