добавил удаление пользователей, немного косметических изменений
This commit is contained in:
parent
1c16ba2889
commit
07f8b967a8
37
templates/account/delete.html
Normal file
37
templates/account/delete.html
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
{% load static %}
|
||||||
|
|
||||||
|
{% block title %} Удаление пользователя {{ target_user.login }} {% endblock %}
|
||||||
|
|
||||||
|
{% block header-title %} Удаление пользователя {{ target_user.login }} {% endblock %}
|
||||||
|
|
||||||
|
{% block styles %}
|
||||||
|
<style>
|
||||||
|
#submit {
|
||||||
|
font-weight: bolder;
|
||||||
|
background: var(--text-bad);
|
||||||
|
text-align: center;
|
||||||
|
padding: 0.5em;
|
||||||
|
border: 2px var(--text-color) solid;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div id="form-wrapper">
|
||||||
|
<form method="POST">
|
||||||
|
{% csrf_token %}
|
||||||
|
<p>
|
||||||
|
Вы собираетесь удалить пользователя {{ target_user.login }}, отменить это действие невозможно!
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Вы уверены, что хотите продолжить?
|
||||||
|
</p>
|
||||||
|
<input id="submit" type="submit" value="Да, удалить">
|
||||||
|
<p>
|
||||||
|
После удаления вы попадете на страницу просмотра пользователей.
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
@ -23,12 +23,9 @@
|
|||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block header %}
|
{% block header-title %} Просмотр аккаунтов {% endblock %}
|
||||||
<h1> Просмотр аккаунтов </h1>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<p> Добавить нового пользователя можно <a href="{% url 'register' %}">тут</a>.</p>
|
<p> Добавить нового пользователя можно <a href="{% url 'register' %}">тут</a>.</p>
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper">
|
||||||
<table>
|
<table>
|
||||||
|
@ -15,7 +15,8 @@
|
|||||||
<h1>{% block header-title %} Мониторинг водозаборного узла {% endblock %}</h1>
|
<h1>{% block header-title %} Мониторинг водозаборного узла {% endblock %}</h1>
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<div id="header-login-block">
|
<div id="header-login-block">
|
||||||
<span> {{ user.login }} </span>
|
<a href="/">На главную</a>
|
||||||
|
<a href="{% url 'account-view' %}">{{ user.login }}</a>
|
||||||
<a href="{% url 'logout' %}">Выход</a>
|
<a href="{% url 'logout' %}">Выход</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -25,5 +25,5 @@ urlpatterns = [
|
|||||||
path('list', views.view_list, name='accounts-list'),
|
path('list', views.view_list, name='accounts-list'),
|
||||||
path('view/<str:username>', views.view_account, name='account-view'),
|
path('view/<str:username>', views.view_account, name='account-view'),
|
||||||
path('change-password', views.view_change_password, name='change-password'),
|
path('change-password', views.view_change_password, name='change-password'),
|
||||||
path('delete/<str:username>', views.default_view, name='delete-account'),
|
path('delete/<str:username>', views.view_delete, name='delete-account'),
|
||||||
]
|
]
|
||||||
|
@ -10,10 +10,6 @@ from .models import User
|
|||||||
from .forms import UserRegisterForm
|
from .forms import UserRegisterForm
|
||||||
|
|
||||||
|
|
||||||
def default_view(request, *args, **kwargs):
|
|
||||||
return HttpResponse('Not implemented!')
|
|
||||||
|
|
||||||
|
|
||||||
def view_logout(request):
|
def view_logout(request):
|
||||||
logout(request)
|
logout(request)
|
||||||
# перенаправляем на страницу авторизации
|
# перенаправляем на страницу авторизации
|
||||||
@ -68,7 +64,7 @@ def view_account(request, username=None):
|
|||||||
except:
|
except:
|
||||||
return Http404()
|
return Http404()
|
||||||
else:
|
else:
|
||||||
raise PermissionError()
|
return HttpResponseForbidden()
|
||||||
return render(request, 'account/view.html', {'view_user': view_user})
|
return render(request, 'account/view.html', {'view_user': view_user})
|
||||||
|
|
||||||
|
|
||||||
@ -147,3 +143,22 @@ def view_change_password(request):
|
|||||||
@permission_required(perm='users.view_user', raise_exception=True)
|
@permission_required(perm='users.view_user', raise_exception=True)
|
||||||
def view_list(request):
|
def view_list(request):
|
||||||
return render(request, 'account/list.html', {'users': User.objects.order_by('login')})
|
return render(request, 'account/list.html', {'users': User.objects.order_by('login')})
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@permission_required(perm='users.delete_user', raise_exception=True)
|
||||||
|
def view_delete(request, username):
|
||||||
|
if username != request.user.login:
|
||||||
|
try:
|
||||||
|
target_user = User.objects.get_by_natural_key(username)
|
||||||
|
if request.method == 'GET':
|
||||||
|
return render(request, 'account/delete.html', {'target_user': target_user})
|
||||||
|
elif request.method == 'POST':
|
||||||
|
target_user.delete()
|
||||||
|
return HttpResponseRedirect('/account/list')
|
||||||
|
else:
|
||||||
|
return HttpResponseBadRequest()
|
||||||
|
except:
|
||||||
|
return Http404()
|
||||||
|
else:
|
||||||
|
return HttpResponseForbidden()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user