我的用户将能够为其客户创建用户,这将向他们发送激活电子邮件。
使用userena,即使没有设置密码,激活链接也会自动登录。
我已经到了这一点,他们已经登录了。现在他们需要设置一个密码,看来他们需要知道他们的旧密码才能做到这一点。
我希望客户端用户在激活过程中提示设置密码。
从哪里开始呢?
答案 0 :(得分:1)
Userena doesn't have an invite功能,您必须override views才能更改密码设置的行为。我创建了一个应用程序来扩展userena,我在项目urls.py中覆盖了userena的激活视图。
url(r'^accounts/activate/(?P<activation_key>\w+)/$', create_userpass),
我的自定义视图“create_userpass”是一个表单,用户在成功激活帐户之前更改密码和用户名(没有必要的先前知识)。
我还使用自定义邀请表单,其中只包含一个EmailField,其中自动生成临时用户名和密码(任何人都看不到),这些用户名和密码在激活期间由新用户替换。邀请表单的保存方法最后会创建新的userena用户。
new_user = UserenaSignup.objects.create_user(username,
email,
password,
not userena_settings.USERENA_ACTIVATION_REQUIRED,
userena_settings.USERENA_ACTIVATION_REQUIRED)
return new_user
我会尽快将应用程序放在github上并在此处分享链接。