Sha256: 7ae97ebc368f157113472ee1cab8bff1195b0480ccd04326e5636b07c8d9654a

Contents?: true

Size: 1.18 KB

Versions: 23

Compression:

Stored size: 1.18 KB

Contents

module Spree
  module Admin
    class ReimbursementsController < ResourceController
      belongs_to 'spree/order', find_by: :number

      before_action :load_simulated_refunds, only: :edit

      rescue_from Spree::Core::GatewayError, with: :spree_core_gateway_error

      def perform
        @reimbursement.perform!
        redirect_to location_after_save
      end

      private

      def build_resource
        if params[:build_from_customer_return_id].present?
          customer_return = CustomerReturn.find(params[:build_from_customer_return_id])

          Reimbursement.build_from_customer_return(customer_return)
        else
          super
        end
      end

      def location_after_save
        if @reimbursement.reimbursed?
          admin_order_reimbursement_path(parent, @reimbursement)
        else
          edit_admin_order_reimbursement_path(parent, @reimbursement)
        end
      end

      def load_simulated_refunds
        @reimbursement_objects = @reimbursement.simulate
      end

      def spree_core_gateway_error(error)
        flash[:error] = error.message
        redirect_to spree.edit_admin_order_reimbursement_path(parent, @reimbursement)
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
spree_backend-4.8.4 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.8.3 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.8.2 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.8.1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.3.3 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.7.2 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.6.2 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.7.1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.7.0 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.6.1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.6.0 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.5.1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.5.0 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.3.2 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.4.1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.4.0 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.4.0.rc2 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.3.1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.4.0.rc1 app/controllers/spree/admin/reimbursements_controller.rb
spree_backend-4.3.0 app/controllers/spree/admin/reimbursements_controller.rb