mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
decorator: Pass RemoteServerBillingSession to views.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user