diff --git a/sapl/api/views.py b/sapl/api/views.py index 33e88109e..6b48f40f2 100644 --- a/sapl/api/views.py +++ b/sapl/api/views.py @@ -8,7 +8,7 @@ from django.db.models import Q from django.db.models.fields.files import FileField from django.db.models.signals import post_save from django.dispatch import receiver -from django.http import HttpResponseRedirect, HttpResponse +from django.http import HttpResponse, JsonResponse from django.utils.decorators import classonlymethod from django.utils.text import capfirst from django.utils.translation import ugettext_lazy as _ @@ -53,9 +53,9 @@ def create_auth_token(sender, instance=None, created=False, **kwargs): def renova_token(request): if request.user.is_authenticated: Token.objects.filter(user_id=request.user.id).delete() - Token.objects.create(user_id=request.user.id) + token = str(Token.objects.create(user_id=request.user.id)) - return HttpResponseRedirect(reverse_lazy("sapl.base:user_edit", kwargs={"pk": request.user.id})) + return JsonResponse({"message": "Token atualizado com sucesso!", "token": token}) else: return HttpResponse('Usuário não autenticado!', status=401) diff --git a/sapl/base/forms.py b/sapl/base/forms.py index d20e6749a..b0edb6ea3 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -226,8 +226,6 @@ class UsuarioEditForm(ModelForm): super(UsuarioEditForm, self).__init__(*args, **kwargs) rows = to_row(( - ('username', 12), - ('token', 12), ('first_name', 6), ('last_name', 6), ('email', 6), @@ -237,6 +235,8 @@ class UsuarioEditForm(ModelForm): self.helper = SaplFormHelper() self.helper.layout = Layout( + 'username', + FieldWithButtons('token', StrictButton('Renovar', id="renovar-token", css_class="btn-outline-primary")), rows, 'roles', form_actions(label='Salvar Alterações')) diff --git a/sapl/base/views.py b/sapl/base/views.py index 064988beb..2e0f077b2 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -1878,6 +1878,7 @@ class DeleteUsuarioView(PermissionRequiredMixin, DeleteView): class EditUsuarioView(PermissionRequiredMixin, UpdateView): model = get_user_model() form_class = UsuarioEditForm + template_name = "crud/edit_usuario_form.html" success_message = 'Usuário editado com sucesso!' permission_required = ('base.change_appconfig',) diff --git a/sapl/templates/crud/edit_usuario_form.html b/sapl/templates/crud/edit_usuario_form.html new file mode 100644 index 000000000..25a321e60 --- /dev/null +++ b/sapl/templates/crud/edit_usuario_form.html @@ -0,0 +1,16 @@ +{% extends "crud/form.html" %} +{% load i18n %} + +{% block extra_js %} + + + +{% endblock %} \ No newline at end of file