コード例 #1
0
ファイル: stripe.py プロジェクト: scrapcode/zulip
def approve_sponsorship(realm: Realm, *,
                        acting_user: Optional[UserProfile]) -> None:
    from zerver.lib.actions import do_change_realm_plan_type, internal_send_private_message

    do_change_realm_plan_type(realm,
                              Realm.PLAN_TYPE_STANDARD_FREE,
                              acting_user=acting_user)
    customer = get_customer_by_realm(realm)
    if customer is not None and customer.sponsorship_pending:
        customer.sponsorship_pending = False
        customer.save(update_fields=["sponsorship_pending"])
        RealmAuditLog.objects.create(
            realm=realm,
            acting_user=acting_user,
            event_type=RealmAuditLog.REALM_SPONSORSHIP_APPROVED,
            event_time=timezone_now(),
        )
    notification_bot = get_system_bot(settings.NOTIFICATION_BOT, realm.id)
    for user in realm.get_human_billing_admin_and_realm_owner_users():
        with override_language(user.default_language):
            # Using variable to make life easier for translators if these details change.
            plan_name = "Zulip Cloud Standard"
            emoji = ":tada:"
            message = _(
                f"Your organization's request for sponsored hosting has been approved! {emoji}.\n"
                f"You have been upgraded to {plan_name}, free of charge.")
            internal_send_private_message(notification_bot, user, message)
コード例 #2
0
ファイル: send_email.py プロジェクト: abhijeetbodas2001/zulip
def send_email_to_billing_admins_and_realm_owners(
    template_prefix: str,
    realm: Realm,
    from_name: Optional[str] = None,
    from_address: Optional[str] = None,
    language: Optional[str] = None,
    context: Dict[str, Any] = {},
) -> None:
    send_email(
        template_prefix,
        to_user_ids=[user.id for user in realm.get_human_billing_admin_and_realm_owner_users()],
        from_name=from_name,
        from_address=from_address,
        language=language,
        context=context,
    )