Class: Bulkrax::ExportersController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- Bulkrax::ExportersController
- Includes:
- DownloadBehavior, Hyrax::ThemedLayoutController
- Defined in:
- app/controllers/bulkrax/exporters_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /exporters.
-
#destroy ⇒ Object
DELETE /exporters/1.
-
#download ⇒ Object
GET /exporters/1/download.
-
#edit ⇒ Object
GET /exporters/1/edit.
-
#index ⇒ Object
GET /exporters.
-
#new ⇒ Object
GET /exporters/new.
-
#show ⇒ Object
GET /exporters/1.
-
#update ⇒ Object
PATCH/PUT /exporters/1.
Methods included from DownloadBehavior
#content_head, #content_options, #download_content_type, #file, #file_name, #prepare_file_headers, #send_content, #send_file_contents
Instance Method Details
#create ⇒ Object
POST /exporters
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 55 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_later(@exporter.id) = 'Exporter was successfully created. A download link will appear once it completes.' else = 'Exporter was successfully created.' end redirect_to exporters_path, notice: else render :new end end |
#destroy ⇒ Object
DELETE /exporters/1
90 91 92 93 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 90 def destroy @exporter.destroy redirect_to exporters_url, notice: 'Exporter was successfully destroyed.' end |
#download ⇒ Object
GET /exporters/1/download
96 97 98 99 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 96 def download @exporter = Exporter.find(params[:exporter_id]) send_content end |
#edit ⇒ Object
GET /exporters/1/edit
43 44 45 46 47 48 49 50 51 52 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 43 def edit if defined?(::Hyrax) @exporter.name, bulkrax.exporter_path(@exporter.id) 'Edit' end # Correctly populate export_source_collection input @collection = Collection.find(@exporter.export_source) if @exporter.export_source.present? && @exporter.export_from == 'collection' end |
#index ⇒ Object
GET /exporters
15 16 17 18 19 20 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 15 def index # NOTE: We're paginating this in the browser. @exporters = Exporter.order(created_at: :desc).all if defined?(::Hyrax) end |
#new ⇒ Object
GET /exporters/new
35 36 37 38 39 40 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 35 def new @exporter = Exporter.new return unless defined?(::Hyrax) 'New' end |
#show ⇒ Object
GET /exporters/1
23 24 25 26 27 28 29 30 31 32 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 23 def show if defined?(::Hyrax) @exporter.name end @work_entries = @exporter.entries.where(type: @exporter.parser.entry_class.to_s).page(params[:work_entries_page]).per(30) @collection_entries = @exporter.entries.where(type: @exporter.parser.collection_entry_class.to_s).page(params[:collections_entries_page]).per(30) @file_set_entries = @exporter.entries.where(type: @exporter.parser.file_set_entry_class.to_s).page(params[:file_set_entries_page]).per(30) end |
#update ⇒ Object
PATCH/PUT /exporters/1
74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'app/controllers/bulkrax/exporters_controller.rb', line 74 def update field_mapping_params if @exporter.update(exporter_params) if params[:commit] == 'Update and Re-Export All Items' Bulkrax::ExporterJob.perform_later(@exporter.id) = 'Exporter was successfully updated. A download link will appear once it completes.' else 'Exporter was successfully updated.' end redirect_to exporters_path, notice: else render :edit end end |