diff options
| author | Guillaume | 2017-11-22 14:55:05 +0100 | 
|---|---|---|
| committer | Guillaume | 2017-11-22 14:55:05 +0100 | 
| commit | cf8c8352bd4b5493c3e1cdfb8ea27c78ac9abab0 (patch) | |
| tree | f03ad3aae1427a560c09a443b88fc23a4c2c8265 | |
| parent | acb37189bea8e0bd2c36d9b02042a8e3ee5bb238 (diff) | |
| download | chouette-core-cf8c8352bd4b5493c3e1cdfb8ea27c78ac9abab0.tar.bz2 | |
Refs #4987 create compliance_check_sets#show
| -rw-r--r-- | app/controllers/compliance_check_sets_controller.rb | 8 | ||||
| -rw-r--r-- | app/decorators/compliance_check_set_decorator.rb | 17 | ||||
| -rw-r--r-- | app/helpers/compliance_check_sets_helper.rb | 14 | ||||
| -rw-r--r-- | app/views/compliance_check_sets/index.html.slim | 6 | ||||
| -rw-r--r-- | app/views/compliance_check_sets/show.html.slim | 55 | ||||
| -rw-r--r-- | config/locales/compliance_check_sets.en.yml | 5 | ||||
| -rw-r--r-- | config/locales/compliance_check_sets.fr.yml | 8 | 
7 files changed, 110 insertions, 3 deletions
| diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb index 175c22191..776275d52 100644 --- a/app/controllers/compliance_check_sets_controller.rb +++ b/app/controllers/compliance_check_sets_controller.rb @@ -19,6 +19,14 @@ class ComplianceCheckSetsController < InheritedResources::Base      end    end +  def show +    show! do +      @compliance_check_set = @compliance_check_set.decorate(context: { +        compliance_check_set: @compliance_check_set +      }) +    end +  end +    def executed      show! do |format|         # But now nobody is aware anymore that `format.html` passes a parameter into the block diff --git a/app/decorators/compliance_check_set_decorator.rb b/app/decorators/compliance_check_set_decorator.rb index 5f3821cbe..096596b19 100644 --- a/app/decorators/compliance_check_set_decorator.rb +++ b/app/decorators/compliance_check_set_decorator.rb @@ -3,6 +3,23 @@ class ComplianceCheckSetDecorator < Draper::Decorator    def action_links      links = [] + +    links << Link.new( +      content: h.destroy_link_content, +      href: h.workbench_compliance_check_sets_path(object.id), +      method: :delete, +      data: {confirm: h.t('imports.actions.destroy_confirm')} +    ) + +    links +  end + +  def lines_status +    object.compliance_check_resources.where(status: :OK, resource_type: :line).count +  end + +  def lines_in_compliance_check_set +    object.compliance_check_resources.where(resource_type: :line).count    end  end diff --git a/app/helpers/compliance_check_sets_helper.rb b/app/helpers/compliance_check_sets_helper.rb index fc7165fed..b255aee63 100644 --- a/app/helpers/compliance_check_sets_helper.rb +++ b/app/helpers/compliance_check_sets_helper.rb @@ -13,4 +13,18 @@ module ComplianceCheckSetsHelper        compliance_check.compliance_check_set,        compliance_check)    end + +    # Import statuses helper +  def compliance_check_set_status(status) +    if %w[new running pending].include? status +      content_tag :span, '', class: "fa fa-clock-o" +    else +      cls ='' +      cls = 'success' if status == 'OK' +      cls = 'warning' if status == 'WARNING' +      cls = 'danger' if %w[ERROR IGNORED].include? status + +      content_tag :span, '', class: "fa fa-circle text-#{cls}" +    end +  end  end diff --git a/app/views/compliance_check_sets/index.html.slim b/app/views/compliance_check_sets/index.html.slim index 4ca5a2ee7..194749104 100644 --- a/app/views/compliance_check_sets/index.html.slim +++ b/app/views/compliance_check_sets/index.html.slim @@ -22,7 +22,7 @@                [ \                  TableBuilderHelper::Column.new( \                    key: :ref, \ -                  attribute: 'referential_id' \ +                  attribute: 'compliance_check_set_id' \                  ), \                  TableBuilderHelper::Column.new( \                    key: :creation_date, \ @@ -31,8 +31,8 @@                  TableBuilderHelper::Column.new( \                    key: :associated_object, \                    attribute: Proc.new{|n| n.referential.name}, \ -                  link_to: lambda do |referential| \ -                    referential_path(referential, current_workbench_id: params[:id]) \ +                  link_to: lambda do |compliance_check_set| \ +                    referential_path(compliance_check_set.referential_id) \                    end \                  ), \                  TableBuilderHelper::Column.new( \ diff --git a/app/views/compliance_check_sets/show.html.slim b/app/views/compliance_check_sets/show.html.slim new file mode 100644 index 000000000..659413b28 --- /dev/null +++ b/app/views/compliance_check_sets/show.html.slim @@ -0,0 +1,55 @@ +- breadcrumb :compliance_check_sets, @workbench, @compliance_check_set +/ PageHeader += pageheader 'jeux-de-donnees', +             @compliance_check_set.name, +             '', +             t('last_update', time: l(@compliance_check_set.updated_at, format: :short)) do + +  / Below is secundary actions & optional contents (filters, ...) +  .row +    .col-lg-12.text-right.mb-sm +      - @compliance_check_set.action_links.each do |link| +        = link_to link.href, +            method: link.method, +            data: link.data, +            class: 'btn btn-primary' do +          = link.content + +/ PageContent +.page_content.import_messages +  .container-fluid +    .row +      .col-lg-12 +        h1 +          span.status_icon = compliance_check_set_status(@compliance_check_set.status) +          span = t('compliance_check_sets.show.table_state', lines_status: @compliance_check_set.lines_status , lines_in_compliance_check_set: @compliance_check_set.lines_in_compliance_check_set ) +      .col-lg-12 +        = t('compliance_check_sets.show.table_explanation') +    .row +      .col-lg-12 +        = table_builder_2 @compliance_check_set.compliance_check_resources, +          [ \ +            TableBuilderHelper::Column.new( \ +              key: :name, \ +              attribute: 'name', \ +              sortable: false, \ +              #link_to: lambda do |compliance_check_set| \ +              #  compliance_check_set_path(compliance_check_set.referential) if compliance_check_set.referential.present? \ +              #end \ +            ), \ +            TableBuilderHelper::Column.new( \ +              key: :status, \ +              attribute: Proc.new { |n| compliance_check_set_status(n.status) }, \ +              sortable: false, \ +              #link_to: lambda do |compliance_check_set| \ +              #  workbench_compliance_check_set_path(compliance_check_set.compliance_control_set_id, compliance_check_set) \ +              #end \ +            ), \ +            TableBuilderHelper::Column.new( \ +              key: :metrics, \ +              attribute: 'metrics', \ +              sortable: false, \ +            ) \ +          ], +          links: [], +          cls: 'table' diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml index 5aa6f9740..126950693 100644 --- a/config/locales/compliance_check_sets.en.yml +++ b/config/locales/compliance_check_sets.en.yml @@ -26,6 +26,11 @@ en:          assigned_to: Assigned to          compliance_control_set: Compliance control set          name: Name +      compliance_check_resources: +        name: Name of the line +        status: Status +        metrics: Test results +        download: Download      models:        compliance_check_block:          one: compliance_control_set diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml index 8ad5af904..90092288a 100644 --- a/config/locales/compliance_check_sets.fr.yml +++ b/config/locales/compliance_check_sets.fr.yml @@ -13,6 +13,9 @@ fr:      search_no_results: Aucun rapport de contrôle ne correspond à votre recherche      executed:        title: Jeu de contrôles exécutés %{name} +    show: +      table_state: "%{lines_status} lignes importées sur %{lines_in_compliance_check_set} présentes dans l'archive" +      table_explanation: Ces contrôles s’appliquent pour toutes les données importées et conditionnent la construction de l’offre de votre organisation    activerecord:      attributes:        compliance_check_set: @@ -22,6 +25,11 @@ fr:          assigned_to: Affectation          compliance_control_set: jeu de contrôle          name: Nom +      compliance_check_resource: +        name: Nom de la ligne +        status: État +        metrics: Résultat des tests +        download: Télécharger      models:        compliance_check_block:          zero:  "Groupe de contrôle" | 
