Class: Spree::Admin::ImportNewOrdersController
- Inherits:
-
BaseImportOrdersController
- Object
- ResourceController
- BaseImportOrdersController
- Spree::Admin::ImportNewOrdersController
- Defined in:
- app/controllers/spree/admin/import_new_orders_controller.rb
Instance Method Summary collapse
-
#cancel ⇒ Object
POST: /admin/orders/import_new_orders/:id/cancel.
-
#collection ⇒ Object
override.
-
#collection_url ⇒ Object
override.
-
#download_new_order_csv_template ⇒ Object
GET: /admin/orders/download_new_order_csv_template.
Methods inherited from BaseImportOrdersController
#build_import_order, #create, #download, #model_class, #object_name, #permitted_resource_params, #show
Instance Method Details
#cancel ⇒ Object
POST: /admin/orders/import_new_orders/:id/cancel
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/spree/admin/import_new_orders_controller.rb', line 28 def cancel import = model_class.find(params[:id]) show_url = spree.admin_import_new_order_url(import.id) unless import.cancellable? flash[:error] = 'These orders cannot be canceled.' # rubocop:disable Rails/I18nLocaleTexts redirect_to show_url and return end if params[:confirm_name].to_s.strip != import.name.to_s.strip flash[:error] = 'Import name did not match. Cancellation aborted.' # rubocop:disable Rails/I18nLocaleTexts redirect_to show_url and return end SpreeCmCommissioner::CancelImportOrderJob.perform_later( import_order_id: import.id, canceled_by_user_id: spree_current_user.id, cancellation_reason: params[:cancellation_reason].to_s.strip.presence ) flash[:success] = "Canceling orders from \"#{import.name}\". This runs in the background." redirect_to show_url end |
#collection ⇒ Object
override
5 6 7 8 9 10 |
# File 'app/controllers/spree/admin/import_new_orders_controller.rb', line 5 def collection @collection ||= model_class.new_order .order(created_at: :desc) .page(params[:page]) .per(params[:per_page]) end |
#collection_url ⇒ Object
override
13 14 15 |
# File 'app/controllers/spree/admin/import_new_orders_controller.rb', line 13 def collection_url admin_import_new_orders_url end |
#download_new_order_csv_template ⇒ Object
GET: /admin/orders/download_new_order_csv_template
18 19 20 21 22 23 24 25 |
# File 'app/controllers/spree/admin/import_new_orders_controller.rb', line 18 def download_new_order_csv_template respond_with do |format| format.csv do context = SpreeCmCommissioner::ImportCsvTemplateDownloader.call(import_type: 'new_order') send_file context.filepath, filename: context.filename, type: 'text/csv' end end end |