diff options
| author | cedricnjanga | 2018-02-06 21:03:35 -0800 |
|---|---|---|
| committer | cedricnjanga | 2018-03-05 23:10:04 -0800 |
| commit | 5cabaff1074373a2387760634a49e2d2b56faee9 (patch) | |
| tree | 0a5f2c83a28bbdfb9465aec7cef6013fd0d62070 /app/models/compliance_control_block.rb | |
| parent | 06d2fdab5b338eb41f1e1b4d38ecebb0fb8dbbdf (diff) | |
| download | chouette-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.rb | 6 |
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 |
