1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-22 16:56:57 +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 # Seafile-applet address and port, used in repo download
CCNET_APPLET_ROOT = "http://localhost:13420" CCNET_APPLET_ROOT = "http://localhost:13420"
# Account initial password, for password resetting.
INIT_PASSWD = '123456'
SEAHUB_TITLE = 'SeaHub' SEAHUB_TITLE = 'SeaHub'
USE_SUBDOMAIN = False USE_SUBDOMAIN = False

View File

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

View File

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

View File

@ -55,7 +55,7 @@ try:
from settings import CROCODOC_API_TOKEN from settings import CROCODOC_API_TOKEN
except ImportError: except ImportError:
CROCODOC_API_TOKEN = None CROCODOC_API_TOKEN = None
from settings import FILE_PREVIEW_MAX_SIZE from settings import FILE_PREVIEW_MAX_SIZE, INIT_PASSWD
@login_required @login_required
def root(request): def root(request):
@ -1219,10 +1219,27 @@ def activate_user(request, user_id):
except User.DoesNotExist: except User.DoesNotExist:
pass 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): 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() use_https = request.is_secure()
domain = RequestSite(request).domain domain = RequestSite(request).domain
@ -1239,9 +1256,9 @@ def send_user_add_mail(request, email, password):
try: try:
send_mail(u'SeaCloud注册信息', t.render(Context(c)), send_mail(u'SeaCloud注册信息', t.render(Context(c)),
None, [email], fail_silently=False) None, [email], fail_silently=False)
messages.add_message(request, messages.INFO, email) messages.add_message(request, messages.INFO, '邮件发送成功。')
except: except:
messages.add_message(request, messages.ERROR, email) messages.add_message(request, messages.ERROR, '邮件发送失败。')
@login_required @login_required
def user_add(request): def user_add(request):