From eb067f57084325e518b607fa72a776842c1c7d31 Mon Sep 17 00:00:00 2001 From: PCoder Date: Sun, 24 Dec 2017 14:38:32 +0100 Subject: [PATCH] Refactor code and log messages for possible errors --- digitalglarus/views.py | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/digitalglarus/views.py b/digitalglarus/views.py index 7576eb36..fa601d8d 100644 --- a/digitalglarus/views.py +++ b/digitalglarus/views.py @@ -535,21 +535,35 @@ class MembershipDeactivateView(LoginRequiredMixin, UpdateView): membership_order = MembershipOrder.objects.filter( customer__user=self.request.user ).last() - if membership_order.subscription_id: - result = stripe_utils.unsubscribe_customer( - subscription_id=membership_order.subscription_id - ) - stripe_subscription_obj = result.get('response_object') - # Check if the subscription was canceled - if (stripe_subscription_obj is None or - stripe_subscription_obj.status != 'canceled'): - error_msg = result.get('error') + if membership_order: + if membership_order.subscription_id: + result = stripe_utils.unsubscribe_customer( + subscription_id=membership_order.subscription_id + ) + stripe_subscription_obj = result.get('response_object') + # Check if the subscription was canceled + if (stripe_subscription_obj is None or + stripe_subscription_obj.status != 'canceled'): + error_msg = result.get('error') + logger.error( + "Could not cancel Digital Glarus subscription. " + "Reason: {reason}".format( + reason=error_msg + ) + ) + else: logger.error( - "Could not cancel Digital Glarus subscription. Reason: " - "{reason}".format( - reason=error_msg + "User {user} may have Stripe subscriptions created " + "manually. Please check.".format( + user=self.request.user.name ) ) + else: + logger.error( + "MembershipOrder for {user} not found".format( + user=self.request.user.name + ) + ) return HttpResponseRedirect(self.success_url)