diff --git a/manage_subscriptions/views.py b/manage_subscriptions/views.py index b6105d4..7c636a8 100644 --- a/manage_subscriptions/views.py +++ b/manage_subscriptions/views.py @@ -674,21 +674,13 @@ class ActiveSubscriptionView(TemplateView): return HttpResponseBadRequest("Invalid token or user not found") today = timezone.now().date() if request.user.is_authenticated: - active_subscription = ( - PrincipalSubscription.objects.filter( - principal=request.user, - is_paid=True, - # cancelled=False, - deleted=False, - # active=True, - # status=SubscriptionStatus.ACTIVE, - ) - .select_related("principal") # Optimize query - .order_by("-grace_period_end_date") - .first() - ) + latest_subscription = PrincipalSubscription.objects.filter( + principal=request.user, + is_paid=True, + end_date__lte=today, + ).order_by('-end_date').last() - if not active_subscription or active_subscription.end_date < today: + if latest_subscription: return HttpResponseRedirect(reverse("manage_subscriptions:stripe")) return super().get(request, *args, **kwargs)