mirror of https://github.com/zulip/zulip.git
billing: Add an event_time argument to renewal_amount.
This commit is contained in:
parent
a5324b6ea7
commit
4ccbeeb4a9
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue