aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-09-28 11:19:21 +0200
committerXinhui2017-09-28 11:19:21 +0200
commit3bcc3ffce4c9405c9150ba41248a0568a0ab2445 (patch)
tree4ea4d4a959dda68cc3eb3fc7e38d78b00dcb465c
parent57bcd99464b59ace15456776a420593cc25a45ce (diff)
downloadchouette-core-3bcc3ffce4c9405c9150ba41248a0568a0ab2445.tar.bz2
Rework association
-rw-r--r--app/controllers/compliance_controls_controller.rb2
-rw-r--r--app/models/compliance_control.rb3
-rw-r--r--app/models/compliance_control_block.rb8
-rw-r--r--spec/factories/compliance_control_blocks.rb1
-rw-r--r--spec/factories/compliance_controls.rb1
-rw-r--r--spec/models/compliance_control_block_spec.rb2
-rw-r--r--spec/models/compliance_control_spec.rb4
7 files changed, 7 insertions, 14 deletions
diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb
index eb1ba68ea..846dbb253 100644
--- a/app/controllers/compliance_controls_controller.rb
+++ b/app/controllers/compliance_controls_controller.rb
@@ -19,7 +19,7 @@ class ComplianceControlsController < BreadcrumbController
end
def compliance_control_params
- base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name, :transport_mode]]
+ base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type]
permited = base + dynamic_attributes_params
params.require(:compliance_control).permit(permited)
end
diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb
index c5389e832..42f45b6ca 100644
--- a/app/models/compliance_control.rb
+++ b/app/models/compliance_control.rb
@@ -1,8 +1,7 @@
class ComplianceControl < ActiveRecord::Base
extend Enumerize
belongs_to :compliance_control_set
- has_one :compliance_control_block, dependent: :destroy
- accepts_nested_attributes_for :compliance_control_block
+ belongs_to :compliance_control_block
@@default_criticity = :warning
@@default_code = ""
diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb
index a08e271f6..e03c4ce85 100644
--- a/app/models/compliance_control_block.rb
+++ b/app/models/compliance_control_block.rb
@@ -1,15 +1,9 @@
class ComplianceControlBlock < ActiveRecord::Base
belongs_to :compliance_control_set
- belongs_to :compliance_control
-
- before_save :set_compliance_control_set
+ has_many :compliance_controls, dependent: :destroy
hstore_accessor :condition_attributes, transport_mode: :string
- def set_compliance_control_set
- self.compliance_control_set = self.compliance_control.compliance_control_set
- end
-
def self.transport_modes
["all"] + StifTransportModeEnumerations.transport_mode.values
end
diff --git a/spec/factories/compliance_control_blocks.rb b/spec/factories/compliance_control_blocks.rb
index 1b043324e..5bc45cc75 100644
--- a/spec/factories/compliance_control_blocks.rb
+++ b/spec/factories/compliance_control_blocks.rb
@@ -2,6 +2,5 @@ FactoryGirl.define do
factory :compliance_control_block do
sequence(:name) { |n| "Compliance control block #{n}" }
association :compliance_control_set
- association :compliance_control
end
end
diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb
index ced505565..83169b13a 100644
--- a/spec/factories/compliance_controls.rb
+++ b/spec/factories/compliance_controls.rb
@@ -7,5 +7,6 @@ FactoryGirl.define do
origin_code "code"
comment "Text"
association :compliance_control_set
+ association :compliance_control_block
end
end
diff --git a/spec/models/compliance_control_block_spec.rb b/spec/models/compliance_control_block_spec.rb
index f45ec3d42..a50fe026b 100644
--- a/spec/models/compliance_control_block_spec.rb
+++ b/spec/models/compliance_control_block_spec.rb
@@ -8,5 +8,5 @@ RSpec.describe ComplianceControlBlock, type: :model do
end
it { should belong_to :compliance_control_set }
- it { should belong_to :compliance_control }
+ it { should have_many(:compliance_controls).dependent(:destroy) }
end
diff --git a/spec/models/compliance_control_spec.rb b/spec/models/compliance_control_spec.rb
index d7bffb0b2..0fc830021 100644
--- a/spec/models/compliance_control_spec.rb
+++ b/spec/models/compliance_control_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe ComplianceControl, type: :model do
end
it { should belong_to :compliance_control_set }
- it { should have_one(:compliance_control_block).dependent(:destroy) }
+ it { should belong_to :compliance_control_block }
it 'should validate_presence_of criticity' do
compliance_control.criticity = nil
@@ -37,5 +37,5 @@ RSpec.describe ComplianceControl, type: :model do
# it { should validate_presence_of :name }
# it { should validate_presence_of :code }
# it { should validate_presence_of :origin_code }
-
+
end