diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/helpers/imports_helper.rb | 5 | ||||
| -rw-r--r-- | app/models/import/resource.rb | 6 | ||||
| -rw-r--r-- | app/models/workbench.rb | 2 | ||||
| -rw-r--r-- | app/models/workgroup.rb | 6 | ||||
| -rw-r--r-- | app/views/compliance_check_sets/show.html.slim | 1 | ||||
| -rw-r--r-- | app/views/imports/import/_workbench.html.slim | 41 | 
6 files changed, 34 insertions, 27 deletions
| diff --git a/app/helpers/imports_helper.rb b/app/helpers/imports_helper.rb index 341f87037..f06d77eca 100644 --- a/app/helpers/imports_helper.rb +++ b/app/helpers/imports_helper.rb @@ -2,8 +2,9 @@  module ImportsHelper    # Import statuses helper -  def import_status(status, verbose: false) -    return "" unless status +  def import_status(status, verbose: false, default_status: nil) +    status ||= default_status +    return unless status      status = status.to_s.downcase      out = if %w[new running pending].include? status        content_tag :span, '', class: "fa fa-clock-o" diff --git a/app/models/import/resource.rb b/app/models/import/resource.rb index 27dc367a8..2c7889240 100644 --- a/app/models/import/resource.rb +++ b/app/models/import/resource.rb @@ -18,16 +18,14 @@ class Import::Resource < ApplicationModel    def next_step      if root_import.class == Import::Workbench -      # XXX -      # return unless netex_import&.successful? +      return unless netex_import&.successful?        if workbench.import_compliance_control_set_id.present? && workbench_import_control_set.nil?          ComplianceControlSetCopyWorker.perform_async workbench.import_compliance_control_set_id, referential_id          return        end -      # XXX -      # return if workbench_import_control_set && !workbench_import_control_set.successful? +      return if workbench_import_control_set && !workbench_import_control_set.successful?        if workgroup.import_compliance_control_set_id.present? && workgroup_import_control_set.nil?          ComplianceControlSetCopyWorker.perform_async workgroup.import_compliance_control_set_id, referential_id diff --git a/app/models/workbench.rb b/app/models/workbench.rb index 14406c9f4..d99197b47 100644 --- a/app/models/workbench.rb +++ b/app/models/workbench.rb @@ -52,7 +52,7 @@ class Workbench < ApplicationModel    end    def import_compliance_control_set -    ComplianceControlSet.find(import_compliance_control_set_id) +    import_compliance_control_set_id && ComplianceControlSet.find(import_compliance_control_set_id)    end    private diff --git a/app/models/workgroup.rb b/app/models/workgroup.rb index 9ae5e564d..6a1746eb8 100644 --- a/app/models/workgroup.rb +++ b/app/models/workgroup.rb @@ -26,6 +26,10 @@ class Workgroup < ApplicationModel    def import_compliance_control_set_id      # XXX -    1 +    nil +  end + +  def import_compliance_control_set +    import_compliance_control_set_id && ComplianceControlSet.find(import_compliance_control_set_id)    end  end diff --git a/app/views/compliance_check_sets/show.html.slim b/app/views/compliance_check_sets/show.html.slim index 4e1a8e2f9..bf4642b21 100644 --- a/app/views/compliance_check_sets/show.html.slim +++ b/app/views/compliance_check_sets/show.html.slim @@ -9,6 +9,7 @@          = definition_list( t('metadatas'),            { I18n.t("compliance_check_sets.show.metadatas.referential") => (@compliance_check_set.referential.nil? ? '' : link_to(@compliance_check_set.referential.name, referential_path(@compliance_check_set.referential)) ),              I18n.t("compliance_check_sets.show.metadatas.referential_type") => 'Jeu de données', +            I18n.t("compliance_check_sets.show.metadatas.status") => import_status(@compliance_check_set.status, verbose: true),              I18n.t("compliance_check_sets.show.metadatas.compliance_check_set_executed") => link_to(@compliance_check_set.name, executed_workbench_compliance_check_set_path(@compliance_check_set.workbench_id, @compliance_check_set)),              I18n.t("compliance_check_sets.show.metadatas.compliance_control_owner") => @compliance_check_set.organisation.name,              I18n.t("compliance_check_sets.show.metadatas.import") => '' }) diff --git a/app/views/imports/import/_workbench.html.slim b/app/views/imports/import/_workbench.html.slim index cec5d837c..0b6cc5945 100644 --- a/app/views/imports/import/_workbench.html.slim +++ b/app/views/imports/import/_workbench.html.slim @@ -8,6 +8,25 @@    .error_messages      = render 'shared/iev_interfaces/messages', messages: @import.messages +ruby: + controls = [] + controls << TableBuilderHelper::Column.new( +   name: t('.stif_control'), +   attribute: Proc.new { |n| import_status(n.workbench_import_control_set&.status, verbose: true, default_status: :pending) }, +   sortable: false, +   link_to: lambda do |item| +     item.workbench_import_control_set.present? && [@import.workbench, item.workbench_import_control_set] +   end + ) if @workbench.import_compliance_control_set.present? + controls << TableBuilderHelper::Column.new( +   name: t('.stif_control'), +   attribute: Proc.new { |n| import_status(n.workgroup_import_control_set&.status, verbose: true, default_status: :pending) }, +   sortable: false, +   link_to: lambda do |item| +     item.workbench_import_control_set.present? && [@import.workbench, item.workgroup_import_control_set] +   end + ) if @workbench.workgroup.import_compliance_control_set.present? +  - if @import.resources.any?    .col-lg-12      = table_builder_2 @import.resources, @@ -22,28 +41,12 @@          ), \          TableBuilderHelper::Column.new( \            key: :status, \ -          attribute: Proc.new { |n| import_status(n.status) }, \ +          attribute: Proc.new { |n| import_status(n.status, verbose: true, default_status: :pending) }, \            sortable: false, \            link_to: lambda do |item| \              item.netex_import.present? ? [@import.workbench, item.netex_import] : [@import.workbench, @import, item] \            end \ -        ), \ -        TableBuilderHelper::Column.new( \ -          name: t('.stif_control'), \ -          attribute: Proc.new { |n| import_status(n.workbench_import_control_set&.status) }, \ -          sortable: false, \ -          link_to: lambda do |item| \ -            item.workbench_import_control_set.present? && [@import.workbench, item.workbench_import_control_set] \ -          end \ -        ), \ -        TableBuilderHelper::Column.new( \ -          name: t('.organisation_control'), \ -          attribute: Proc.new { |n| import_status(n.workgroup_import_control_set&.status) }, \ -          sortable: false, \ -          link_to: lambda do |item| \ -            item.workgroup_import_control_set.present? && [@import.workbench, item.workgroup_import_control_set] \ -          end \ -        ) \ +        ), *controls \        ],        cls: 'table',        overhead: [ \ @@ -51,7 +54,7 @@          {}, \          { \            title: I18n.t('imports.show.summary').html_safe, \ -          width: 2, \ +          width: controls.size, \            cls: 'overheaded-default colspan="2"' \          } \        ] | 
