fix user re-subscribes

This commit is contained in:
Son NK 2019-11-17 11:41:54 +01:00
parent 8cc7ad2225
commit c4b9a81c09
1 changed files with 24 additions and 10 deletions

View File

@ -285,17 +285,31 @@ def setup_paddle_callback(app: Flask):
else:
plan = PlanEnum.yearly
Subscription.create(
user_id=user.id,
cancel_url=request.form.get("cancel_url"),
update_url=request.form.get("update_url"),
subscription_id=request.form.get("subscription_id"),
event_time=arrow.now(),
next_bill_date=arrow.get(
sub = Subscription.get_by(user_id=user.id)
if not sub:
LOG.d("create a new sub")
Subscription.create(
user_id=user.id,
cancel_url=request.form.get("cancel_url"),
update_url=request.form.get("update_url"),
subscription_id=request.form.get("subscription_id"),
event_time=arrow.now(),
next_bill_date=arrow.get(
request.form.get("next_bill_date"), "YYYY-MM-DD"
).date(),
plan=plan,
)
else:
LOG.d("update existing sub %s", sub)
sub.cancel_url = request.form.get("cancel_url")
sub.update_url = request.form.get("update_url")
sub.subscription_id = request.form.get("subscription_id")
sub.event_time = arrow.now()
sub.next_bill_date = arrow.get(
request.form.get("next_bill_date"), "YYYY-MM-DD"
).date(),
plan=plan,
)
).date()
sub.plan = plan
LOG.debug("User %s upgrades!", user)
notify_admin(f"User {user.email} upgrades!")