|
|
@ -13,6 +13,7 @@ from django_filters.filters import CharFilter |
|
|
from django_filters.rest_framework.backends import DjangoFilterBackend |
|
|
from django_filters.rest_framework.backends import DjangoFilterBackend |
|
|
from django_filters.rest_framework.filterset import FilterSet |
|
|
from django_filters.rest_framework.filterset import FilterSet |
|
|
from django_filters.utils import resolve_field |
|
|
from django_filters.utils import resolve_field |
|
|
|
|
|
from django.utils import timezone |
|
|
from rest_framework import serializers as rest_serializers |
|
|
from rest_framework import serializers as rest_serializers |
|
|
from rest_framework.decorators import action |
|
|
from rest_framework.decorators import action |
|
|
from rest_framework.fields import SerializerMethodField |
|
|
from rest_framework.fields import SerializerMethodField |
|
|
@ -351,11 +352,20 @@ class _ParlamentarViewSet: |
|
|
Pega lista de parlamentares pelo id da legislatura. |
|
|
Pega lista de parlamentares pelo id da legislatura. |
|
|
""" |
|
|
""" |
|
|
legislatura = Legislatura.objects.get(pk=kwargs['pk']) |
|
|
legislatura = Legislatura.objects.get(pk=kwargs['pk']) |
|
|
mandatos = Mandato.objects.filter( |
|
|
data_atual = timezone.now().date() |
|
|
legislatura=legislatura, |
|
|
|
|
|
data_inicio_mandato__gte=legislatura.data_inicio, |
|
|
if legislatura.data_inicio < data_atual < legislatura.data_fim: |
|
|
data_fim_mandato__lte=legislatura.data_fim |
|
|
mandatos = Mandato.objects.filter( |
|
|
).order_by('-data_inicio_mandato') |
|
|
legislatura=legislatura, |
|
|
|
|
|
data_inicio_mandato__gte=legislatura.data_inicio, |
|
|
|
|
|
data_fim_mandato__gte=data_atual, |
|
|
|
|
|
).order_by('-data_inicio_mandato') |
|
|
|
|
|
else: |
|
|
|
|
|
mandatos = Mandato.objects.filter( |
|
|
|
|
|
legislatura=legislatura, |
|
|
|
|
|
data_inicio_mandato__gte=legislatura.data_inicio, |
|
|
|
|
|
data_fim_mandato__lte=legislatura.data_fim |
|
|
|
|
|
).order_by('-data_inicio_mandato') |
|
|
|
|
|
|
|
|
parlamentares = Parlamentar.objects.filter(mandato__in=mandatos).distinct() |
|
|
parlamentares = Parlamentar.objects.filter(mandato__in=mandatos).distinct() |
|
|
serializer_class = ParlamentarResumeSerializer(parlamentares, |
|
|
serializer_class = ParlamentarResumeSerializer(parlamentares, |
|
|
@ -367,7 +377,7 @@ class _ParlamentarViewSet: |
|
|
def search_parlamentares(self,request,*args,**kwargs): |
|
|
def search_parlamentares(self,request,*args,**kwargs): |
|
|
nome = request.query_params.get('nome_parlamentar','') |
|
|
nome = request.query_params.get('nome_parlamentar','') |
|
|
parlamentares = Parlamentar.objects.filter(nome_parlamentar__icontains=nome) |
|
|
parlamentares = Parlamentar.objects.filter(nome_parlamentar__icontains=nome) |
|
|
serializer_class= ParlamentarResumeSerializer(parlamentares,many=True) |
|
|
serializer_class= ParlamentarResumeSerializer(parlamentares,many=True,context={'request':request}) |
|
|
return Response(serializer_class.data) |
|
|
return Response(serializer_class.data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|