diff options
| author | Xinhui | 2017-06-30 11:49:21 +0200 |
|---|---|---|
| committer | Xinhui | 2017-06-30 11:49:47 +0200 |
| commit | 89d14a4813402d004d407d77fbd32846e367a7ac (patch) | |
| tree | 4893233ad0f6286f02f96f9d8a10b4ec4a459395 /app/models/chouette/journey_pattern.rb | |
| parent | b2375f9269721df64a0d103e3a979e98b24b979f (diff) | |
| download | chouette-core-89d14a4813402d004d407d77fbd32846e367a7ac.tar.bz2 | |
Fix journey_pattern validate stop_points length
Refs #3931
Diffstat (limited to 'app/models/chouette/journey_pattern.rb')
| -rw-r--r-- | app/models/chouette/journey_pattern.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/models/chouette/journey_pattern.rb b/app/models/chouette/journey_pattern.rb index a146dcff1..868d8121e 100644 --- a/app/models/chouette/journey_pattern.rb +++ b/app/models/chouette/journey_pattern.rb @@ -27,7 +27,7 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord jp = find_by(objectid: item['object_id']) || state_create_instance(route, item) next if item['deletable'] && jp.persisted? && jp.destroy # Update attributes and stop_points associations - jp.update_attributes(state_permited_attributes(item)) + jp.update_attributes(state_permited_attributes(item)) unless item['new_record'] jp.state_stop_points_update(item) if !jp.errors.any? && jp.persisted? item['errors'] = jp.errors if jp.errors.any? end @@ -53,6 +53,13 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord def self.state_create_instance route, item # Flag new record, so we can unset object_id if transaction rollback jp = route.journey_patterns.create(state_permited_attributes(item)) + + # FIXME + # DefaultAttributesSupport will trigger some weird validation on after save + # wich will call to valid?, wich will populate errors + # In this case, we mark jp to be valid if persisted? return true + jp.errors.clear if jp.persisted? + item['object_id'] = jp.objectid item['new_record'] = true jp |
