1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-02 15:57:31 +00:00

Add password reset

This commit is contained in:
xiez 2012-08-06 16:30:51 +08:00
parent e0c5529557
commit 930bd31c30
4 changed files with 32 additions and 15 deletions

View File

@ -208,6 +208,9 @@ HTTP_SERVER_ROOT = "http://localhost:8082"
# Seafile-applet address and port, used in repo download
CCNET_APPLET_ROOT = "http://localhost:13420"
# Account initial password, for password resetting.
INIT_PASSWD = '123456'
SEAHUB_TITLE = 'SeaHub'
USE_SUBDOMAIN = False

View File

@ -13,12 +13,7 @@
{% if messages %}
<ul class="messages hide">
{% for message in messages %}
{% if message.tags == 'info' %}
<li class="info">邮件发送成功。</li>
{% endif %}
{% if message.tags == 'error' %}
<li class="info">邮件发送失败。</li>
{% endif %}
<li class="info">{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
@ -26,9 +21,9 @@
<h3>所有用户</h3>
<table>
<tr>
<th width="70%">邮箱</th>
<th width="65%">邮箱</th>
<th width="20%">是否激活</th>
<th width="10%">操作</th>
<th width="15%">操作</th>
</tr>
{% for user in users %}
@ -42,6 +37,7 @@
<td>
{% if not user.is_self %}
<button class="remove-user-btn" data="{{ SITE_ROOT }}useradmin/remove/{{ user.props.id }}/">删除</button>
<button class="reset-user-btn" data="{{ SITE_ROOT }}useradmin/password/reset/{{ user.props.id }}/">密码重置</button>
{% endif %}
</td>
</tr>
@ -83,7 +79,7 @@ $('.activate').each(function(){
});
});
//delete confirm
addConfirmTo($('.remove-user-btn'));
addConfirmTo($('.reset-user-btn'), '确定要重置?');
</script>
{% endblock %}

View File

@ -5,7 +5,7 @@ from django.views.generic.simple import direct_to_template
from seahub.views import root, myhome, \
repo, repo_history, modify_token, remove_repo, sys_seafadmin, sys_useradmin, \
activate_user, user_add, user_remove, sys_group_admin, sys_org_admin, \
ownerhome, repo_history_revert, repo_file_edit, org_remove, \
ownerhome, repo_history_revert, repo_file_edit, org_remove, user_reset, \
user_info, repo_set_access_property, repo_access_file, \
repo_remove_share, repo_download, org_info, repo_view_file, pdf_full_view, \
seafile_access_check, repo_history_changes, \
@ -82,6 +82,7 @@ urlpatterns = patterns('',
(r'^useradmin/remove/(?P<user_id>[^/]+)/$', user_remove),
(r'^useradmin/info/(?P<email>[^/]+)/$', user_info),
(r'^useradmin/activate/(?P<user_id>[^/]+)/$', activate_user),
(r'^useradmin/password/reset/(?P<user_id>[^/]+)/$', user_reset),
### Document previewd ###
(r'^crocodoc/upload/$', crocodoc_upload),

View File

@ -55,7 +55,7 @@ try:
from settings import CROCODOC_API_TOKEN
except ImportError:
CROCODOC_API_TOKEN = None
from settings import FILE_PREVIEW_MAX_SIZE
from settings import FILE_PREVIEW_MAX_SIZE, INIT_PASSWD
@login_required
def root(request):
@ -1219,10 +1219,27 @@ def activate_user(request, user_id):
except User.DoesNotExist:
pass
return HttpResponseRedirect(reverse('useradmin'))
return HttpResponseRedirect(reverse('sys_useradmin'))
@login_required
@sys_staff_required
def user_reset(request, user_id):
"""Reset password for user."""
try:
user = User.objects.get(id=int(user_id))
user.password = INIT_PASSWD
user.save()
msg =u'密码重置成功。初始密码为%s,请联系该用户更改密码。' % INIT_PASSWD
messages.add_message(request, messages.INFO, msg)
except User.DoesNotExist:
msg =u'密码重置失败,用户不存在。'
messages.add_message(request, messages.ERROR, msg)
return HttpResponseRedirect(reverse('sys_useradmin'))
def send_user_add_mail(request, email, password):
""" Send email when add new user """
"""Send email when add new user."""
use_https = request.is_secure()
domain = RequestSite(request).domain
@ -1239,9 +1256,9 @@ def send_user_add_mail(request, email, password):
try:
send_mail(u'SeaCloud注册信息', t.render(Context(c)),
None, [email], fail_silently=False)
messages.add_message(request, messages.INFO, email)
messages.add_message(request, messages.INFO, '邮件发送成功。')
except:
messages.add_message(request, messages.ERROR, email)
messages.add_message(request, messages.ERROR, '邮件发送失败。')
@login_required
def user_add(request):