From 3d5ee69b21e6bf8b7f812df7489f2a7cc84faa55 Mon Sep 17 00:00:00 2001 From: Vishnu KS Date: Fri, 28 May 2021 16:06:41 +0530 Subject: [PATCH] stripe: Create make_user_billing_admin helper function. --- corporate/lib/stripe.py | 5 +++-- corporate/views.py | 4 ++-- zerver/lib/actions.py | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/corporate/lib/stripe.py b/corporate/lib/stripe.py index 4c3368301a..b2a45da840 100644 --- a/corporate/lib/stripe.py +++ b/corporate/lib/stripe.py @@ -299,8 +299,9 @@ def do_create_stripe_customer(user: UserProfile, stripe_token: Optional[str] = N customer, created = Customer.objects.update_or_create( realm=realm, defaults={"stripe_customer_id": stripe_customer.id} ) - user.is_billing_admin = True - user.save(update_fields=["is_billing_admin"]) + from zerver.lib.actions import do_make_user_billing_admin + + do_make_user_billing_admin(user) return customer diff --git a/corporate/views.py b/corporate/views.py index ffc0de57e2..e0d3040b77 100644 --- a/corporate/views.py +++ b/corporate/views.py @@ -44,6 +44,7 @@ from zerver.decorator import ( require_organization_member, zulip_login_required, ) +from zerver.lib.actions import do_make_user_billing_admin from zerver.lib.request import REQ, has_request_variables from zerver.lib.response import json_error, json_success from zerver.lib.send_email import FromAddress, send_email @@ -260,8 +261,7 @@ def sponsorship( ) update_sponsorship_status(realm, True, acting_user=user) - user.is_billing_admin = True - user.save(update_fields=["is_billing_admin"]) + do_make_user_billing_admin(user) return json_success() diff --git a/zerver/lib/actions.py b/zerver/lib/actions.py index 056697a8da..b7152ebf08 100644 --- a/zerver/lib/actions.py +++ b/zerver/lib/actions.py @@ -4559,6 +4559,11 @@ def do_change_user_role( send_event(user_profile.realm, event, active_user_ids(user_profile.realm_id)) +def do_make_user_billing_admin(user_profile: UserProfile) -> None: + user_profile.is_billing_admin = True + user_profile.save(update_fields=["is_billing_admin"]) + + def do_change_can_forge_sender(user_profile: UserProfile, value: bool) -> None: user_profile.can_forge_sender = value user_profile.save(update_fields=["can_forge_sender"])