development: Redirect rather than mutate in register_development_user.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2022-05-11 23:07:21 -07:00
committed by Alex Vandiver
parent 110f7a379a
commit d3c6ca8def

View File

@@ -3,13 +3,12 @@ import string
from typing import Any from typing import Any
from django.conf import settings from django.conf import settings
from django.http import HttpRequest, HttpResponse from django.http import HttpRequest, HttpResponse, HttpResponseRedirect
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from confirmation.models import Confirmation, create_confirmation_link from confirmation.models import Confirmation, create_confirmation_link
from zerver.context_processors import get_realm_from_request from zerver.context_processors import get_realm_from_request
from zerver.lib.response import json_success from zerver.lib.response import json_success
from zerver.lib.subdomains import get_subdomain
from zerver.models import Realm, UserProfile from zerver.models import Realm, UserProfile
from zerver.views.auth import create_preregistration_user from zerver.views.auth import create_preregistration_user
from zerver.views.registration import accounts_register from zerver.views.registration import accounts_register
@@ -36,12 +35,16 @@ def generate_demo_realm_name() -> str:
@csrf_exempt @csrf_exempt
def register_development_user(request: HttpRequest) -> HttpResponse: def register_development_user(request: HttpRequest) -> HttpResponse:
if get_subdomain(request) == "": realm = get_realm_from_request(request)
request.META["HTTP_HOST"] = settings.REALM_HOSTS["zulip"] if realm is None:
return HttpResponseRedirect(
f"{settings.EXTERNAL_URI_SCHEME}{settings.REALM_HOSTS['zulip']}/devtools/register_user/",
status=307,
)
count = UserProfile.objects.count() count = UserProfile.objects.count()
name = f"user-{count}" name = f"user-{count}"
email = f"{name}@zulip.com" email = f"{name}@zulip.com"
realm = get_realm_from_request(request)
prereg = create_preregistration_user( prereg = create_preregistration_user(
email, realm, realm_creation=False, password_required=False email, realm, realm_creation=False, password_required=False
) )