aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/calendar_observer.rb4
-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/user.rb2
-rw-r--r--app/models/vehicle_journey_control/speed.rb2
5 files changed, 8 insertions, 8 deletions
diff --git a/app/models/calendar_observer.rb b/app/models/calendar_observer.rb
index c81addff4..0414d01d2 100644
--- a/app/models/calendar_observer.rb
+++ b/app/models/calendar_observer.rb
@@ -3,7 +3,7 @@ class CalendarObserver < ActiveRecord::Observer
def after_update calendar
return unless calendar.shared
- User.with_organisation.each do |user|
+ User.from_workgroup(calendar.workgroup_id).each do |user|
MailerJob.perform_later('CalendarMailer', 'updated', [calendar.id, user.id])
end
end
@@ -11,7 +11,7 @@ class CalendarObserver < ActiveRecord::Observer
def after_create calendar
return unless calendar.shared
- User.with_organisation.each do |user|
+ User.from_workgroup(calendar.workgroup_id).each do |user|
MailerJob.perform_later('CalendarMailer', 'created', [calendar.id, user.id])
end
end
diff --git a/app/models/concerns/min_max_values_validation.rb b/app/models/concerns/min_max_values_validation.rb
index eff779d81..a79f5ec85 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+)?\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/user.rb b/app/models/user.rb
index d2fdf8f05..eca7ede0c 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -30,6 +30,8 @@ class User < ActiveRecord::Base
scope :with_organisation, -> { where.not(organisation_id: nil) }
+ scope :from_workgroup, ->(workgroup_id) { joins(:workbenches).where(workbenches: {workgroup_id: workgroup_id}) }
+
# Callback invoked by DeviseCasAuthenticable::Model#authernticate_with_cas_ticket
def cas_extra_attributes=(extra_attributes)
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