aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorcedricnjanga2018-02-07 08:08:48 -0800
committercedricnjanga2018-03-05 23:10:06 -0800
commit426f0057605e3fedd8ffa45433428dfb25a0971c (patch)
tree014f794560b8d90067ac5ce140006b39ae514154 /app
parent5cabaff1074373a2387760634a49e2d2b56faee9 (diff)
downloadchouette-core-426f0057605e3fedd8ffa45433428dfb25a0971c.tar.bz2
Simplify ccblock uniqueness validation
Diffstat (limited to 'app')
-rw-r--r--app/controllers/compliance_control_blocks_controller.rb6
-rw-r--r--app/models/compliance_control_block.rb6
2 files changed, 4 insertions, 8 deletions
diff --git a/app/controllers/compliance_control_blocks_controller.rb b/app/controllers/compliance_control_blocks_controller.rb
index 5236ad576..635b96c85 100644
--- a/app/controllers/compliance_control_blocks_controller.rb
+++ b/app/controllers/compliance_control_blocks_controller.rb
@@ -4,11 +4,11 @@ class ComplianceControlBlocksController < ChouetteController
belongs_to :compliance_control_set
actions :all, :except => [:show, :index]
- after_action :check_duplicate, only: :create
+ after_action :check_duplicate, only: [:create, :update]
def check_duplicate
- unless @compliance_control_block.errors[:duplicate].empty?
- flash[:error] = @compliance_control_block.errors[:duplicate].first
+ unless @compliance_control_block.errors[:condition_attributes].empty?
+ flash[:error] = I18n.t('activerecord.errors.models.compliance_control_block.attributes.condition_attributes.duplicate')
end
end
diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb
index a73784be6..bc5d6fd4a 100644
--- a/app/models/compliance_control_block.rb
+++ b/app/models/compliance_control_block.rb
@@ -12,11 +12,7 @@ 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
+ validates_uniqueness_of :condition_attributes, scope: :compliance_control_set_id
def name
ApplicationController.helpers.transport_mode_text(self)