aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2018-03-29 09:17:08 +0200
committerGitHub2018-03-29 09:17:08 +0200
commit17d8cf337e51c4b79aeac38be570e52bcce3818a (patch)
treeb2af2fb18558d74735017350e8c8e2c88330156e
parent12d06ea23dc55ffbfe347fc5898f0f9c8a55b45f (diff)
parentde6d91e860568213e9b03c355cda24159ef07b29 (diff)
downloadchouette-core-17d8cf337e51c4b79aeac38be570e52bcce3818a.tar.bz2
Merge pull request #393 from af83/6139-generic-compliance-control-numericality-validation
6139 generic compliance control numericality validation
-rw-r--r--app/models/concerns/min_max_values_validation.rb4
-rw-r--r--app/models/generic_attribute_control/min_max.rb4
-rw-r--r--app/models/vehicle_journey_control/speed.rb2
3 files changed, 4 insertions, 6 deletions
diff --git a/app/models/concerns/min_max_values_validation.rb b/app/models/concerns/min_max_values_validation.rb
index eff779d81..91e760c5a 100644
--- a/app/models/concerns/min_max_values_validation.rb
+++ b/app/models/concerns/min_max_values_validation.rb
@@ -3,11 +3,13 @@ module MinMaxValuesValidation
included do
validates_presence_of :minimum, :maximum
+ validates_numericality_of :minimum, :maximum, allow_nil: true, greater_than_or_equal_to: 0
+ validates_format_of :minimum, :maximum, with: %r{\A\d+\.\d{2}\Z}
validate :min_max_values_validation
end
def min_max_values_validation
- return true if (minimum && maximum) && (minimum.to_i < maximum.to_i)
+ return true if (minimum && maximum) && (minimum.to_f < maximum.to_f)
errors.add(:minimum, I18n.t('compliance_controls.min_max_values', min: minimum, max: maximum))
end
end
diff --git a/app/models/generic_attribute_control/min_max.rb b/app/models/generic_attribute_control/min_max.rb
index 18873b683..bab900f0e 100644
--- a/app/models/generic_attribute_control/min_max.rb
+++ b/app/models/generic_attribute_control/min_max.rb
@@ -1,9 +1,7 @@
module GenericAttributeControl
class MinMax < ComplianceControl
store_accessor :control_attributes, :minimum, :maximum, :target
-
- validates_numericality_of :minimum, allow_nil: true, greater_than_or_equal_to: 0
- validates_numericality_of :maximum, allow_nil: true, greater_than_or_equal_to: 0
+
validates :target, presence: true
include MinMaxValuesValidation
diff --git a/app/models/vehicle_journey_control/speed.rb b/app/models/vehicle_journey_control/speed.rb
index e5e331b50..c9775e7a3 100644
--- a/app/models/vehicle_journey_control/speed.rb
+++ b/app/models/vehicle_journey_control/speed.rb
@@ -2,8 +2,6 @@ module VehicleJourneyControl
class Speed < ComplianceControl
store_accessor :control_attributes, :minimum, :maximum
- validates_numericality_of :minimum, allow_nil: true, greater_than_or_equal_to: 0
- validates_numericality_of :maximum, allow_nil: true, greater_than_or_equal_to: 0
include MinMaxValuesValidation
def self.default_code; "3-VehicleJourney-2" end