def prepare_activation_url(email: str, request: HttpRequest, realm_creation: bool = False, streams: Optional[List[Stream]] = None, invited_as: Optional[int] = None) -> str: """ Send an email with a confirmation link to the provided e-mail so the user can complete their registration. """ prereg_user = create_preregistration_user(email, request, realm_creation) if streams is not None: prereg_user.streams.set(streams) if invited_as is not None: prereg_user.invited_as = invited_as prereg_user.save() confirmation_type = Confirmation.USER_REGISTRATION if realm_creation: confirmation_type = Confirmation.REALM_CREATION activation_url = create_confirmation_link(prereg_user, request.get_host(), confirmation_type) if settings.DEVELOPMENT and realm_creation: request.session['confirmation_key'] = { 'confirmation_key': activation_url.split('/')[-1] } return activation_url
def send_registration_completion_email( email: str, request: HttpRequest, realm_creation: bool = False, streams: Optional[List[Stream]] = None) -> None: """ Send an email with a confirmation link to the provided e-mail so the user can complete their registration. """ prereg_user = create_preregistration_user(email, request, realm_creation) if streams is not None: prereg_user.streams = streams prereg_user.save() confirmation_type = Confirmation.USER_REGISTRATION if realm_creation: confirmation_type = Confirmation.REALM_CREATION activation_url = create_confirmation_link(prereg_user, request.get_host(), confirmation_type) send_email('zerver/emails/confirm_registration', to_email=email, from_address=FromAddress.NOREPLY, context={'activate_url': activation_url}) if settings.DEVELOPMENT and realm_creation: request.session['confirmation_key'] = { 'confirmation_key': activation_url.split('/')[-1] }
def prepare_activation_url( email: str, session: SessionBase, *, realm: Optional[Realm], realm_creation: bool = False, streams: Optional[Iterable[Stream]] = None, invited_as: Optional[int] = None, ) -> str: """ Send an email with a confirmation link to the provided e-mail so the user can complete their registration. """ prereg_user = create_preregistration_user(email, realm, realm_creation) if streams is not None: prereg_user.streams.set(streams) if invited_as is not None: prereg_user.invited_as = invited_as prereg_user.save() confirmation_type = Confirmation.USER_REGISTRATION if realm_creation: confirmation_type = Confirmation.REALM_CREATION activation_url = create_confirmation_link(prereg_user, confirmation_type) if settings.DEVELOPMENT and realm_creation: session["confirmation_key"] = {"confirmation_key": activation_url.split("/")[-1]} return activation_url
def register_demo_development_realm(request: HttpRequest) -> HttpResponse: count = UserProfile.objects.count() name = f"user-{count}" email = f"{name}@zulip.com" realm_name = generate_demo_realm_name() realm_type = Realm.ORG_TYPES["business"]["id"] prereg = create_preregistration_user(email, None, realm_creation=True, password_required=False) activation_url = create_confirmation_link(prereg, Confirmation.REALM_CREATION) key = activation_url.split("/")[-1] # Need to add test data to POST request as it doesn't originally contain the required parameters modify_postdata( request, key=key, realm_name=realm_name, realm_type=realm_type, full_name=name, password="******", realm_subdomain=realm_name, terms="true", is_demo_organization="true", ) return accounts_register(request)
def register_development_user(request: HttpRequest) -> HttpResponse: realm = get_realm_from_request(request) if realm is None: return HttpResponseRedirect( f"{settings.EXTERNAL_URI_SCHEME}{settings.REALM_HOSTS['zulip']}/devtools/register_user/", status=307, ) count = UserProfile.objects.count() name = f"user-{count}" email = f"{name}@zulip.com" prereg = create_preregistration_user(email, realm, realm_creation=False, password_required=False) activation_url = create_confirmation_link(prereg, Confirmation.USER_REGISTRATION) key = activation_url.split("/")[-1] # Need to add test data to POST request as it doesn't originally contain the required parameters modify_postdata(request, key=key, full_name=name, password="******", terms="true") return accounts_register(request)
def register_development_realm(request: HttpRequest) -> HttpResponse: count = UserProfile.objects.count() name = 'user-%d' % (count,) email = '*****@*****.**' % (name,) realm_name = 'realm-%d' % (count,) prereg = create_preregistration_user(email, request, realm_creation=True, password_required=False) activation_url = create_confirmation_link(prereg, request.get_host(), Confirmation.REALM_CREATION) key = activation_url.split('/')[-1] # Need to add test data to POST request as it doesnt originally contain the required parameters modify_postdata(request, key=key, realm_name=realm_name, full_name=name, password='******', realm_subdomain=realm_name) return accounts_register(request)
def register_development_user(request: HttpRequest) -> HttpResponse: if get_subdomain(request) == '': request.META['HTTP_HOST'] = settings.REALM_HOSTS['zulip'] count = UserProfile.objects.count() name = 'user-%d' % (count,) email = '*****@*****.**' % (name,) prereg = create_preregistration_user(email, request, realm_creation=False, password_required=False) activation_url = create_confirmation_link(prereg, request.get_host(), Confirmation.USER_REGISTRATION) key = activation_url.split('/')[-1] # Need to add test data to POST request as it doesnt originally contain the required parameters modify_postdata(request, key=key, full_name=name, password='******') return accounts_register(request)
def send_registration_completion_email(email, request, realm_creation=False, streams=None): # type: (str, HttpRequest, bool, Optional[List[Stream]]) -> None """ Send an email with a confirmation link to the provided e-mail so the user can complete their registration. """ prereg_user = create_preregistration_user(email, request, realm_creation) if streams is not None: prereg_user.streams = streams prereg_user.save() activation_url = create_confirmation_link(prereg_user, request.get_host(), Confirmation.USER_REGISTRATION) send_email('zerver/emails/confirm_registration', to_email=email, from_address=FromAddress.NOREPLY, context={'activate_url': activation_url}) if settings.DEVELOPMENT and realm_creation: request.session['confirmation_key'] = {'confirmation_key': activation_url.split('/')[-1]}
def prepare_activation_url(email: str, request: HttpRequest, realm_creation: bool=False, streams: Optional[List[Stream]]=None) -> str: """ Send an email with a confirmation link to the provided e-mail so the user can complete their registration. """ prereg_user = create_preregistration_user(email, request, realm_creation) if streams is not None: prereg_user.streams.set(streams) confirmation_type = Confirmation.USER_REGISTRATION if realm_creation: confirmation_type = Confirmation.REALM_CREATION activation_url = create_confirmation_link(prereg_user, request.get_host(), confirmation_type) if settings.DEVELOPMENT and realm_creation: request.session['confirmation_key'] = {'confirmation_key': activation_url.split('/')[-1]} return activation_url
def register_development_user(request: HttpRequest) -> HttpResponse: if get_subdomain(request) == "": request.META["HTTP_HOST"] = settings.REALM_HOSTS["zulip"] count = UserProfile.objects.count() name = f"user-{count}" email = f"{name}@zulip.com" prereg = create_preregistration_user(email, request, realm_creation=False, password_required=False) activation_url = create_confirmation_link(prereg, Confirmation.USER_REGISTRATION) key = activation_url.split("/")[-1] # Need to add test data to POST request as it doesn't originally contain the required parameters modify_postdata(request, key=key, full_name=name, password="******", terms="true") return accounts_register(request)