Browse Source

Adiciona botão para renovar token

pull/3151/head
Vinícius Cantuária 6 years ago
parent
commit
83bbe8b03a
  1. 6
      sapl/api/views.py
  2. 4
      sapl/base/forms.py
  3. 1
      sapl/base/views.py
  4. 16
      sapl/templates/crud/edit_usuario_form.html

6
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)

4
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'))

1
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',)

16
sapl/templates/crud/edit_usuario_form.html

@ -0,0 +1,16 @@
{% extends "crud/form.html" %}
{% load i18n %}
{% block extra_js %}
<script type="text/javascript">
$(() => {
$("#renovar-token").click(() => {
$.get("{% url 'sapl.api:renova_token' %}", (res) => {
$("#id_token").val(res.token);
});
});
});
</script>
{% endblock %}
Loading…
Cancel
Save