aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/helpers/imports_helper.rb5
-rw-r--r--app/models/import/resource.rb6
-rw-r--r--app/models/workbench.rb2
-rw-r--r--app/models/workgroup.rb6
-rw-r--r--app/views/compliance_check_sets/show.html.slim1
-rw-r--r--app/views/imports/import/_workbench.html.slim41
-rw-r--r--config/locales/compliance_check_sets.en.yml1
-rw-r--r--config/locales/compliance_check_sets.fr.yml1
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: