aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2016-11-22 19:10:05 +0100
committerAlban Peignier2016-11-28 11:01:03 +0100
commitc9ca6816bdb106279a32706eb7dc325d5864d3a0 (patch)
treeee015980a0f8e16942c7b7f1cc30f7611f395618
parent6d2f64ed10264f29a39723b0dd3d792a3bef0876 (diff)
downloadchouette-core-c9ca6816bdb106279a32706eb7dc325d5864d3a0.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: