2k subs max for premiums.

This commit is contained in:
Samuel Clay 2023-07-20 21:06:39 -04:00
parent d2bfcea32e
commit 5731816ca1

View file

@ -20,6 +20,7 @@ from django.contrib.auth import authenticate
from django.contrib.auth.models import User
from django.contrib.sites.models import Site
from django.core.mail import EmailMultiAlternatives
from django.core.mail import mail_admins
from django.urls import reverse
from django.template.loader import render_to_string
from apps.rss_feeds.models import Feed, MStory, MStarredStory
@ -232,6 +233,13 @@ class Profile(models.Model):
from apps.profile.tasks import EmailNewPremium
EmailNewPremium.delay(user_id=self.user.pk)
subs = UserSubscription.objects.filter(user=self.user)
if subs.count() > 2000:
logging.user(self.user, "~FR~SK~FW~SBWARNING! ~FR%s subscriptions~SN!" % (subs.count()))
mail_admins(f"WARNING! {self.user.username} has {subs.count()} subscriptions",
f"{self.user.username} has {subs.count()} subscriptions and just upgraded to premium. They'll need a refund: {self.user.profile.paypal_sub_id} {self.user.profile.stripe_id} {self.user.email}")
return False
was_premium = self.is_premium
self.is_premium = True
@ -242,7 +250,6 @@ class Profile(models.Model):
self.user.save()
# Only auto-enable every feed if a free user is moving to premium
subs = UserSubscription.objects.filter(user=self.user)
if not was_premium:
for sub in subs:
if sub.active: continue