Class: SpotlightSearch::ExportJobsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/spotlight_search/export_jobs_controller.rb

Instance Method Summary collapse

Instance Method Details

#export_jobObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/spotlight_search/export_jobs_controller.rb', line 3

def export_job
  begin
    klass = params[:class_name].constantize
    if klass.validate_exportable_columns(params[:columns])
      (filter_params = params[:filters].permit!) if params[:filters].present?
      (sort_params = params[:sort].permit!) if params[:sort].present?
      ExportJob.perform_later(klass.name, params[:email], params[:columns], filter_params, sort_params)
      notice = 'Successfully queued for export'
    else
      notice = 'Invalid columns found'
    end
  rescue StandardError => e
    notice = e.message
  ensure
    redirect_back fallback_location: root_path, notice: notice
  end
end