decorator: Pass RemoteServerBillingSession to views.

This commit is contained in:
Tim Abbott
2023-11-30 10:28:29 -08:00
parent 7540e70cc8
commit cab0215f3f
2 changed files with 6 additions and 9 deletions

View File

@@ -10,9 +10,8 @@ from corporate.lib.remote_billing_util import (
get_remote_realm_from_session, get_remote_realm_from_session,
get_remote_server_from_session, get_remote_server_from_session,
) )
from corporate.lib.stripe import RemoteRealmBillingSession from corporate.lib.stripe import RemoteRealmBillingSession, RemoteServerBillingSession
from zerver.lib.subdomains import get_subdomain from zerver.lib.subdomains import get_subdomain
from zilencer.models import RemoteZulipServer
ParamT = ParamSpec("ParamT") ParamT = ParamSpec("ParamT")
@@ -65,7 +64,7 @@ def authenticated_remote_realm_management_endpoint(
def authenticated_remote_server_management_endpoint( def authenticated_remote_server_management_endpoint(
view_func: Callable[Concatenate[HttpRequest, RemoteZulipServer, ParamT], HttpResponse] view_func: Callable[Concatenate[HttpRequest, RemoteServerBillingSession, ParamT], HttpResponse]
) -> Callable[Concatenate[HttpRequest, ParamT], HttpResponse]: # nocoverage ) -> Callable[Concatenate[HttpRequest, ParamT], HttpResponse]: # nocoverage
@wraps(view_func) @wraps(view_func)
def _wrapped_view_func( def _wrapped_view_func(
@@ -82,6 +81,7 @@ def authenticated_remote_server_management_endpoint(
raise TypeError("server_uuid must be a string") raise TypeError("server_uuid must be a string")
remote_server = get_remote_server_from_session(request, server_uuid=server_uuid) remote_server = get_remote_server_from_session(request, server_uuid=server_uuid)
return view_func(request, remote_server) billing_session = RemoteServerBillingSession(remote_server)
return view_func(request, billing_session)
return _wrapped_view_func return _wrapped_view_func

View File

@@ -15,7 +15,6 @@ from corporate.lib.stripe import (
from zerver.decorator import require_organization_member, zulip_login_required from zerver.decorator import require_organization_member, zulip_login_required
from zerver.lib.response import json_success from zerver.lib.response import json_success
from zerver.models import UserProfile from zerver.models import UserProfile
from zilencer.models import RemoteZulipServer
@zulip_login_required @zulip_login_required
@@ -46,9 +45,8 @@ def remote_realm_sponsorship_page(
@authenticated_remote_server_management_endpoint @authenticated_remote_server_management_endpoint
def remote_server_sponsorship_page( def remote_server_sponsorship_page(
request: HttpRequest, request: HttpRequest,
remote_server: RemoteZulipServer, billing_session: RemoteServerBillingSession,
) -> HttpResponse: # nocoverage ) -> HttpResponse: # nocoverage
billing_session = RemoteServerBillingSession(remote_server)
context = billing_session.get_sponsorship_request_context() context = billing_session.get_sponsorship_request_context()
if context is None: if context is None:
return HttpResponseRedirect(reverse("remote_billing_page_server")) return HttpResponseRedirect(reverse("remote_billing_page_server"))
@@ -82,9 +80,8 @@ def remote_realm_sponsorship(
@authenticated_remote_server_management_endpoint @authenticated_remote_server_management_endpoint
def remote_server_sponsorship( def remote_server_sponsorship(
request: HttpRequest, request: HttpRequest,
remote_server: RemoteZulipServer, billing_session: RemoteServerBillingSession,
) -> HttpResponse: # nocoverage ) -> HttpResponse: # nocoverage
billing_session = RemoteServerBillingSession(remote_server)
post_data = request.POST.copy() post_data = request.POST.copy()
form = SponsorshipRequestForm(post_data) form = SponsorshipRequestForm(post_data)
billing_session.request_sponsorship(form) billing_session.request_sponsorship(form)