aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/compliance_control_block.rb
diff options
context:
space:
mode:
authorcedricnjanga2018-02-06 21:03:35 -0800
committercedricnjanga2018-03-05 23:10:04 -0800
commit5cabaff1074373a2387760634a49e2d2b56faee9 (patch)
tree0a5f2c83a28bbdfb9465aec7cef6013fd0d62070 /app/models/compliance_control_block.rb
parent06d2fdab5b338eb41f1e1b4d38ecebb0fb8dbbdf (diff)
downloadchouette-core-5cabaff1074373a2387760634a49e2d2b56faee9.tar.bz2
Refs #5855 Avoid creation of CCBlocks duplicates in the same CCSet
Diffstat (limited to 'app/models/compliance_control_block.rb')
-rw-r--r--app/models/compliance_control_block.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb
index d7d84fd06..a73784be6 100644
--- a/app/models/compliance_control_block.rb
+++ b/app/models/compliance_control_block.rb
@@ -12,6 +12,12 @@ class ComplianceControlBlock < ActiveRecord::Base
validates :transport_mode, presence: true
validates :compliance_control_set, presence: true
+ validate def unique_transport_mode_submode_combination
+ same_cc_block = ComplianceControlBlock.where("compliance_control_set_id = ? AND condition_attributes->'transport_mode' = ? AND condition_attributes->'transport_submode' = ?", self.compliance_control_set_id, self.transport_mode, self.transport_submode)
+ return true if same_cc_block.empty?
+ errors.add(:duplicate, I18n.t('activerecord.errors.models.compliance_control_block.attributes.condition_attributes.duplicate'))
+ end
+
def name
ApplicationController.helpers.transport_mode_text(self)
end