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