From 98584242ab88c2e6803c3fee864ede6219477785 Mon Sep 17 00:00:00 2001 From: Mattia Roccoberton Date: Fri, 12 Feb 2021 17:00:24 +0100 Subject: Cleanup the duplicated fields on subscription creation --- lib/solidus_subscriptions/subscription_generator.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib') diff --git a/lib/solidus_subscriptions/subscription_generator.rb b/lib/solidus_subscriptions/subscription_generator.rb index 8153912..7acedfa 100644 --- a/lib/solidus_subscriptions/subscription_generator.rb +++ b/lib/solidus_subscriptions/subscription_generator.rb @@ -34,6 +34,8 @@ module SolidusSubscriptions Subscription.create!(subscription_attributes) do |sub| sub.actionable_date = sub.next_actionable_date + end.tap do |_subscription| + cleanup_subscription_line_items(subscription_line_items) end end @@ -54,6 +56,15 @@ module SolidusSubscriptions private + def cleanup_subscription_line_items(subscription_line_items) + ids = subscription_line_items.pluck :id + SolidusSubscriptions::LineItem.where(id: ids).update_all( + interval_length: nil, + interval_units: nil, + end_date: nil + ) + end + def subscription_configuration(subscription_line_item) SubscriptionConfiguration.new( subscription_line_item.interval_length, -- cgit v1.2.3