2019-07-30 21:29:24 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-25 16:15:39 +00:00
|
|
|
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
2018-03-25 17:30:42 +00:00
|
|
|
module Nonprofits
|
2019-07-30 21:29:24 +00:00
|
|
|
class CardsController < ApplicationController
|
2018-08-08 21:31:42 +00:00
|
|
|
include Controllers::NonprofitHelper
|
2018-03-25 17:30:42 +00:00
|
|
|
|
2019-07-30 21:29:24 +00:00
|
|
|
before_action :authenticate_nonprofit_user!
|
2018-03-25 17:30:42 +00:00
|
|
|
|
|
|
|
def edit
|
|
|
|
@nonprofit = current_nonprofit
|
|
|
|
end
|
|
|
|
|
|
|
|
# POST /nonprofits/:nonprofit_id/card
|
|
|
|
def create
|
|
|
|
render(
|
2019-07-30 21:29:24 +00:00
|
|
|
JsonResp.new(params) do |_d|
|
2018-03-25 17:30:42 +00:00
|
|
|
requires(:nonprofit_id).as_int
|
|
|
|
requires(:card).nested do
|
|
|
|
requires(:name, :stripe_card_token, :stripe_card_id).as_string
|
|
|
|
requires(:holder_id).as_int
|
|
|
|
requires(:holder_type).one_of('Supporter', 'Nonprofit')
|
|
|
|
end
|
|
|
|
end.when_valid do |d|
|
|
|
|
UpdateBillingSubscriptions.activate_from_trial(d[:nonprofit_id])
|
|
|
|
InsertCard.with_stripe(d[:card])
|
|
|
|
end
|
|
|
|
)
|
|
|
|
end
|
2019-10-29 21:57:52 +00:00
|
|
|
|
|
|
|
def required_params
|
|
|
|
params.require(:nonprofit_id, card: [:name, :stripe_card_token, :stripe_card_id, :holder_id, :holder_type] )
|
|
|
|
end
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|
|
|
|
end
|