aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2016-11-22 19:10:05 +0100
committerAlban Peignier2016-11-22 19:10:05 +0100
commit92e20f7c2674bf28281fefa8bddea4e15c57240f (patch)
tree529723293b389c26062a6bb11e238aacedbf1667
parenta14c8afc2df1d6c7ac186404fa4e1e86cef6a811 (diff)
downloadchouette-core-92e20f7c2674bf28281fefa8bddea4e15c57240f.tar.bz2
Fixes ReferentialMetadata#validate_periods. Refs #2035
-rw-r--r--app/models/referential_metadata.rb14
-rw-r--r--config/locales/referentials.fr.yml1
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: