Sha256: 9f4c5958945651d4e6af4b5e72215ae5500bc9e28960a292af694bb4ec61d8f4

Contents?: true

Size: 1.25 KB

Versions: 9

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module Lcms
  module Engine
    module Admin
      class BatchReimportsController < AdminController
        def new
          @query = OpenStruct.new(params[:query]) # rubocop:disable Style/OpenStructUse
        end

        def create
          @query = OpenStruct.new params[:query].except(:type) # rubocop:disable Style/OpenStructUse
          entries = if materials?
                      DocTemplate.config['queries']['material'].constantize.call(@query)
                    else
                      DocTemplate.config['queries']['document'].constantize.call(@query)
                    end
          bulk_import entries
          render :import
        end

        private

        def bulk_import(docs)
          jobs = {}
          docs.each do |doc|
            job_id = job_class.perform_later(doc).job_id
            jobs[job_id] = { link: doc.file_url, status: 'waiting' }
          end
          @props = { jobs: jobs, type: params.dig(:query, :type), links: view_links }
        end

        def job_class
          materials? ? DocumentGenerator.material_parse_job : DocumentGenerator.document_parse_job
        end

        def materials?
          params.dig(:query, :type) == 'materials'
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
lcms-engine-0.5.5 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.5.4 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.5.3 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.5.2 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.5.1 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.5.0 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.4.2 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.4.1 app/controllers/lcms/engine/admin/batch_reimports_controller.rb
lcms-engine-0.4.0 app/controllers/lcms/engine/admin/batch_reimports_controller.rb