mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-01-29 21:51:31 +00:00
Update login error message
This commit is contained in:
64
apps/users/templates/users/logout.html
Normal file
64
apps/users/templates/users/logout.html
Normal file
@@ -0,0 +1,64 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<title>{{ title }}</title>
|
||||
|
||||
{% include '_head_css_js.html' %}
|
||||
<link href="{% static "css/jumpserver.css" %}" rel="stylesheet">
|
||||
<script src="{% static "js/jumpserver.js" %}"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="gray-bg">
|
||||
<div class="passwordBox2 animated fadeInDown">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="ibox-content">
|
||||
<div>
|
||||
<img src="{% static 'img/logo.png' %}" style="margin: auto" width="82" height="82">
|
||||
<h2 style="display: inline">Jumpserver</h2>
|
||||
</div>
|
||||
<p>
|
||||
<div class="alert alert-success" id="messages">
|
||||
退出登录成功
|
||||
</div>
|
||||
</p>
|
||||
<div class="row">
|
||||
<div class="col-lg-3">
|
||||
<a href="{% url "users:login" %}" class="btn btn-primary block full-width m-b">返回</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
Copyright Jumpserver.org
|
||||
</div>
|
||||
<div class="col-md-6 text-right">
|
||||
<small>2014-2016</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
var time=2;
|
||||
function redirect_page() {
|
||||
if (time >= 0) {
|
||||
var messages = '退出登录成功,<b>' + time +'</b> 秒后 返回到登录页面 ';
|
||||
$('#messages').html(messages);
|
||||
time--;
|
||||
setTimeout(redirect_page, 1000);
|
||||
}
|
||||
else {
|
||||
window.location.href = "{% url 'users:login' %}";
|
||||
}
|
||||
}
|
||||
window.onload = redirect_page
|
||||
</script>
|
||||
</html>
|
||||
@@ -110,8 +110,8 @@
|
||||
<td><b>{{ user.last_login|date:"Y-m-j H:i:s" }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="no-borders">描述:</td>
|
||||
<td class="no-borders"><b>{{ user.comment }}</b></td>
|
||||
<td>描述:</td>
|
||||
<td><b>{{ user.comment }}</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from django.conf.urls import url, include
|
||||
from django.contrib.auth import views as auth_views
|
||||
from django.urls import reverse_lazy
|
||||
|
||||
import views
|
||||
import api
|
||||
@@ -8,7 +9,7 @@ app_name = 'users'
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^login$', views.UserLoginView.as_view(), name='login'),
|
||||
url(r'^logout$', auth_views.logout, {'template_name': 'users/login.html'}, name='logout'),
|
||||
url(r'^logout$', views.UserLogoutView.as_view(), name='logout'),
|
||||
url(r'^captcha/', include('captcha.urls')),
|
||||
url(r'^password/forget$', views.UserForgetPasswordView.as_view(), name='forget-password'),
|
||||
url(r'^password/forget/sendmail-success$',
|
||||
|
||||
@@ -15,7 +15,7 @@ from django.views.generic.detail import DetailView
|
||||
from django.contrib.messages.views import SuccessMessageMixin
|
||||
from django.conf import settings
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.contrib.auth import views as auth_view, authenticate, login
|
||||
from django.contrib.auth import views as auth_view, authenticate, login, logout
|
||||
|
||||
from common.utils import get_object_or_none
|
||||
|
||||
@@ -34,8 +34,11 @@ class UserLoginView(FormView):
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
if self.request.user.is_staff:
|
||||
return redirect(request.GET.get(self.redirect_field_name, reverse('index')))
|
||||
return super(UserLoginView, self).get(request, *args, **kwargs)
|
||||
return redirect(request.POST.get(self.redirect_field_name, reverse('index')))
|
||||
# Todo: Django have bug, lose context issue: https://github.com/django/django/pull/7202
|
||||
# so we jump it and use origin method render_to_response
|
||||
# return super(UserLoginView, self).get(request, *args, **kwargs)
|
||||
return self.render_to_response(self.get_context_data(**kwargs))
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
form = self.get_form()
|
||||
@@ -51,6 +54,25 @@ class UserLoginView(FormView):
|
||||
return redirect(request.GET.get(self.redirect_field_name, reverse('index')))
|
||||
|
||||
|
||||
class UserLogoutView(TemplateView):
|
||||
template_name = 'common/flash_message_standalone.html'
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
logout(request)
|
||||
|
||||
return super(UserLogoutView, self).get(request)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = {
|
||||
'title': '退出登录成功',
|
||||
'messages': '退出登录成功, 返回登录页面',
|
||||
'redirect_url': reverse('users:login'),
|
||||
'auto_redirect': True,
|
||||
}
|
||||
kwargs.update(context)
|
||||
return super(UserLogoutView, self).get_context_data(**kwargs)
|
||||
|
||||
|
||||
class UserListView(AdminUserRequiredMixin, ListView):
|
||||
model = User
|
||||
paginate_by = settings.CONFIG.DISPLAY_PER_PAGE
|
||||
@@ -239,8 +261,9 @@ class UserResetPasswordSuccessView(TemplateView):
|
||||
def get_context_data(self, **kwargs):
|
||||
context = {
|
||||
'title': '重设密码成功',
|
||||
'messages': '密码重置成功, 请返回登录页面登录系统',
|
||||
'messages': '密码重置成功, 返回登录页面 ',
|
||||
'redirect_url': reverse('users:login'),
|
||||
'auto_redirect': True,
|
||||
}
|
||||
kwargs.update(context)
|
||||
return super(UserResetPasswordSuccessView, self).get_context_data(**kwargs)
|
||||
@@ -263,7 +286,7 @@ class UserResetPasswordView(TemplateView):
|
||||
token = request.GET.get('token')
|
||||
|
||||
if password != password_confirm:
|
||||
return self.get(request, errors='两次密码不匹配')
|
||||
return self.get(request, errors='两次密码不一致')
|
||||
|
||||
user = User.validate_reset_token(token)
|
||||
if not user:
|
||||
|
||||
Reference in New Issue
Block a user