mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
Looking at the historical data, fewer than 50% of active users have completed the checklist, which means that it is just persistent clutter. We also have other better ways of encouraging people to send traffic and get the apps now. This commit removes both the frontend UI and backend work but leaves the db row for now for the historical data. (imported from commit e8f5780be37bbc75f794fb118e4dd41d8811f2bf)
51 lines
2.1 KiB
Python
51 lines
2.1 KiB
Python
from __future__ import absolute_import
|
|
|
|
from django.contrib.auth.models import UserManager
|
|
from django.utils import timezone
|
|
from zerver.models import UserProfile, Recipient, Subscription
|
|
import base64
|
|
import ujson
|
|
import os
|
|
import string
|
|
|
|
def random_api_key():
|
|
choices = string.ascii_letters + string.digits
|
|
altchars = ''.join([choices[ord(os.urandom(1)) % 62] for _ in range(2)])
|
|
return base64.b64encode(os.urandom(24), altchars=altchars)
|
|
|
|
# create_user_profile is based on Django's User.objects.create_user,
|
|
# except that we don't save to the database so it can used in
|
|
# bulk_creates
|
|
#
|
|
# Only use this for bulk_create -- for normal usage one should use
|
|
# create_user (below) which will also make the Subscription and
|
|
# Recipient objects
|
|
def create_user_profile(realm, email, password, active, bot, full_name, short_name, bot_owner):
|
|
now = timezone.now()
|
|
email = UserManager.normalize_email(email)
|
|
user_profile = UserProfile(email=email, is_staff=False, is_active=active,
|
|
full_name=full_name, short_name=short_name,
|
|
last_login=now, date_joined=now, realm=realm,
|
|
pointer=-1, is_bot=bot, bot_owner=bot_owner,
|
|
onboarding_steps=ujson.dumps([]))
|
|
|
|
if bot or not active:
|
|
user_profile.set_unusable_password()
|
|
else:
|
|
user_profile.set_password(password)
|
|
|
|
user_profile.api_key = random_api_key()
|
|
return user_profile
|
|
|
|
def create_user(email, password, realm, full_name, short_name,
|
|
active=True, bot=False, bot_owner=None,
|
|
avatar_source=UserProfile.AVATAR_FROM_GRAVATAR):
|
|
user_profile = create_user_profile(realm, email, password, active, bot,
|
|
full_name, short_name, bot_owner)
|
|
user_profile.avatar_source = avatar_source
|
|
user_profile.save()
|
|
recipient = Recipient.objects.create(type_id=user_profile.id,
|
|
type=Recipient.PERSONAL)
|
|
Subscription.objects.create(user_profile=user_profile, recipient=recipient)
|
|
return user_profile
|