mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
stripe: Rename get_remote_server_legacy_plan.
Renames get_remote_server_legacy_plan to get_complimentary_access_plan, as well as associated variable names.
This commit is contained in:
committed by
Tim Abbott
parent
20352aff9e
commit
7a0626aede
@@ -1039,24 +1039,29 @@ class BillingSession(ABC):
|
||||
return True
|
||||
return False
|
||||
|
||||
def get_remote_server_legacy_plan(
|
||||
def get_complimentary_access_plan(
|
||||
self, customer: Customer | None, status: int = CustomerPlan.ACTIVE
|
||||
) -> CustomerPlan | None:
|
||||
# status = CustomerPlan.ACTIVE means that the legacy plan is not scheduled for an upgrade.
|
||||
# status = CustomerPlan.SWITCH_PLAN_TIER_AT_PLAN_END means that the legacy plan is scheduled for an upgrade.
|
||||
if customer is None:
|
||||
return None
|
||||
|
||||
plan_tier = CustomerPlan.TIER_SELF_HOSTED_LEGACY
|
||||
if isinstance(self, RealmBillingSession):
|
||||
# TODO implement a complimentary access plan/tier for Zulip Cloud.
|
||||
return None
|
||||
|
||||
# status = CustomerPlan.ACTIVE means the plan is not scheduled for an upgrade.
|
||||
# status = CustomerPlan.SWITCH_PLAN_TIER_AT_PLAN_END means the plan is scheduled for an upgrade.
|
||||
return CustomerPlan.objects.filter(
|
||||
customer=customer,
|
||||
tier=CustomerPlan.TIER_SELF_HOSTED_LEGACY,
|
||||
tier=plan_tier,
|
||||
status=status,
|
||||
).first()
|
||||
|
||||
def get_formatted_complimentary_access_plan_end_date(
|
||||
self, customer: Customer | None, status: int = CustomerPlan.ACTIVE
|
||||
) -> str | None: # nocoverage
|
||||
complimentary_access_plan = self.get_remote_server_legacy_plan(customer, status)
|
||||
complimentary_access_plan = self.get_complimentary_access_plan(customer, status)
|
||||
if complimentary_access_plan is None:
|
||||
return None
|
||||
|
||||
@@ -1064,7 +1069,7 @@ class BillingSession(ABC):
|
||||
return complimentary_access_plan.end_date.strftime("%B %d, %Y")
|
||||
|
||||
def get_complimentary_access_next_plan(self, customer: Customer) -> CustomerPlan | None:
|
||||
complimentary_access_plan = self.get_remote_server_legacy_plan(
|
||||
complimentary_access_plan = self.get_complimentary_access_plan(
|
||||
customer, CustomerPlan.SWITCH_PLAN_TIER_AT_PLAN_END
|
||||
)
|
||||
if complimentary_access_plan is None:
|
||||
@@ -2082,9 +2087,9 @@ class BillingSession(ABC):
|
||||
# Free trial is not available for existing customers.
|
||||
free_trial = False
|
||||
|
||||
remote_server_legacy_plan = self.get_remote_server_legacy_plan(customer)
|
||||
complimentary_access_plan = self.get_complimentary_access_plan(customer)
|
||||
should_schedule_upgrade_for_legacy_remote_server = (
|
||||
remote_server_legacy_plan is not None
|
||||
complimentary_access_plan is not None
|
||||
and upgrade_request.remote_server_plan_start_date == "billing_cycle_end_date"
|
||||
)
|
||||
# Directly upgrade free trial orgs or invoice payment orgs to standard plan.
|
||||
@@ -2096,7 +2101,7 @@ class BillingSession(ABC):
|
||||
billing_schedule,
|
||||
charge_automatically,
|
||||
free_trial,
|
||||
remote_server_legacy_plan,
|
||||
complimentary_access_plan,
|
||||
should_schedule_upgrade_for_legacy_remote_server,
|
||||
)
|
||||
data["organization_upgrade_successful"] = True
|
||||
|
@@ -142,7 +142,7 @@ def handle_invoice_paid_event(stripe_invoice: stripe.Invoice, invoice: Invoice)
|
||||
and configured_fixed_price_plan.sent_invoice_id == invoice.stripe_invoice_id
|
||||
):
|
||||
billing_session = get_billing_session_for_stripe_webhook(customer, user_id=None)
|
||||
remote_server_legacy_plan = billing_session.get_remote_server_legacy_plan(customer)
|
||||
complimentary_access_plan = billing_session.get_complimentary_access_plan(customer)
|
||||
assert customer.required_plan_tier is not None
|
||||
billing_session.process_initial_upgrade(
|
||||
plan_tier=customer.required_plan_tier,
|
||||
@@ -153,7 +153,7 @@ def handle_invoice_paid_event(stripe_invoice: stripe.Invoice, invoice: Invoice)
|
||||
billing_schedule=CustomerPlan.BILLING_SCHEDULE_ANNUAL,
|
||||
charge_automatically=False,
|
||||
free_trial=False,
|
||||
remote_server_legacy_plan=remote_server_legacy_plan,
|
||||
remote_server_legacy_plan=complimentary_access_plan,
|
||||
stripe_invoice_paid=True,
|
||||
)
|
||||
else:
|
||||
@@ -168,7 +168,7 @@ def handle_invoice_paid_event(stripe_invoice: stripe.Invoice, invoice: Invoice)
|
||||
return
|
||||
|
||||
billing_session = get_billing_session_for_stripe_webhook(customer, metadata.get("user_id"))
|
||||
remote_server_legacy_plan = billing_session.get_remote_server_legacy_plan(customer)
|
||||
complimentary_access_plan = billing_session.get_complimentary_access_plan(customer)
|
||||
billing_schedule = int(metadata["billing_schedule"])
|
||||
plan_tier = int(metadata["plan_tier"])
|
||||
charge_automatically = stripe_invoice.collection_method != "send_invoice"
|
||||
@@ -183,7 +183,7 @@ def handle_invoice_paid_event(stripe_invoice: stripe.Invoice, invoice: Invoice)
|
||||
billing_schedule=billing_schedule,
|
||||
charge_automatically=charge_automatically,
|
||||
free_trial=False,
|
||||
remote_server_legacy_plan=remote_server_legacy_plan,
|
||||
remote_server_legacy_plan=complimentary_access_plan,
|
||||
stripe_invoice_paid=True,
|
||||
)
|
||||
return
|
||||
@@ -207,6 +207,6 @@ def handle_invoice_paid_event(stripe_invoice: stripe.Invoice, invoice: Invoice)
|
||||
billing_schedule=billing_schedule,
|
||||
charge_automatically=charge_automatically,
|
||||
free_trial=False,
|
||||
remote_server_legacy_plan=remote_server_legacy_plan,
|
||||
remote_server_legacy_plan=complimentary_access_plan,
|
||||
stripe_invoice_paid=True,
|
||||
)
|
||||
|
@@ -103,11 +103,11 @@ class TestRemoteServerSupportEndpoint(ZulipTestCase):
|
||||
billing_session.migrate_customer_to_legacy_plan(legacy_anchor, next_plan_anchor)
|
||||
customer = billing_session.get_customer()
|
||||
assert customer is not None
|
||||
legacy_plan = billing_session.get_remote_server_legacy_plan(customer)
|
||||
assert legacy_plan is not None
|
||||
assert legacy_plan.end_date is not None
|
||||
complimentary_access_plan = billing_session.get_complimentary_access_plan(customer)
|
||||
assert complimentary_access_plan is not None
|
||||
assert complimentary_access_plan.end_date is not None
|
||||
if upgrade:
|
||||
upgrade_legacy_plan(legacy_plan)
|
||||
upgrade_legacy_plan(complimentary_access_plan)
|
||||
|
||||
super().setUp()
|
||||
|
||||
|
Reference in New Issue
Block a user