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
|