Sha256: 20e24312d444f0fd9eafd7a81d38f04c5923071c1ef59ab4eeee9a4389ab7005

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

module Effective
  module Providers
    module MarkAsPaid
      extend ActiveSupport::Concern

      def mark_as_paid
        raise('mark_as_paid provider is not available') unless EffectiveOrders.mark_as_paid?

        @order ||= Order.find(params[:id])

        EffectiveResources.authorize!(self, :update, @order)
        EffectiveResources.authorize!(self, :admin, :effective_orders)

        @order.assign_attributes(mark_as_paid_params.except(:payment, :payment_provider, :payment_card))

        order_purchased(
          payment: mark_as_paid_params[:payment],
          provider: mark_as_paid_params[:payment_provider],
          card: mark_as_paid_params[:payment_card],
          email: @order.send_mark_as_paid_email_to_buyer?,
          skip_buyer_validations: true,
          purchased_url: effective_orders.admin_order_path(@order),
          declined_url: effective_orders.admin_order_path(@order)
        )
      end

      def mark_as_paid_params
        params.require(:effective_order).permit(
          :purchased_at, :payment, :payment_provider, :payment_card,
          :note_to_buyer, :send_mark_as_paid_email_to_buyer
        )
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
effective_orders-5.0.2 app/controllers/effective/providers/mark_as_paid.rb
effective_orders-5.0.1 app/controllers/effective/providers/mark_as_paid.rb
effective_orders-4.6.1 app/controllers/effective/providers/mark_as_paid.rb
effective_orders-5.0.0 app/controllers/effective/providers/mark_as_paid.rb