aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-09-21 11:47:18 +0200
committerXinhui2017-09-21 11:47:18 +0200
commit9b87e5896921ac735393539d5bc3f41907f9e0ad (patch)
tree567fac55041aff6c91579bc9d64923ab149190e2
parent80a36ce677fd3280afec2d493c38e51e5a830593 (diff)
downloadchouette-core-9b87e5896921ac735393539d5bc3f41907f9e0ad.tar.bz2
Move ComplianceControl#index into ComplianceControlSet#show
Refs #4579
-rw-r--r--app/controllers/compliance_control_sets_controller.rb15
-rw-r--r--app/controllers/compliance_controls_controller.rb15
-rw-r--r--app/decorators/compliance_control_decorator.rb10
-rw-r--r--app/views/compliance_control_sets/show.html.slim36
-rw-r--r--app/views/compliance_controls/show.html.slim1
-rw-r--r--config/routes.rb2
-rw-r--r--spec/controllers/compliance_controls_controller_spec.rb7
7 files changed, 54 insertions, 32 deletions
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index 6edfa3fcc..9ec97dee2 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -12,11 +12,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,
@@ -24,7 +28,12 @@ class ComplianceControlSetsController < BreadcrumbController
)
end
- private
+ def decorate_compliance_controls(compliance_controls)
+ ModelDecorator.decorate(
+ compliance_controls,
+ with: ComplianceControlDecorator,
+ )
+ end
def compliance_control_set_params
params.require(:compliance_control_set).permit(:name, :id)
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
diff --git a/app/decorators/compliance_control_decorator.rb b/app/decorators/compliance_control_decorator.rb
index 38b968ad1..3a05a5c59 100644
--- a/app/decorators/compliance_control_decorator.rb
+++ b/app/decorators/compliance_control_decorator.rb
@@ -4,21 +4,21 @@ class ComplianceControlDecorator < Draper::Decorator
def action_links
links = []
- if h.policy(object).destroy?
+ # if h.policy(object).destroy?
links << Link.new(
content: h.destroy_link_content,
href: h.compliance_control_set_compliance_control_path(object.compliance_control_set.id, object.id),
method: :delete,
data: { confirm: h.t('compliance_controls.actions.destroy_confirm') }
)
- end
+ # end
- if h.policy(object).edit?
+ # if h.policy(object).edit?
links << Link.new(
content: h.t('compliance_controls.actions.edit'),
- href: h.edit_compliance_control_set_path(object.compliance_control_set.id, object.id)
+ href: h.edit_compliance_control_set_compliance_control_path(object.compliance_control_set.id, object.id)
)
- end
+ # end
links
end
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index b4a5b2260..d7d4678ba 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -22,4 +22,38 @@
.row
.col-lg-6.col-md-6.col-sm-12.col-xs-12
= definition_list t('metadatas'),
- ComplianceControlSet.human_attribute_name(:name) => @compliance_control_set.name \ No newline at end of file
+ ComplianceControlSet.human_attribute_name(:name) => @compliance_control_set.name
+
+ .container-fluid
+ .row
+ .col-lg-12
+ /= render 'filters'
+ .row
+ .col-lg-12
+ .select_table
+ = table_builder_2 @compliance_controls,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_control| \
+ compliance_control_set_compliance_control_path(@compliance_control_set, compliance_control) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search'
+
+
diff --git a/app/views/compliance_controls/show.html.slim b/app/views/compliance_controls/show.html.slim
index e69de29bb..9e197695d 100644
--- a/app/views/compliance_controls/show.html.slim
+++ b/app/views/compliance_controls/show.html.slim
@@ -0,0 +1 @@
+= @compliance_control.inspect
diff --git a/config/routes.rb b/config/routes.rb
index ef625db1f..1d34a4854 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -70,7 +70,7 @@ ChouetteIhm::Application.routes.draw do
resources :api_keys, :only => [:edit, :update, :new, :create, :destroy]
resources :compliance_control_sets do
- resources :compliance_controls
+ resources :compliance_controls, except: :index
end
resources :stop_area_referentials, :only => [:show] do
diff --git a/spec/controllers/compliance_controls_controller_spec.rb b/spec/controllers/compliance_controls_controller_spec.rb
index 165c00329..749bbaac3 100644
--- a/spec/controllers/compliance_controls_controller_spec.rb
+++ b/spec/controllers/compliance_controls_controller_spec.rb
@@ -13,13 +13,6 @@ RSpec.describe ComplianceControlsController, type: :controller do
end
end
- describe "GET index" do
- it 'should be successful' do
- get :index, compliance_control_set_id: compliance_control_set.id
- expect(response).to be_success
- end
- end
-
describe 'GET #edit' do
it 'should be successful' do
get :edit, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id