blob: d7d84afb3132000ed43c7eb1f638539efcc7d164 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 | class ComplianceControlsController < BreadcrumbController
  defaults resource_class: ComplianceControl
  belongs_to :compliance_control_set
  def select_type
    @sti_subclasses = ComplianceControl.subclasses
  end
  def new
    if params[:sti_class]
      @compliance_control_set = parent
      @compliance_control     = params[:sti_class].constantize.new
    else
      redirect_to(action: :select_type)
    end
  end
  def create
    create! { compliance_control_set_path(parent) }
  end
  private
  def dynamic_attributes_params
    params.require(:compliance_control).permit(:type).values[0].constantize.dynamic_attributes
  end
  def compliance_control_params
    base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, :compliance_control_block_id]
    permited = base + dynamic_attributes_params
    params.require(:compliance_control).permit(permited)
  end
end
 |