diff options
| author | cedricnjanga | 2018-02-07 08:08:48 -0800 | 
|---|---|---|
| committer | cedricnjanga | 2018-03-05 23:10:06 -0800 | 
| commit | 426f0057605e3fedd8ffa45433428dfb25a0971c (patch) | |
| tree | 014f794560b8d90067ac5ce140006b39ae514154 /app | |
| parent | 5cabaff1074373a2387760634a49e2d2b56faee9 (diff) | |
| download | chouette-core-426f0057605e3fedd8ffa45433428dfb25a0971c.tar.bz2 | |
Simplify ccblock uniqueness validation
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/compliance_control_blocks_controller.rb | 6 | ||||
| -rw-r--r-- | app/models/compliance_control_block.rb | 6 | 
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) | 
