diff options
| -rw-r--r-- | app/controllers/compliance_controls_controller.rb | 8 | ||||
| -rw-r--r-- | app/models/compliance_control.rb | 10 | ||||
| -rw-r--r-- | app/models/compliance_control_block.rb | 2 | ||||
| -rw-r--r-- | app/views/compliance_controls/_form.html.slim | 3 | ||||
| -rw-r--r-- | app/views/compliance_controls/edit.html.slim | 9 | ||||
| -rw-r--r-- | app/views/compliance_controls/show.html.slim | 2 | 
6 files changed, 31 insertions, 3 deletions
| diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index bfa7cbefa..0f4ca3481 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -3,6 +3,12 @@ class ComplianceControlsController < BreadcrumbController    defaults resource_class: ComplianceControl    belongs_to :compliance_control_set +  def new +    @compliance_control_set = parent +    @compliance_control = ComplianceControl.new +    @compliance_control.build_compliance_control_block +  end +    def create      create!(notice: t('notice.compliance_control.created'))    end @@ -18,6 +24,6 @@ class ComplianceControlsController < BreadcrumbController    private    def compliance_control_params -    params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name]) +    params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name, :transport_mode])    end  end diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index 73b6be8e5..763a42029 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -1,7 +1,6 @@  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 @@ -15,6 +14,15 @@ class ComplianceControl < ActiveRecord::Base    def self.policy_class      ComplianceControlPolicy    end + +  def self.inherited(child) +    child.instance_eval do +      def model_name +        ComplianceControl.model_name +      end +    end +    super +  end  end  # Ensure STI subclasses are loaded diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb index 7fda998eb..12b10ab2a 100644 --- a/app/models/compliance_control_block.rb +++ b/app/models/compliance_control_block.rb @@ -4,6 +4,8 @@ class ComplianceControlBlock < ActiveRecord::Base    before_save :set_compliance_control_set +  hstore_accessor :condition_attributes, transport_mode: :string +    def set_compliance_control_set      self.compliance_control_set = self.compliance_control.compliance_control_set    end diff --git a/app/views/compliance_controls/_form.html.slim b/app/views/compliance_controls/_form.html.slim index cc0310620..9ee2dec69 100644 --- a/app/views/compliance_controls/_form.html.slim +++ b/app/views/compliance_controls/_form.html.slim @@ -7,8 +7,9 @@        = f.input :criticity        = f.input :comment -      = f.fields_for :compliance_control_block, ComplianceControlBlock.new do |c| +      = f.simple_fields_for :compliance_control_block do |c|          = c.input :name +        = c.input :transport_mode, as: :select, collection:StifTransportModeEnumerations.transport_mode.options        end    .separator diff --git a/app/views/compliance_controls/edit.html.slim b/app/views/compliance_controls/edit.html.slim index e69de29bb..6824c7e40 100644 --- a/app/views/compliance_controls/edit.html.slim +++ b/app/views/compliance_controls/edit.html.slim @@ -0,0 +1,9 @@ += pageheader 'compliance-control', +        t('compliance_control.index.edit') + + +.page_content +  .container-fluid +    .row +      .col-lg-8.col-lg-offset-2.col-md-8.col-md-offset-2.col-sm-10.col-sm-offset-1 +        = render 'form' diff --git a/app/views/compliance_controls/show.html.slim b/app/views/compliance_controls/show.html.slim index 9e197695d..a665f1ab1 100644 --- a/app/views/compliance_controls/show.html.slim +++ b/app/views/compliance_controls/show.html.slim @@ -1 +1,3 @@  = @compliance_control.inspect +br += @compliance_control.compliance_control_block.inspect | 
