From 4ccbeeb4a9593adb67abe17defa46295b06f65eb Mon Sep 17 00:00:00 2001 From: Rishi Gupta Date: Tue, 29 Jan 2019 07:37:21 -0800 Subject: [PATCH] billing: Add an event_time argument to renewal_amount. --- corporate/lib/stripe.py | 6 +++--- corporate/views.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/corporate/lib/stripe.py b/corporate/lib/stripe.py index d46589dfc4..fb7015ba42 100644 --- a/corporate/lib/stripe.py +++ b/corporate/lib/stripe.py @@ -106,10 +106,10 @@ def next_invoice_date(plan: CustomerPlan) -> datetime: periods += 1 return dt -def renewal_amount(plan: CustomerPlan) -> Optional[int]: # nocoverage: TODO +def renewal_amount(plan: CustomerPlan, event_time: datetime) -> Optional[int]: # nocoverage: TODO if plan.fixed_price is not None: return plan.fixed_price - last_ledger_entry = add_plan_renewal_to_license_ledger_if_needed(plan, timezone_now()) + last_ledger_entry = add_plan_renewal_to_license_ledger_if_needed(plan, event_time) if last_ledger_entry.licenses_at_next_renewal is None: return None assert(plan.price_per_license is not None) # for mypy @@ -454,7 +454,7 @@ def estimate_annual_recurring_revenue_by_realm() -> Dict[str, int]: # nocoverag status=CustomerPlan.ACTIVE).select_related('customer__realm'): # TODO: figure out what to do for plans that don't automatically # renew, but which probably will renew - renewal_cents = renewal_amount(plan) or 0 + renewal_cents = renewal_amount(plan, timezone_now()) or 0 if plan.billing_schedule == CustomerPlan.MONTHLY: renewal_cents *= 12 # TODO: Decimal stuff diff --git a/corporate/views.py b/corporate/views.py index 640dd21f2e..f36ef7618c 100644 --- a/corporate/views.py +++ b/corporate/views.py @@ -174,7 +174,7 @@ def billing_home(request: HttpRequest) -> HttpResponse: licenses = last_ledger_entry.licenses # Should do this in javascript, using the user's timezone renewal_date = '{dt:%B} {dt.day}, {dt.year}'.format(dt=next_renewal_date(plan, now)) - renewal_cents = renewal_amount(plan) + renewal_cents = renewal_amount(plan, now) # TODO: this is the case where the plan doesn't automatically renew if renewal_cents is None: # nocoverage renewal_cents = 0