Browse Source

Corrige com mudanças solicitadas

pull/3151/head
Vinícius Cantuária 6 years ago
parent
commit
52e839924c
  1. 8
      sapl/api/migrations/0001_initial.py
  2. 4
      sapl/api/urls.py
  3. 18
      sapl/api/views.py
  4. 2
      sapl/templates/crud/edit_usuario_form.html

8
sapl/api/migrations/0001_initial.py

@ -4,12 +4,12 @@ from __future__ import unicode_literals
from django.db import migrations from django.db import migrations
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
def adiciona_token_nos_usuarios(apps, schema_editor): def adiciona_token_de_usuarios(apps, schema_editor):
for user in User.objects.all(): for user in get_user_model().objects.all():
Token.objects.get_or_create(user=user) Token.objects.get_or_create(user=user)
@ -22,5 +22,5 @@ class Migration(migrations.Migration):
] ]
operations = [ operations = [
migrations.RunPython(adiciona_token_nos_usuarios) migrations.RunPython(adiciona_token_de_usuarios)
] ]

4
sapl/api/urls.py

@ -6,7 +6,7 @@ from rest_framework.routers import DefaultRouter
from sapl.api.deprecated import MateriaLegislativaViewSet, SessaoPlenariaViewSet,\ from sapl.api.deprecated import MateriaLegislativaViewSet, SessaoPlenariaViewSet,\
AutoresProvaveisListView, AutoresPossiveisListView, AutorListView,\ AutoresProvaveisListView, AutoresPossiveisListView, AutorListView,\
ModelChoiceView ModelChoiceView
from sapl.api.views import SaplApiViewSetConstrutor, AppVersionView, renova_token from sapl.api.views import SaplApiViewSetConstrutor, AppVersionView, recria_token
from .apps import AppConfig from .apps import AppConfig
@ -71,7 +71,7 @@ urlpatterns = [
url(r'^api/', include(urlpatterns_api_doc)), url(r'^api/', include(urlpatterns_api_doc)),
url(r'^api/', include(urlpatterns_router)), url(r'^api/', include(urlpatterns_router)),
url(r'^api/version', AppVersionView.as_view()), url(r'^api/version', AppVersionView.as_view()),
url(r'^api/renovar-token/$', renova_token, name="renova_token"), url(r'^api/recriar-token/$', recria_token, name="recria_token"),
# implementar caminho para autenticação # implementar caminho para autenticação
# https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/ # https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/

18
sapl/api/views.py

@ -8,7 +8,6 @@ from django.db.models import Q
from django.db.models.fields.files import FileField from django.db.models.fields.files import FileField
from django.db.models.signals import post_save from django.db.models.signals import post_save
from django.dispatch import receiver from django.dispatch import receiver
from django.http import HttpResponse, JsonResponse
from django.utils.decorators import classonlymethod from django.utils.decorators import classonlymethod
from django.utils.text import capfirst from django.utils.text import capfirst
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
@ -21,11 +20,11 @@ from django.utils import timezone
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from rest_framework import serializers as rest_serializers from rest_framework import serializers as rest_serializers
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
from rest_framework.decorators import action from rest_framework.decorators import action, api_view, permission_classes
from rest_framework.fields import SerializerMethodField from rest_framework.fields import SerializerMethodField
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.viewsets import ModelViewSet from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated, IsAdminUser
from rest_framework.views import APIView from rest_framework.views import APIView
@ -50,14 +49,13 @@ def create_auth_token(sender, instance=None, created=False, **kwargs):
Token.objects.create(user=instance) Token.objects.create(user=instance)
def renova_token(request): @api_view(['GET'])
if request.user.is_authenticated: @permission_classes([IsAdminUser])
Token.objects.filter(user_id=request.user.id).delete() def recria_token(request):
token = str(Token.objects.create(user_id=request.user.id)) Token.objects.filter(user=request.user).delete()
token = Token.objects.create(user=request.user)
return JsonResponse({"message": "Token atualizado com sucesso!", "token": token}) return Response({"message": "Token recriado com sucesso!", "token": token.key})
else:
return HttpResponse('Usuário não autenticado!', status=401)
class BusinessRulesNotImplementedMixin: class BusinessRulesNotImplementedMixin:

2
sapl/templates/crud/edit_usuario_form.html

@ -6,7 +6,7 @@
<script type="text/javascript"> <script type="text/javascript">
$(() => { $(() => {
$("#renovar-token").click(() => { $("#renovar-token").click(() => {
$.get("{% url 'sapl.api:renova_token' %}", (res) => { $.get("{% url 'sapl.api:recria_token' %}", (res) => {
$("#id_token").val(res.token); $("#id_token").val(res.token);
}); });
}); });

Loading…
Cancel
Save