aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorZog2018-04-30 14:40:04 +0200
committerZog2018-05-07 15:03:07 +0200
commitd041b6b07cc2b9c2b48e6da929c8d7f1e0ec8bca (patch)
tree478d23c89c857c38b009604ef4fcbf1193eb8f2f /app
parentaf49fd1021ee6b22fd8ca6c6592c5f7d64c23aa0 (diff)
downloadchouette-core-d041b6b07cc2b9c2b48e6da929c8d7f1e0ec8bca.tar.bz2
Add import_compliance_control_sets to Workgroups
And rename resource methods for better consistency
Diffstat (limited to 'app')
-rw-r--r--app/models/import/resource.rb23
-rw-r--r--app/models/workgroup.rb9
-rw-r--r--app/views/imports/import/_workbench.html.slim22
3 files changed, 28 insertions, 26 deletions
diff --git a/app/models/import/resource.rb b/app/models/import/resource.rb
index 2c7889240..e88f03088 100644
--- a/app/models/import/resource.rb
+++ b/app/models/import/resource.rb
@@ -20,15 +20,18 @@ class Import::Resource < ApplicationModel
return unless netex_import&.successful?
- if workbench.import_compliance_control_set_id.present? && workbench_import_control_set.nil?
+ if workbench.import_compliance_control_set_id.present? && workbench_import_check_set.nil?
ComplianceControlSetCopyWorker.perform_async workbench.import_compliance_control_set_id, referential_id
return
end
- 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
+ return if workbench_import_check_set && !workbench_import_control_set.successful?
+ workgroup.import_compliance_control_set_ids.each_with_index do |id, index|
+ compliance_check_set = workgroup_import_check_set[index]
+ return if compliance_check_set && !compliance_check_set.successful?
+ if compliance_check_set.nil?
+ ComplianceControlSetCopyWorker.perform_async id, referential_id
+ end
end
end
end
@@ -46,15 +49,17 @@ class Import::Resource < ApplicationModel
import.children.where(name: self.reference).last
end
- def workbench_import_control_set
+ def workbench_import_check_set
return unless referential.present?
return unless referential.workbench.import_compliance_control_set_id.present?
referential.compliance_check_sets.where(compliance_control_set_id: referential.workbench.import_compliance_control_set_id, referential_id: referential_id).last
end
- def workgroup_import_control_set
+ def workgroup_import_check_set(index)
return unless referential.present?
- return unless referential.workbench.workgroup.import_compliance_control_set_id.present?
- referential.compliance_check_sets.where(compliance_control_set_id: referential.workbench.workgroup.import_compliance_control_set_id, referential_id: referential_id).last
+ return unless referential.workbench.workgroup.import_compliance_control_set_ids.present?
+ cs = referential.workbench.workgroup.import_compliance_control_sets[index]
+ return unless cs
+ referential.compliance_check_sets.where(compliance_control_set_id: cs.id, referential_id: referential_id).last
end
end
diff --git a/app/models/workgroup.rb b/app/models/workgroup.rb
index 6a1746eb8..247873869 100644
--- a/app/models/workgroup.rb
+++ b/app/models/workgroup.rb
@@ -24,12 +24,7 @@ class Workgroup < ApplicationModel
export_types.include? export_name
end
- def import_compliance_control_set_id
- # XXX
- nil
- end
-
- def import_compliance_control_set
- import_compliance_control_set_id && ComplianceControlSet.find(import_compliance_control_set_id)
+ def import_compliance_control_sets
+ @import_compliance_control_sets ||= import_compliance_control_set_ids.map{|id| ComplianceControlSet.find(id)}
end
end
diff --git a/app/views/imports/import/_workbench.html.slim b/app/views/imports/import/_workbench.html.slim
index 0b6cc5945..4dcf949b0 100644
--- a/app/views/imports/import/_workbench.html.slim
+++ b/app/views/imports/import/_workbench.html.slim
@@ -12,20 +12,22 @@ 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) },
+ attribute: Proc.new { |n| import_status(n.workbench_import_check_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]
+ item.workbench_import_check_set.present? && [@import.workbench, item.workbench_import_check_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?
+ controls += @workbench.workgroup.import_compliance_control_sets.each_with_index.map do |cs, i|
+ TableBuilderHelper::Column.new(
+ name: t('.organisation_control'),
+ attribute: Proc.new { |n| import_status(n.workgroup_import_check_set(i)&.status, verbose: true, default_status: :pending) },
+ sortable: false,
+ link_to: lambda do |item|
+ item.workgroup_import_check_set(i).present? && [@import.workbench, item.workgroup_import_check_set(i)]
+ end
+ )
+ end
- if @import.resources.any?
.col-lg-12