diff options
| author | Zog | 2018-04-30 14:22:53 +0200 |
|---|---|---|
| committer | Zog | 2018-05-07 15:03:07 +0200 |
| commit | af49fd1021ee6b22fd8ca6c6592c5f7d64c23aa0 (patch) | |
| tree | 60d770778dbccb6b7deb31247c9d2462a53f19da | |
| parent | f0bbc8d002f845efe0bfecf37477e96c84a6b41c (diff) | |
| download | chouette-core-af49fd1021ee6b22fd8ca6c6592c5f7d64c23aa0.tar.bz2 | |
Better views
| -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 | ||||
| -rw-r--r-- | config/locales/compliance_check_sets.en.yml | 1 | ||||
| -rw-r--r-- | config/locales/compliance_check_sets.fr.yml | 1 |
8 files changed, 36 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"' \ } \ ] diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml index 73ecf8996..217077d6b 100644 --- a/config/locales/compliance_check_sets.en.yml +++ b/config/locales/compliance_check_sets.en.yml @@ -30,6 +30,7 @@ en: compliance_check_set_executed: "Compliance check set executed" compliance_control_owner: "Compliance control owner" import: "Import" + status: Status errors: no_parent: "The compliance check set doesn't have any parent" activerecord: diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml index 045fed4ce..be54effde 100644 --- a/config/locales/compliance_check_sets.fr.yml +++ b/config/locales/compliance_check_sets.fr.yml @@ -26,6 +26,7 @@ fr: compliance_check_set_executed: "Jeu de contrôles exécuté" compliance_control_owner: "Propriétaire du jeu de contrôles" import: "Rapport d'import" + status: Statut errors: no_parent: "Le jeux de contrôle n'a pas de parent" activerecord: |
