2013-03-31 92 views
0

我的用戶將能夠爲他們的客戶創建用戶,他們將向他們發送激活郵件。Userena自動登錄後設置密碼

使用userena時,即使沒有設置密碼,激活鏈接也會自動登錄。

我已經到了這個地步,他們在哪裏登錄。現在他們需要設置一個密碼,而且他們似乎需要知道他們的舊密碼才能這樣做。

我希望提示客戶端用戶將其密碼設置爲激活過程的一部分。

哪裏會是最好的地方呢?

回答

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上,並在這裏分享鏈接。

+0

你曾經把你的代碼發佈到github上嗎? –

+0

抱歉,沒有,它對應用程序而言非常具體,並且對於製作通用應用程序並不那麼直觀,但是在我的列表中創建博客帖子示例。你需要的任何細節,但我很高興在這裏提供。 – HdN8

+0

當您撰寫博客文章的鏈接可能很好。 –