aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorLuc Donnet2018-03-30 18:30:46 +0200
committerGitHub2018-03-30 18:30:46 +0200
commit48b92a8446d715d5e69fb235d811929fa3f19c07 (patch)
treecf2619e6278a07d18c11baebadcfa8916812d990 /app
parentc19ceea327dbccef26f50b5f02cc806d193da086 (diff)
parent0fe85a4effbfddff399d09d41ed929c235ed310d (diff)
downloadchouette-core-48b92a8446d715d5e69fb235d811929fa3f19c07.tar.bz2
Merge pull request #360 from af83/new-uniqueness-validation-for-ccblocks
New uniqueness validation for ccblocks
Diffstat (limited to 'app')
-rw-r--r--app/controllers/compliance_control_blocks_controller.rb8
-rw-r--r--app/models/compliance_control_block.rb2
2 files changed, 10 insertions, 0 deletions
diff --git a/app/controllers/compliance_control_blocks_controller.rb b/app/controllers/compliance_control_blocks_controller.rb
index 9eee8dfaf..b5ba2d65d 100644
--- a/app/controllers/compliance_control_blocks_controller.rb
+++ b/app/controllers/compliance_control_blocks_controller.rb
@@ -4,6 +4,14 @@ class ComplianceControlBlocksController < ChouetteController
belongs_to :compliance_control_set
actions :all, :except => [:show, :index]
+ after_action :display_errors, only: [:create, :update]
+
+ def display_errors
+ unless @compliance_control_block.errors[:condition_attributes].empty?
+ flash[:error] = @compliance_control_block.errors[:condition_attributes].join(', ')
+ end
+ end
+
private
def compliance_control_block_params
diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb
index d7d84fd06..bc5d6fd4a 100644
--- a/app/models/compliance_control_block.rb
+++ b/app/models/compliance_control_block.rb
@@ -12,6 +12,8 @@ class ComplianceControlBlock < ActiveRecord::Base
validates :transport_mode, presence: true
validates :compliance_control_set, presence: true
+ validates_uniqueness_of :condition_attributes, scope: :compliance_control_set_id
+
def name
ApplicationController.helpers.transport_mode_text(self)
end