8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'app/controllers/spree/payment_sources_controller.rb', line 8
def destroy
unless @payment_source.user_id == spree_current_user.id
return render turbo_stream: turbo_stream.update(
"saved-cards-#{@payment_source.payment_method_id}",
partial: 'spree/shared/error',
locals: { message: Spree.t('gmo_pg.unauthorized') }
), status: :forbidden
end
payment_method = @payment_source.payment_method
begin
payment_method.disable_customer_profile(@payment_source)
@payment_sources = spree_current_user.payment_sources.where(payment_method: payment_method)
render turbo_stream: turbo_stream.update(
"saved-cards-#{payment_method.id}",
partial: 'spree/checkout/payment/saved_cards',
locals: { payment_method: payment_method, payment_sources: @payment_sources }
)
rescue Spree::Core::GatewayError => e
render turbo_stream: turbo_stream.update(
"saved-cards-#{payment_method.id}",
partial: 'spree/shared/error',
locals: { message: e.message }
), status: :unprocessable_entity
end
end
|