diff options
| author | Xinhui | 2017-09-21 11:47:18 +0200 |
|---|---|---|
| committer | Xinhui | 2017-09-21 11:47:18 +0200 |
| commit | 9b87e5896921ac735393539d5bc3f41907f9e0ad (patch) | |
| tree | 567fac55041aff6c91579bc9d64923ab149190e2 | |
| parent | 80a36ce677fd3280afec2d493c38e51e5a830593 (diff) | |
| download | chouette-core-9b87e5896921ac735393539d5bc3f41907f9e0ad.tar.bz2 | |
Move ComplianceControl#index into ComplianceControlSet#show
Refs #4579
| -rw-r--r-- | app/controllers/compliance_control_sets_controller.rb | 15 | ||||
| -rw-r--r-- | app/controllers/compliance_controls_controller.rb | 15 | ||||
| -rw-r--r-- | app/decorators/compliance_control_decorator.rb | 10 | ||||
| -rw-r--r-- | app/views/compliance_control_sets/show.html.slim | 36 | ||||
| -rw-r--r-- | app/views/compliance_controls/show.html.slim | 1 | ||||
| -rw-r--r-- | config/routes.rb | 2 | ||||
| -rw-r--r-- | spec/controllers/compliance_controls_controller_spec.rb | 7 |
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 |
