From 00d1aff0f61be908ad9dfedff47f33f5ef1f274a Mon Sep 17 00:00:00 2001 From: Xinhui Date: Wed, 20 Sep 2017 14:28:22 +0200 Subject: Add type to permited params & remove policy check --- app/controllers/compliance_controls_controller.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index dad9b935a..75c2dbc72 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -1,5 +1,4 @@ class ComplianceControlsController < BreadcrumbController - include PolicyChecker defaults resource_class: ComplianceControl belongs_to :compliance_control_set @@ -33,6 +32,6 @@ class ComplianceControlsController < BreadcrumbController end def compliance_control_params - params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes) + params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type) end end -- cgit v1.2.3 From 8052230ad2966e794fe85ac48244012b4a74d6d3 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Thu, 21 Sep 2017 11:47:18 +0200 Subject: Move ComplianceControl#index into ComplianceControlSet#show Refs #4579 --- app/controllers/compliance_controls_controller.rb | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 75c2dbc72..87dfcf15b 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -2,14 +2,6 @@ class ComplianceControlsController < BreadcrumbController 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')) end @@ -24,13 +16,6 @@ class ComplianceControlsController < BreadcrumbController end private - def decorate_compliance_controls(compliance_controls) - ModelDecorator.decorate( - compliance_controls, - with: ComplianceControlDecorator, - ) - end - def compliance_control_params params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type) end -- cgit v1.2.3 From d5e8f6ff7bcf443bcfd3d525e888da883d8ae32c Mon Sep 17 00:00:00 2001 From: Xinhui Date: Thu, 21 Sep 2017 14:30:13 +0200 Subject: Manually specifying policy classes for ComplianceControl & children Refs #4581 --- app/controllers/compliance_controls_controller.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 87dfcf15b..c5c76fd58 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -1,4 +1,5 @@ class ComplianceControlsController < BreadcrumbController + include PolicyChecker defaults resource_class: ComplianceControl belongs_to :compliance_control_set -- cgit v1.2.3 From 15e75e3505194171df43d69096e94f65f032f9e5 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Fri, 22 Sep 2017 14:36:13 +0200 Subject: Nested compliance control block Refs #4585 --- app/controllers/compliance_controls_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') 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 -- cgit v1.2.3 From 5724f7c02a5238ef727e0c1674f2c69424563527 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Tue, 26 Sep 2017 11:42:47 +0200 Subject: Nested form for compliance control block Refs #4585 --- app/controllers/compliance_controls_controller.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') 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 -- cgit v1.2.3 From 47aa20b9490166a9e0edd7e2095fc8612ff8f892 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Tue, 26 Sep 2017 12:35:38 +0200 Subject: Remove action override, notice is now handle by gem responder --- app/controllers/compliance_controls_controller.rb | 8 -------- 1 file changed, 8 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 0f4ca3481..20f4b15af 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -9,19 +9,11 @@ class ComplianceControlsController < BreadcrumbController @compliance_control.build_compliance_control_block end - def create - create!(notice: t('notice.compliance_control.created')) - end - def update path = compliance_control_set_compliance_control_path(parent, resource) update!(notice: t('notice.compliance_control.updated')) { path } end - def destroy - destroy!(notice: t('notice.compliance_control.destroyed')) - end - private def compliance_control_params params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name, :transport_mode]) -- cgit v1.2.3 From c3f80c537e28dfe316ee0dcbee2bde2b5307fd79 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Wed, 27 Sep 2017 11:59:44 +0200 Subject: Support of dynamic_attributes in form Refs #4467 --- app/controllers/compliance_controls_controller.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 20f4b15af..71d702945 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -5,7 +5,7 @@ class ComplianceControlsController < BreadcrumbController def new @compliance_control_set = parent - @compliance_control = ComplianceControl.new + @compliance_control = GenericAttributeMinMax.new @compliance_control.build_compliance_control_block end @@ -15,7 +15,13 @@ class ComplianceControlsController < BreadcrumbController end private + 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, :type, compliance_control_block_attributes: [:name, :transport_mode]) + base = [:name, :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 -- cgit v1.2.3 From 750815f4513dfa8c57238fdfaaee07af02b0e8cd Mon Sep 17 00:00:00 2001 From: Xinhui Date: Wed, 20 Sep 2017 14:28:22 +0200 Subject: Add type to permited params & remove policy check --- app/controllers/compliance_controls_controller.rb | 1 - 1 file changed, 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 71d702945..7deeab01d 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -1,5 +1,4 @@ class ComplianceControlsController < BreadcrumbController - include PolicyChecker defaults resource_class: ComplianceControl belongs_to :compliance_control_set -- cgit v1.2.3 From 5911206bbadb2c3c9609f8be0ce1affd6584015e Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Wed, 27 Sep 2017 16:08:19 +0200 Subject: Refs #4615 Change spec and controller regarding to the ComplianceControl models changes --- app/controllers/compliance_controls_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 7deeab01d..b4fb2f1de 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -19,7 +19,7 @@ class ComplianceControlsController < BreadcrumbController end def compliance_control_params - base = [:name, :code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name, :transport_mode]] + 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 -- cgit v1.2.3 From 28a352d2c4cba71c796a3504513e0664cec92cb5 Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Wed, 27 Sep 2017 16:34:02 +0200 Subject: Refs #4615 Resolve rebase conflict --- app/controllers/compliance_controls_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index b4fb2f1de..eb1ba68ea 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -4,7 +4,7 @@ class ComplianceControlsController < BreadcrumbController def new @compliance_control_set = parent - @compliance_control = GenericAttributeMinMax.new + @compliance_control = GenericAttributeControl::MinMax.new @compliance_control.build_compliance_control_block end -- cgit v1.2.3 From 3bcc3ffce4c9405c9150ba41248a0568a0ab2445 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Thu, 28 Sep 2017 11:19:21 +0200 Subject: Rework association --- app/controllers/compliance_controls_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index eb1ba68ea..846dbb253 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -19,7 +19,7 @@ class ComplianceControlsController < BreadcrumbController end def compliance_control_params - base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, compliance_control_block_attributes: [:name, :transport_mode]] + base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type] permited = base + dynamic_attributes_params params.require(:compliance_control).permit(permited) end -- cgit v1.2.3 From 9c64fa920c50683eb87debf8a10c223da9096b30 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Thu, 28 Sep 2017 14:49:18 +0200 Subject: ComplianceControls#select_type action --- app/controllers/compliance_controls_controller.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 846dbb253..be8b773e2 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -2,15 +2,14 @@ class ComplianceControlsController < BreadcrumbController defaults resource_class: ComplianceControl belongs_to :compliance_control_set - def new - @compliance_control_set = parent - @compliance_control = GenericAttributeControl::MinMax.new - @compliance_control.build_compliance_control_block + def select_type + @sti_subclasses = ComplianceControl.subclasses end - def update - path = compliance_control_set_compliance_control_path(parent, resource) - update!(notice: t('notice.compliance_control.updated')) { path } + def new + redirect_to(action: :select_type) unless params[:sti_class] + @compliance_control_set = parent + @compliance_control = params[:sti_class].constantize.new end private -- cgit v1.2.3 From 93534bdfa126eed4d9116e601512c0be56dc9192 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Fri, 29 Sep 2017 14:24:29 +0200 Subject: Fix condition on redirect ComplianceControl#new --- app/controllers/compliance_controls_controller.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index be8b773e2..4dd7e42b2 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -7,9 +7,12 @@ class ComplianceControlsController < BreadcrumbController end def new - redirect_to(action: :select_type) unless params[:sti_class] - @compliance_control_set = parent - @compliance_control = params[:sti_class].constantize.new + if params[:sti_class] + @compliance_control_set = parent + @compliance_control = params[:sti_class].constantize.new + else + redirect_to(action: :select_type) + end end private -- cgit v1.2.3 From 3cab73d42c048b27dcf35c9274c158f2457365dd Mon Sep 17 00:00:00 2001 From: Xinhui Date: Fri, 29 Sep 2017 15:49:54 +0200 Subject: Fix ComplianceControls#create should redirect to complianceControlSet#show --- app/controllers/compliance_controls_controller.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 4dd7e42b2..fc4322c76 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -15,6 +15,10 @@ class ComplianceControlsController < BreadcrumbController 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 -- cgit v1.2.3 From 383a0d823ebf875baa08f77ccb0eb8a0f06b866e Mon Sep 17 00:00:00 2001 From: Xinhui Date: Wed, 4 Oct 2017 11:57:25 +0200 Subject: ComplianceControls#new add association field compliance_control_block Refs #4689 --- app/controllers/compliance_controls_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index fc4322c76..d7d84afb3 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -25,7 +25,7 @@ class ComplianceControlsController < BreadcrumbController end def compliance_control_params - base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type] + 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 -- cgit v1.2.3 From 584bc2b59ecf95ee1021596e8f3583d9af97a5a7 Mon Sep 17 00:00:00 2001 From: Luc Donnet Date: Sat, 14 Oct 2017 18:22:45 +0200 Subject: Fix translations for compliance_control type translation, compliance_control validation, compliance_control module --- app/controllers/compliance_controls_controller.rb | 32 +++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index d7d84afb3..6fe799267 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -7,26 +7,42 @@ class ComplianceControlsController < BreadcrumbController end def new - if params[:sti_class] - @compliance_control_set = parent - @compliance_control = params[:sti_class].constantize.new - else + if params[:sti_class].blank? + flash[:notice] = I18n.t("compliance_controls.errors.mandatory_control_type") redirect_to(action: :select_type) end + new! end def create - create! { compliance_control_set_path(parent) } + create! do |success, failure| + success.html { redirect_to compliance_control_set_path(parent) } + failure.html { render( :action => 'new' ) } + end + end + + protected + + alias_method :compliance_control_set, :parent + alias_method :compliance_control, :resource + + def build_resource + @compliance_control ||= compliance_control_class.new compliance_control_set: parent end private + + def compliance_control_class + (params[:sti_class] || params[:compliance_control][:type]).constantize + end + def dynamic_attributes_params - params.require(:compliance_control).permit(:type).values[0].constantize.dynamic_attributes + compliance_control_class.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) + permitted = base + dynamic_attributes_params + params.require(:compliance_control).permit(permitted) end end -- cgit v1.2.3 From d048d6b0880a011ad50cd153603b7d0954f2ce6d Mon Sep 17 00:00:00 2001 From: Luc Donnet Date: Mon, 16 Oct 2017 18:03:09 +0200 Subject: Fix build resource creation for compliance_control Refs #4728 --- app/controllers/compliance_controls_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 6fe799267..e067174bb 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -27,7 +27,7 @@ class ComplianceControlsController < BreadcrumbController alias_method :compliance_control, :resource def build_resource - @compliance_control ||= compliance_control_class.new compliance_control_set: parent + get_resource_ivar || set_resource_ivar(compliance_control_class.send(:new, *resource_params)) end private @@ -41,7 +41,7 @@ class ComplianceControlsController < BreadcrumbController end def compliance_control_params - base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, :compliance_control_block_id] + base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, :compliance_control_block_id, :compliance_control_set_id] permitted = base + dynamic_attributes_params params.require(:compliance_control).permit(permitted) end -- cgit v1.2.3 From 51a1ea5b141032121913f807a162d305828bec54 Mon Sep 17 00:00:00 2001 From: Luc Donnet Date: Mon, 16 Oct 2017 23:49:54 +0200 Subject: Fix spec compliance_controls and factories --- app/controllers/compliance_controls_controller.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'app/controllers/compliance_controls_controller.rb') diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index e067174bb..e51d1eb74 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -15,6 +15,7 @@ class ComplianceControlsController < BreadcrumbController end def create + puts build_resource.inspect create! do |success, failure| success.html { redirect_to compliance_control_set_path(parent) } failure.html { render( :action => 'new' ) } -- cgit v1.2.3