Skip to content

Commit

Permalink
merged
Browse files Browse the repository at this point in the history
  • Loading branch information
aniversarioperu committed Jul 14, 2015
2 parents 0c46707 + 463ff61 commit 05aea4e
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 4 deletions.
3 changes: 0 additions & 3 deletions proyectos_de_ley/api/models.py

This file was deleted.

4 changes: 4 additions & 0 deletions proyectos_de_ley/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,9 @@ class CongresistaSerializer(serializers.Serializer):
numero_de_congresistas = serializers.IntegerField()


class ExoneradoDictamenSerializer(serializers.Serializer):
resultado = serializers.ListField()


class Exonerados2daVotacionSerializer(serializers.Serializer):
resultado = serializers.ListField()
34 changes: 33 additions & 1 deletion proyectos_de_ley/api/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from django.test import TestCase

from pdl.models import Proyecto
from pdl.models import Seguimientos
from pdl.models import Slug


Expand All @@ -24,7 +25,8 @@ def setUp(self):
"time_edited": "2014-09-05 03:00:00",
"titulo": "Propone establecer los lineamientos para la promoción de la eficiencia y competitividad en la actividad empresarial del Estado, garantizando su aporte estratégico para el desarrollo descentralizado y la soberanía nacional."
}
Proyecto(**dummy).save()
self.p = Proyecto(**dummy)
self.p.save()

dummy_slug = {
"nombre": "Dammert Ego Aguirre, Manuel Enrique Ernesto",
Expand Down Expand Up @@ -64,3 +66,33 @@ def test_person_cannot_be_found(self):
result = json.loads(response.content.decode('utf-8'))
expected = {'error': 'no se pudo encontrar congresista'}
self.assertEqual(expected, result)

def test_exonerados_dictamen_empty(self):
response = self.c.get('/api/exonerados_dictamen/')
result = json.loads(response.content.decode('utf-8'))
expected = {'error': 'no se encontraron resultados'}
self.assertEqual(expected, result)

def test_exonerados_dictamen(self):
Seguimientos(proyecto=self.p,
evento='exoneración de dictamen',
fecha='2010-10-10').save()
response = self.c.get('/api/exonerados_dictamen/')
result = json.loads(response.content.decode('utf-8'))
expected = {'resultado': ['03774-2011']}
self.assertEqual(expected, result)

def test_exonerados_2da_votacion_empty(self):
response = self.c.get('/api/exonerados_2da_votacion/')
result = json.loads(response.content.decode('utf-8'))
expected = {'error': 'no se encontraron resultados'}
self.assertEqual(expected, result)

def test_exonerados_2da_votacion(self):
Seguimientos(proyecto=self.p,
evento='dispensado 2da',
fecha='2010-10-10').save()
response = self.c.get('/api/exonerados_2da_votacion/')
result = json.loads(response.content.decode('utf-8'))
expected = {'resultado': ['03774-2011']}
self.assertEqual(expected, result)
1 change: 1 addition & 0 deletions proyectos_de_ley/api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
'',
url(r'^proyecto/(?P<codigo>[0-9]+\-[0-9]+)/$', views.proyecto),
url(r'^congresista/(?P<nombre_corto>.+)/$', views.congresista),
url(r'^exonerados_dictamen/$', views.exonerados_dictamen),
url(r'^exonerados_2da_votacion/$', views.exonerados_2da_votacion),
)
22 changes: 22 additions & 0 deletions proyectos_de_ley/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from pdl.models import Seguimientos
from pdl.models import Slug
from .serializers import CongresistaSerializer
from .serializers import ExoneradoDictamenSerializer
from .serializers import Exonerados2daVotacionSerializer
from .serializers import ProyectoSerializer

Expand Down Expand Up @@ -98,6 +99,27 @@ def congresista(request, nombre_corto):
return JSONResponse(serializer.data)


@api_view(['GET'])
@permission_classes((AllowAny, ))
def exonerados_dictamen(request):
"""
Lista proyectos que han sido aprobados y exonerados de dictamen.
"""
exonerado_de_dictamen = ['{}-2011'.format(i.proyecto.codigo)
for i in Seguimientos.objects.select_related('proyecto').filter(
evento__icontains='exoneración de dictamen').distinct()]
exonerado_de_dictamen = list(set(exonerado_de_dictamen))

if len(exonerado_de_dictamen) > 0:
data = {'resultado': exonerado_de_dictamen}
if request.method == 'GET':
serializer = ExoneradoDictamenSerializer(data)
return JSONResponse(serializer.data)
else:
msg = {'error': 'no se encontraron resultados'}
return HttpResponse(json.dumps(msg), content_type='application/json')


@api_view(['GET'])
@permission_classes((AllowAny, ))
def exonerados_2da_votacion(request):
Expand Down

0 comments on commit 05aea4e

Please sign in to comment.