добавил удаление пользователей, немного косметических изменений
This commit is contained in:
@@ -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()
|
||||
|
Reference in New Issue
Block a user