feat(recurring_donations): add strong params

This commit is contained in:
Luis Castro 2019-08-06 16:07:35 +02:00 committed by Eric Schultz
parent 8f1b33cabd
commit 6a0a674328
2 changed files with 24 additions and 22 deletions

View file

@ -65,15 +65,15 @@ module Nonprofits
def update def update
json_saved UpdateRecurringDonations json_saved UpdateRecurringDonations
.update(current_recurring_donation, params[:recurring_donation]) .update(current_recurring_donation, recurring_donation_params)
end end
# post /nonprofits/:nonprofit_id/recurring_donations # post /nonprofits/:nonprofit_id/recurring_donations
def create def create
if params[:recurring_donation][:token] if recurring_donation_params[:token]
render_json { InsertRecurringDonation.with_stripe(params[:recurring_donation]) } render_json { InsertRecurringDonation.with_stripe(recurring_donation_params) }
elsif params[:recurring_donation][:direct_debit_detail_id] elsif recurring_donation_params[:direct_debit_detail_id]
render JsonResp.new(params[:recurring_donation]) do |_data| render JsonResp.new(recurring_donation_params) do |_data|
requires(:amount).as_int requires(:amount).as_int
requires(:supporter_id, :nonprofit_id, :direct_debit_detail_id).as_int requires(:supporter_id, :nonprofit_id, :direct_debit_detail_id).as_int
optional(:dedication, :designation).as_string optional(:dedication, :designation).as_string
@ -91,5 +91,9 @@ module Nonprofits
def current_recurring_donation def current_recurring_donation
@recurring_donation ||= current_nonprofit.recurring_donations.find params[:id] @recurring_donation ||= current_nonprofit.recurring_donations.find params[:id]
end end
def recurring_donation_params
params.require(:recurring_donation).permit(:amount, :active, :paydate, :interval, :time_unit, :start_date, :end_date, :n_failures, :edit_token, :cancelled_by, :cancelled_at, :donation_id, :nonprofit_id, :supporter_id)
end
end end
end end

View file

@ -4,8 +4,6 @@
require 'timespan' require 'timespan'
class RecurringDonation < ApplicationRecord class RecurringDonation < ApplicationRecord
# TODO:
# attr_accessible \
# :amount, # int (cents) # :amount, # int (cents)
# :active, # bool (whether this recurring donation should still be paid) # :active, # bool (whether this recurring donation should still be paid)
# :paydate, # int (fixed date of the month for monthly recurring donations) # :paydate, # int (fixed date of the month for monthly recurring donations)