From 5cabaff1074373a2387760634a49e2d2b56faee9 Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Tue, 6 Feb 2018 21:03:35 -0800 Subject: Refs #5855 Avoid creation of CCBlocks duplicates in the same CCSet --- app/models/compliance_control_block.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'app/models/compliance_control_block.rb') 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 -- cgit v1.2.3