diff options
| author | Xinhui | 2017-09-28 11:19:21 +0200 | 
|---|---|---|
| committer | Xinhui | 2017-09-28 11:19:21 +0200 | 
| commit | 3bcc3ffce4c9405c9150ba41248a0568a0ab2445 (patch) | |
| tree | 4ea4d4a959dda68cc3eb3fc7e38d78b00dcb465c | |
| parent | 57bcd99464b59ace15456776a420593cc25a45ce (diff) | |
| download | chouette-core-3bcc3ffce4c9405c9150ba41248a0568a0ab2445.tar.bz2 | |
Rework association
| -rw-r--r-- | app/controllers/compliance_controls_controller.rb | 2 | ||||
| -rw-r--r-- | app/models/compliance_control.rb | 3 | ||||
| -rw-r--r-- | app/models/compliance_control_block.rb | 8 | ||||
| -rw-r--r-- | spec/factories/compliance_control_blocks.rb | 1 | ||||
| -rw-r--r-- | spec/factories/compliance_controls.rb | 1 | ||||
| -rw-r--r-- | spec/models/compliance_control_block_spec.rb | 2 | ||||
| -rw-r--r-- | spec/models/compliance_control_spec.rb | 4 | 
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 | 
