добавил удаление пользователей, немного косметических изменений
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>
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
<h1> Просмотр аккаунтов </h1>
|
||||
{% endblock %}
|
||||
{% block header-title %} Просмотр аккаунтов {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<p> Добавить нового пользователя можно <a href="{% url 'register' %}">тут</a>.</p>
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
|
@ -15,7 +15,8 @@
|
||||
<h1>{% block header-title %} Мониторинг водозаборного узла {% endblock %}</h1>
|
||||
{% if user.is_authenticated %}
|
||||
<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>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -25,5 +25,5 @@ urlpatterns = [
|
||||
path('list', views.view_list, name='accounts-list'),
|
||||
path('view/<str:username>', views.view_account, name='account-view'),
|
||||
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
|
||||
|
||||
|
||||
def default_view(request, *args, **kwargs):
|
||||
return HttpResponse('Not implemented!')
|
||||
|
||||
|
||||
def view_logout(request):
|
||||
logout(request)
|
||||
# перенаправляем на страницу авторизации
|
||||
@ -68,7 +64,7 @@ def view_account(request, username=None):
|
||||
except:
|
||||
return Http404()
|
||||
else:
|
||||
raise PermissionError()
|
||||
return HttpResponseForbidden()
|
||||
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)
|
||||
def view_list(request):
|
||||
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