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:
parent
e0c5529557
commit
930bd31c30
@ -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
|
||||||
|
@ -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 %}
|
||||||
|
3
urls.py
3
urls.py
@ -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),
|
||||||
|
27
views.py
27
views.py
@ -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):
|
||||||
|
Loading…
Reference in New Issue
Block a user