- {{ u.login }} |
+ {{ u.login }} |
{{ u.is_superuser }} |
{{ u.last_login }} |
{{ u.last_password_change }} |
diff --git a/templates/account/view.html b/templates/account/view.html
index 4d8f79d..01b6350 100644
--- a/templates/account/view.html
+++ b/templates/account/view.html
@@ -1,23 +1,11 @@
{% extends 'base.html' %}
{% load static %}
+{% block title %} Просмотр аккаунта {{ view_user.login }} {% endblock %}
+
{% block styles %}
{% endblock %}
@@ -26,12 +14,17 @@
{% endblock %}
{% block content %}
-{% if have_permissions %}
+Статус администратора: {{ view_user.is_superuser }}
+Последний вход: {{ view_user.last_login }}
+Последнее обновление пароля: {{ view_user.last_password_change }}
+ {% if perms.users.change_user or view_user.login == user.login %}
+ (сменить)
+ {% endif %}
+
+Зарегистрирован: {{ view_user.registered }}
-
-
-{% else %}
-Недостаточно прав для просмотра страницы
-Для просмотра списка пользователей необходимо иметь статус администратора.
+{% if perms.users.delete_user %}
+Удалить аккаунт
{% endif %}
+
{% endblock %}
diff --git a/templates/base.html b/templates/base.html
index 69477cc..e4616bb 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -3,7 +3,6 @@
-
{% block title %} Мониторинг резервуара {% endblock %}
{% load static %}
@@ -15,9 +14,9 @@
{% block header %}
{% block header-title %} Мониторинг водозаборного узла {% endblock %}
{% if user.is_authenticated %}
-
+
{% endif %}
{% endblock %}
diff --git a/templates/index.html b/templates/index.html
index ddae5fd..4d10d91 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -2,6 +2,8 @@
{% load static %}
{% block head %}
+
+
@@ -96,6 +98,10 @@
+
Просмотр профиля: {{ user.login }}
+ {% if perms.users.view_user %}
+
Просмотр всех аккаунтов
+ {% endif %}
diff --git a/users/models.py b/users/models.py
index b7caf60..ece6e68 100644
--- a/users/models.py
+++ b/users/models.py
@@ -46,7 +46,6 @@ class User(AbstractBaseUser):
permissions = {
'view_logs': 0,
'view_pump_stats': 1,
- 'change_users': 1,
'users.add_user': 1,
'users.change_user': 1,
diff --git a/users/urls.py b/users/urls.py
index f934245..80d3468 100644
--- a/users/urls.py
+++ b/users/urls.py
@@ -23,5 +23,7 @@ urlpatterns = [
path('login', views.view_login, name='login'),
path('logout', views.view_logout, name='logout'),
path('list', views.view_list, name='accounts-list'),
+ path('view', views.view_account, name='account-view'),
path('change-password', views.default_view, name='change-password'),
+ path('delete/', views.default_view, name='delete-account'),
]
diff --git a/users/views.py b/users/views.py
index 193b071..7f89b8a 100644
--- a/users/views.py
+++ b/users/views.py
@@ -1,6 +1,6 @@
import os
-from django.http import HttpResponse, HttpResponseRedirect, HttpResponseBadRequest
+from django.http import HttpResponse, HttpResponseRedirect, HttpResponseBadRequest, Http404
from django.shortcuts import render
# from django.db.models import Manager
from django.contrib.auth import authenticate, login, logout
@@ -9,7 +9,7 @@ from .models import User
from .forms import UserRegisterForm
-def default_view(request):
+def default_view(request, *args, **kwargs):
return HttpResponse('Not implemented!')
@@ -53,6 +53,20 @@ def view_login(request):
return HttpResponseBadRequest()
+@login_required
+def view_account(request):
+ view_user = request.user
+ if 'username' in request.GET:
+ if request.user.has_perm('users.view_user'):
+ try:
+ view_user = User.objects.get_by_natural_key(request.GET['username'])
+ except:
+ return Http404()
+ else:
+ raise PermissionError()
+ return render(request, 'account/view.html', {'view_user': view_user})
+
+
@login_required
@permission_required(perm='users.add_user', raise_exception=True)
def view_register(request):