diff options
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/compliance_control_sets_controller.rb | 14 | ||||
| -rw-r--r-- | app/controllers/compliance_controls_controller.rb | 30 |
2 files changed, 21 insertions, 23 deletions
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb index 20ddcbe97..306b2eac7 100644 --- a/app/controllers/compliance_control_sets_controller.rb +++ b/app/controllers/compliance_control_sets_controller.rb @@ -14,11 +14,15 @@ class ComplianceControlSetsController < BreadcrumbController end def show - show! do - @compliance_control_set = @compliance_control_set.decorate + show! do |format| + format.html { + @compliance_control_set = @compliance_control_set.decorate + @compliance_controls = decorate_compliance_controls(@compliance_control_set.compliance_controls) + } end end + private def decorate_compliance_control_sets(compliance_control_sets) ModelDecorator.decorate( compliance_control_sets, @@ -33,6 +37,12 @@ class ComplianceControlSetsController < BreadcrumbController # end private + def decorate_compliance_controls(compliance_controls) + ModelDecorator.decorate( + compliance_controls, + with: ComplianceControlDecorator, + ) + end def ransack_updated_at_params start_date = [] diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index dad9b935a..eb1ba68ea 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -1,18 +1,11 @@ class ComplianceControlsController < BreadcrumbController - include PolicyChecker defaults resource_class: ComplianceControl belongs_to :compliance_control_set - def index - index! do |format| - format.html { - @compliance_controls = decorate_compliance_controls(@compliance_controls) - } - end - end - - def create - create!(notice: t('notice.compliance_control.created')) + def new + @compliance_control_set = parent + @compliance_control = GenericAttributeControl::MinMax.new + @compliance_control.build_compliance_control_block end def update @@ -20,19 +13,14 @@ class ComplianceControlsController < BreadcrumbController update!(notice: t('notice.compliance_control.updated')) { path } end - def destroy - destroy!(notice: t('notice.compliance_control.destroyed')) - end - private - def decorate_compliance_controls(compliance_controls) - ModelDecorator.decorate( - compliance_controls, - with: ComplianceControlDecorator, - ) + def dynamic_attributes_params + params.require(:compliance_control).permit(:type).values[0].constantize.dynamic_attributes end def compliance_control_params - params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes) + base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name, :transport_mode]] + permited = base + dynamic_attributes_params + params.require(:compliance_control).permit(permited) end end |
