diff options
| -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 | 
