Fix params mangling issues in SubscriptionsController

This commit is contained in:
Matt-Yorkley
2021-01-10 00:51:16 +00:00
parent af8d497433
commit dcf982c1c3
2 changed files with 8 additions and 7 deletions

View File

@@ -57,14 +57,13 @@ module Admin
end
def unpause
params[:subscription][:paused_at] = nil
save_form_and_render
save_form_and_render(true, unpause: true)
end
private
def save_form_and_render(render_issues = true)
form = OrderManagement::Subscriptions::Form.new(@subscription, subscription_params)
def save_form_and_render(render_issues = true, options = {})
form = OrderManagement::Subscriptions::Form.new(@subscription, subscription_params, options)
unless form.save
render json: { errors: form.json_errors }, status: :unprocessable_entity
return
@@ -156,7 +155,7 @@ module Admin
end
def subscription_params
PermittedAttributes::Subscription.new(params).call
@subscription_params ||= PermittedAttributes::Subscription.new(params).call
end
end
end

View File

@@ -11,19 +11,21 @@ module OrderManagement
delegate :json_errors, :valid?, to: :validator
delegate :order_update_issues, to: :order_syncer
def initialize(subscription, subscription_params = {})
def initialize(subscription, subscription_params = {}, options = {})
@subscription = subscription
@subscription_params = subscription_params
@options = options
@estimator = OrderManagement::Subscriptions::Estimator.new(subscription)
@validator = OrderManagement::Subscriptions::Validator.new(subscription)
@order_syncer = OrderSyncer.new(subscription)
end
def save
subscription.assign_attributes(subscription_params)
subscription.assign_attributes(subscription_params.to_h)
return false unless valid?
subscription.transaction do
subscription.paused_at = nil if @options[:unpause]
estimator.estimate!
proxy_order_syncer.sync!
order_syncer.sync!