diff options
| author | Alban Peignier | 2016-11-22 19:10:05 +0100 |
|---|---|---|
| committer | Alban Peignier | 2016-11-22 19:10:05 +0100 |
| commit | 92e20f7c2674bf28281fefa8bddea4e15c57240f (patch) | |
| tree | 529723293b389c26062a6bb11e238aacedbf1667 | |
| parent | a14c8afc2df1d6c7ac186404fa4e1e86cef6a811 (diff) | |
| download | chouette-core-92e20f7c2674bf28281fefa8bddea4e15c57240f.tar.bz2 | |
Fixes ReferentialMetadata#validate_periods. Refs #2035
| -rw-r--r-- | app/models/referential_metadata.rb | 14 | ||||
| -rw-r--r-- | config/locales/referentials.fr.yml | 1 |
2 files changed, 10 insertions, 5 deletions
diff --git a/app/models/referential_metadata.rb b/app/models/referential_metadata.rb index 0c792a9b9..e752a6ca0 100644 --- a/app/models/referential_metadata.rb +++ b/app/models/referential_metadata.rb @@ -87,18 +87,22 @@ class ReferentialMetadata < ActiveRecord::Base validate :validate_periods def validate_periods - Rails.logger.debug "Validate periods" + periods_are_valid = true + unless periods.all?(&:valid?) - errors.add(:periods, :invalid) + periods_are_valid = false end periods.each do |period| - Rails.logger.debug "Validate period #{period.inspect} : #{period.intersect?(periods)}" if period.intersect?(periods) - period.errors.add(:base, :invalid) - Rails.logger.debug "period errors #{period.errors}" + period.errors.add(:base, I18n.t("referentials.errors.overlapped_period")) + periods_are_valid = false end end + + unless periods_are_valid + errors.add(:periods, :invalid) + end end def periods_attributes=(attributes = {}) diff --git a/config/locales/referentials.fr.yml b/config/locales/referentials.fr.yml index 7762b9030..db03eae9f 100644 --- a/config/locales/referentials.fr.yml +++ b/config/locales/referentials.fr.yml @@ -30,6 +30,7 @@ fr: public_excluded: "public est une valeur réservée" user_excluded: "%{user} est une valeur réservée" overlapped_referential: "%{referential} couvre le même périmètre d'offre" + overlapped_period: "Une autre période chevauche cette période" activerecord: models: referential: |
