Class: Bulkrax::ExportersController

Inherits:
ApplicationController show all
Includes:
DownloadBehavior, Hyrax::ThemedLayoutController
Defined in:
app/controllers/bulkrax/exporters_controller.rb

Instance Method Summary collapse

Methods included from DownloadBehavior

#content_head, #content_options, #download_content_type, #file, #file_name, #prepare_file_headers, #send_content, #send_file_contents, #stream_body

Instance Method Details

#createObject

POST /exporters



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'app/controllers/bulkrax/exporters_controller.rb', line 47

def create
  @exporter = Exporter.new(exporter_params)
  field_mapping_params

  if @exporter.save
    if params[:commit] == 'Create and Export'
      # Use perform now for export
      Bulkrax::ExporterJob.perform_now(@exporter.id)
    end
    redirect_to exporters_path, notice: 'Exporter was successfully created.'
  else
    render :new
  end
end

#destroyObject

DELETE /exporters/1



74
75
76
77
# File 'app/controllers/bulkrax/exporters_controller.rb', line 74

def destroy
  @exporter.destroy
  redirect_to exporters_url, notice: 'Exporter was successfully destroyed.'
end

#downloadObject

GET /exporters/1/download



80
81
82
83
# File 'app/controllers/bulkrax/exporters_controller.rb', line 80

def download
  @exporter = Exporter.find(params[:exporter_id])
  send_content
end

#editObject

GET /exporters/1/edit



37
38
39
40
41
42
43
44
# File 'app/controllers/bulkrax/exporters_controller.rb', line 37

def edit
  add_exporter_breadcrumbs
  add_breadcrumb @exporter.name, bulkrax.exporter_path(@exporter.id)
  add_breadcrumb 'Edit'

  # Correctly populate export_source_collection input
  @collection = Collection.find(@exporter.export_source) if @exporter.export_source.present? && @exporter.export_from == 'collection'
end

#indexObject

GET /exporters



14
15
16
17
18
# File 'app/controllers/bulkrax/exporters_controller.rb', line 14

def index
  @exporters = Exporter.all

  add_exporter_breadcrumbs
end

#newObject

GET /exporters/new



29
30
31
32
33
34
# File 'app/controllers/bulkrax/exporters_controller.rb', line 29

def new
  @exporter = Exporter.new

  add_exporter_breadcrumbs
  add_breadcrumb 'New'
end

#showObject

GET /exporters/1



21
22
23
24
25
26
# File 'app/controllers/bulkrax/exporters_controller.rb', line 21

def show
  add_exporter_breadcrumbs
  add_breadcrumb @exporter.name

  @work_entries = @exporter.entries.where(type: @exporter.parser.entry_class.to_s).page(params[:work_entries_page])
end

#updateObject

PATCH/PUT /exporters/1



63
64
65
66
67
68
69
70
71
# File 'app/controllers/bulkrax/exporters_controller.rb', line 63

def update
  field_mapping_params
  if @exporter.update(exporter_params)
    Bulkrax::ExporterJob.perform_now(@exporter.id) if params[:commit] == 'Update and Re-Export All Items'
    redirect_to exporters_path, notice: 'Exporter was successfully updated.'
  else
    render :edit
  end
end