mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
billing: Delete add_server_to_legacy_plan in favor of support actions.
As we can now add a complimentary access plan (formerly legacy plan) to a remote server or remote realm via the support view, we no longer use or need this management command for our billing admin.
This commit is contained in:
committed by
Tim Abbott
parent
9fdaa9de0c
commit
757dd3e2a2
@@ -1,62 +0,0 @@
|
||||
from datetime import datetime, timezone
|
||||
from typing import Any
|
||||
|
||||
from django.core.management.base import CommandParser
|
||||
from django.utils.timezone import now as timezone_now
|
||||
from typing_extensions import override
|
||||
|
||||
from corporate.lib.stripe import RemoteServerBillingSession
|
||||
from scripts.lib.zulip_tools import TIMESTAMP_FORMAT
|
||||
from zerver.lib.management import ZulipBaseCommand
|
||||
from zilencer.models import RemoteZulipServer
|
||||
|
||||
|
||||
class Command(ZulipBaseCommand):
|
||||
help = "Assigns an existing RemoteZulipServer to the legacy plan"
|
||||
|
||||
@override
|
||||
def add_arguments(self, parser: CommandParser) -> None:
|
||||
parser.add_argument(
|
||||
"server_id",
|
||||
type=int,
|
||||
help="ID of the RemoteZulipServer to be assigned to the legacy plan",
|
||||
)
|
||||
parser.add_argument(
|
||||
"renewal_date",
|
||||
type=str,
|
||||
help="Billing cycle renewal date in the format YYYY-MM-DD-HH-MM-SS",
|
||||
)
|
||||
parser.add_argument(
|
||||
"end_date",
|
||||
type=str,
|
||||
help="Billing cycle end date in the format YYYY-MM-DD-HH-MM-SS",
|
||||
)
|
||||
|
||||
@override
|
||||
def handle(self, *args: Any, **options: Any) -> None:
|
||||
server_id = options["server_id"]
|
||||
renewal_date_str = options.get("renewal_date")
|
||||
if renewal_date_str is None:
|
||||
renewal_date = timezone_now()
|
||||
else:
|
||||
renewal_date = datetime.strptime(renewal_date_str, TIMESTAMP_FORMAT).replace(
|
||||
tzinfo=timezone.utc
|
||||
)
|
||||
|
||||
end_date_str = options.get("end_date")
|
||||
if end_date_str is None:
|
||||
raise ValueError("end_date must be provided")
|
||||
|
||||
end_date = datetime.strptime(end_date_str, TIMESTAMP_FORMAT).replace(tzinfo=timezone.utc)
|
||||
|
||||
server = RemoteZulipServer.objects.get(id=server_id)
|
||||
self.migrate_customer_to_legacy_plan(server, renewal_date, end_date)
|
||||
|
||||
def migrate_customer_to_legacy_plan(
|
||||
self,
|
||||
server: RemoteZulipServer,
|
||||
renewal_date: datetime,
|
||||
end_date: datetime,
|
||||
) -> None:
|
||||
billing_schedule = RemoteServerBillingSession(server)
|
||||
billing_schedule.migrate_customer_to_legacy_plan(renewal_date, end_date)
|
Reference in New Issue
Block a user