aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/chouette/journey_pattern.rb
diff options
context:
space:
mode:
authorXinhui2017-01-11 13:41:01 +0100
committerXinhui2017-01-11 13:41:14 +0100
commit19a6aedb8dfdb37b30c320fc17719f6e2ce89876 (patch)
tree6b412d96ec803bf1b05b17b2cdfd86582221770e /app/models/chouette/journey_pattern.rb
parent3717719e3487a0433c0d53d4494ac315bd966f89 (diff)
downloadchouette-core-19a6aedb8dfdb37b30c320fc17719f6e2ce89876.tar.bz2
Fix journey_pattern_collection multiple deletable
Diffstat (limited to 'app/models/chouette/journey_pattern.rb')
-rw-r--r--app/models/chouette/journey_pattern.rb9
1 files changed, 4 insertions, 5 deletions
diff --git a/app/models/chouette/journey_pattern.rb b/app/models/chouette/journey_pattern.rb
index f3a7dfea7..c57d42e71 100644
--- a/app/models/chouette/journey_pattern.rb
+++ b/app/models/chouette/journey_pattern.rb
@@ -25,10 +25,8 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
state.each do |item|
item.delete('errors')
jp = find_by(objectid: item['object_id']) || state_create_instance(route, item)
- if item['deletable']
- jp.destroy if jp.persisted?
- state.delete(item)
- next
+ if item['deletable'] && jp.persisted?
+ next if jp.destroy
end
# Update attributes and stop_points associations
@@ -42,8 +40,9 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
raise ActiveRecord::Rollback
end
end
- # Remove new record flag
+ # clean
state.map {|item| item.delete('new_record')}
+ state.delete_if {|item| item['deletable']}
end
def self.state_permited_attributes item