diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/compliance_controls_controller.rb | 2 | ||||
| -rw-r--r-- | app/models/compliance_control.rb | 6 | ||||
| -rw-r--r-- | app/models/compliance_control_block.rb | 7 | ||||
| -rw-r--r-- | app/views/compliance_controls/_form.html.slim | 3 |
4 files changed, 15 insertions, 3 deletions
diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index c5c76fd58..bfa7cbefa 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -18,6 +18,6 @@ class ComplianceControlsController < BreadcrumbController private def compliance_control_params - params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type) + params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name]) end end diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index 7a09a176c..73b6be8e5 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -1,8 +1,10 @@ class ComplianceControl < ActiveRecord::Base + extend Enumerize belongs_to :compliance_control_set - belongs_to :compliance_control_block - extend Enumerize + has_one :compliance_control_block, dependent: :destroy + accepts_nested_attributes_for :compliance_control_block + enumerize :criticity, in: %i(info warning error), scope: true, default: :info validates :criticity, presence: true diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb index cf5a9d72b..7fda998eb 100644 --- a/app/models/compliance_control_block.rb +++ b/app/models/compliance_control_block.rb @@ -1,3 +1,10 @@ class ComplianceControlBlock < ActiveRecord::Base belongs_to :compliance_control_set + belongs_to :compliance_control + + before_save :set_compliance_control_set + + def set_compliance_control_set + self.compliance_control_set = self.compliance_control.compliance_control_set + end end diff --git a/app/views/compliance_controls/_form.html.slim b/app/views/compliance_controls/_form.html.slim index b4298c5fd..cc0310620 100644 --- a/app/views/compliance_controls/_form.html.slim +++ b/app/views/compliance_controls/_form.html.slim @@ -7,6 +7,9 @@ = f.input :criticity = f.input :comment + = f.fields_for :compliance_control_block, ComplianceControlBlock.new do |c| + = c.input :name + end .separator = f.button :submit, t('actions.submit'), class: 'btn btn-default formSubmitr', form: 'compliance_control_form' |
