Class: Admin::QbSyncsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Admin::QbSyncsController
- Defined in:
- app/controllers/admin/qb_syncs_controller.rb
Instance Method Summary collapse
- #index ⇒ Object
- #instructions ⇒ Object
- #qwc ⇒ Object
- #set_all_orders_finished ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#index ⇒ Object
8 9 10 11 12 |
# File 'app/controllers/admin/qb_syncs_controller.rb', line 8 def index @datatable = EffectiveQbSyncDatatable.new(self) @page_title = 'Quickbooks Synchronizations' end |
#instructions ⇒ Object
37 38 39 |
# File 'app/controllers/admin/qb_syncs_controller.rb', line 37 def instructions @page_title = 'Quickbooks Setup Instructions' end |
#qwc ⇒ Object
41 42 43 44 45 46 47 |
# File 'app/controllers/admin/qb_syncs_controller.rb', line 41 def qwc @filename = Rails.application.class.parent_name.downcase + '.qwc' response.headers['Content-Disposition'] = "attachment; filename=\"#{@filename}\"" render '/effective/qb_web_connector/quickbooks.qwc', layout: false end |
#set_all_orders_finished ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'app/controllers/admin/qb_syncs_controller.rb', line 49 def set_all_orders_finished Effective::QbTicket.transaction do begin @qb_ticket = Effective::QbTicket.new(state: 'Finished') @qb_ticket.qb_logs.build(message: 'Set all orders Finished') @qb_ticket.save! Effective::QbRequest.new_requests_for_unsynced_items.each do |qb_request| qb_request.qb_ticket = @qb_ticket qb_request.transition_to_finished end flash[:success] = 'Successfully set all orders finished' rescue => e flash[:danger] = "Unable to set all orders finished: #{e.message}" raise ActiveRecord::Rollback end end redirect_to effective_qb_sync.admin_qb_syncs_path end |
#show ⇒ Object
14 15 16 17 18 19 |
# File 'app/controllers/admin/qb_syncs_controller.rb', line 14 def show @qb_ticket = Effective::QbTicket.includes(:qb_requests, :qb_logs).find(params[:id]) @page_title = "Quickbooks Sync ##{@qb_ticket.id}" @qb_order_items_form = Effective::QbOrderItemsForm.new(id: @qb_ticket.id, orders: @qb_ticket.orders) end |
#update ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/controllers/admin/qb_syncs_controller.rb', line 21 def update @qb_ticket = Effective::QbTicket.includes(:qb_requests, :qb_logs).find(params[:id]) @page_title = "Quickbooks Sync ##{@qb_ticket.id}" @qb_order_items_form = Effective::QbOrderItemsForm.new(id: @qb_ticket.id, orders: @qb_ticket.orders) @qb_order_items_form.qb_order_items_attributes = permitted_qb_order_items_params[:qb_order_items_attributes].values if @qb_order_items_form.save flash[:success] = 'Successfully updated Quickbooks item names' redirect_to effective_qb_sync.admin_qb_sync_path(@qb_ticket) else flash.now[:danger] = 'Unable to update Quickbooks item names' render action: :show end end |