diff options
| author | Zog | 2018-04-30 14:40:04 +0200 | 
|---|---|---|
| committer | Zog | 2018-05-07 15:03:07 +0200 | 
| commit | d041b6b07cc2b9c2b48e6da929c8d7f1e0ec8bca (patch) | |
| tree | 478d23c89c857c38b009604ef4fcbf1193eb8f2f /app | |
| parent | af49fd1021ee6b22fd8ca6c6592c5f7d64c23aa0 (diff) | |
| download | chouette-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.rb | 23 | ||||
| -rw-r--r-- | app/models/workgroup.rb | 9 | ||||
| -rw-r--r-- | app/views/imports/import/_workbench.html.slim | 22 | 
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 | 
