diff options
| author | cedricnjanga | 2018-03-15 06:57:35 -0700 | 
|---|---|---|
| committer | cedricnjanga | 2018-03-15 06:57:35 -0700 | 
| commit | c297e8a97f41221c0a6cfd5f3aee89589811d47c (patch) | |
| tree | 229625893eae70c42aa13ab632d7919bafc972af | |
| parent | 7ccef25a79817223cf5cd8962f7de72279f33649 (diff) | |
| download | chouette-core-c297e8a97f41221c0a6cfd5f3aee89589811d47c.tar.bz2 | |
Refs #6139 Change Min max values validation concern to allowed float values
| -rw-r--r-- | app/models/concerns/min_max_values_validation.rb | 11 | ||||
| -rw-r--r-- | app/models/generic_attribute_control/min_max.rb | 4 | ||||
| -rw-r--r-- | app/models/vehicle_journey_control/speed.rb | 2 | 
3 files changed, 11 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..af7174cea 100644 --- a/app/models/concerns/min_max_values_validation.rb +++ b/app/models/concerns/min_max_values_validation.rb @@ -2,12 +2,21 @@ module MinMaxValuesValidation    extend ActiveSupport::Concern    included do +    before_validation :force_min_max_values_to_respect_numeric_format      validates_presence_of :minimum, :maximum +    validates_numericality_of :minimum, :maximum, allow_nil: true, greater_than_or_equal_to: 0      validate :min_max_values_validation    end +  def force_min_max_values_to_respect_numeric_format +    if self.minimum && self.maximum +      self.minimum = self.minimum.gsub(",", ".") +      self.maximum = self.maximum.gsub(",", ".") +    end +  end +    def min_max_values_validation -    return true if (minimum && maximum) && (minimum.to_i < maximum.to_i) +    return true if (maximum && 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 | 
