From 5ae77cdd29f616ff1fe9dfc556501572e7848049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Cantu=C3=A1ria?= Date: Wed, 29 Apr 2020 13:37:03 -0300 Subject: [PATCH] =?UTF-8?q?Cria=20p=C3=A1gina=20para=20visualiza=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20perfil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/base/urls.py | 3 +- sapl/base/views.py | 25 +++++++++++-- sapl/templates/crud/usuario_detail.html | 49 +++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 sapl/templates/crud/usuario_detail.html diff --git a/sapl/base/urls.py b/sapl/base/urls.py index 19a72c901..bd736c3fd 100644 --- a/sapl/base/urls.py +++ b/sapl/base/urls.py @@ -8,7 +8,7 @@ from django.contrib.auth.views import (password_reset, password_reset_complete, password_reset_done) from django.views.generic.base import RedirectView, TemplateView -from sapl.base.views import AutorCrud, ConfirmarEmailView, TipoAutorCrud, get_estatistica +from sapl.base.views import AutorCrud, ConfirmarEmailView, TipoAutorCrud, get_estatistica, DetailUsuarioView from sapl.settings import EMAIL_SEND_USER, MEDIA_URL from .apps import AppConfig @@ -45,6 +45,7 @@ app_name = AppConfig.name admin_user = [ url(r'^sistema/usuario/$', PesquisarUsuarioView.as_view(), name='usuario'), url(r'^sistema/usuario/create$', CreateUsuarioView.as_view(), name='user_create'), + url(r'^sistema/usuario/(?P\d+)/detail$', DetailUsuarioView.as_view(), name='user_detail'), url(r'^sistema/usuario/(?P\d+)/edit$', EditUsuarioView.as_view(), name='user_edit'), url(r'^sistema/usuario/(?P\d+)/delete$', DeleteUsuarioView.as_view(), name='user_delete') ] diff --git a/sapl/base/views.py b/sapl/base/views.py index 9ccc44e0c..3fa327f72 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -24,8 +24,7 @@ from django.utils.encoding import force_bytes from django.utils.http import urlsafe_base64_decode, urlsafe_base64_encode from django.utils.translation import string_concat from django.utils.translation import ugettext_lazy as _ -from django.views.generic import (CreateView, DeleteView, FormView, ListView, - UpdateView) +from django.views.generic import (CreateView, DetailView, DeleteView, FormView, ListView, UpdateView) from django.views.generic.base import RedirectView, TemplateView from django_filters.views import FilterView from haystack.views import SearchView @@ -1808,6 +1807,26 @@ class PesquisarUsuarioView(PermissionRequiredMixin, FilterView): return self.render_to_response(context) +class DetailUsuarioView(PermissionRequiredMixin, DetailView): + model = get_user_model() + template_name = "crud/usuario_detail.html" + permission_required = ('base.detail_appconfig',) + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + user = get_user_model().objects.get(id=self.kwargs['pk']) + + context["user"] = user + context["token"] = Token.objects.filter(user=user)[0] + context["roles"] = [ + { + "checked": "checked" if g in user.groups.all() else "unchecked", + "group": g.name + } for g in Group.objects.all().order_by("name")] + + return context + + class CreateUsuarioView(PermissionRequiredMixin, CreateView): model = get_user_model() form_class = UsuarioCreateForm @@ -1883,7 +1902,7 @@ class EditUsuarioView(PermissionRequiredMixin, UpdateView): permission_required = ('base.change_appconfig',) def get_success_url(self): - return reverse('sapl.base:usuario') + return reverse('sapl.base:user_detail', kwargs={"pk": self.kwargs['pk']}) def get_initial(self): initial = super().get_initial() diff --git a/sapl/templates/crud/usuario_detail.html b/sapl/templates/crud/usuario_detail.html new file mode 100644 index 000000000..9b4fba1d7 --- /dev/null +++ b/sapl/templates/crud/usuario_detail.html @@ -0,0 +1,49 @@ +{% extends "crud/detail.html" %} +{% load i18n %} +{% load crispy_forms_tags cropping %} + +{% block base_content %} + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Usuário{{ user.username }}
Token{{ token }}
Nome{% firstof user.first_name "-" %}
Sobrenome{% firstof user.last_name "-" %}
Endereço de e-mail{% firstof user.email "-" %}
Usuário ativo?{% if user.is_active %} Sim {% else %} Não {% endif %}
Último acesso{{ user.last_login }}
Roles
    + {% for r in roles %} +
  • {{r.group }}
  • + {% endfor %} +
+
+{% endblock base_content %}