def create_user_as_orga(email, submission=None):
if not email:
return
nick = email.split('@')[0].lower()
while User.objects.filter(nick__iexact=nick).exists():
nick += random.choice([
'_1', '_2', '_11', '_42', '_the_first', '_the_third',
'_speaker', '_third_of_their_name', '_', '123', nick
])
user = User.objects.create_user(
nick=nick,
password=get_random_string(32),
email=email.lower(),
pw_reset_token=get_random_string(32),
pw_reset_time=now() + timedelta(days=7),
)
with override(submission.content_locale):
invitation_link = build_absolute_uri('cfp:event.recover', kwargs={'event': submission.event.slug, 'token': user.pw_reset_token})
invitation_text = _('''Hi!
You have been set as the speaker of a submission to the Call for Participation
of {event}, titled »{title}«. An account has been created for you – please follow
this link to set your account password.
{invitation_link}
Afterwards, you can edit your user profile and see the state of your submission.
The {event} orga crew''').format(event=submission.event.name, title=submission.title, invitation_link=invitation_link)
QueuedMail.objects.create(
event=submission.event,
to=user.email,
reply_to=submission.event.email,
subject=str(_('You have been added to a submission for {event}').format(event=submission.event.name)),
text=invitation_text,
)
return user
评论列表
文章目录