Skip to content

Commit

Permalink
Merge 591e0a0 into 21d57f5
Browse files Browse the repository at this point in the history
  • Loading branch information
aniversarioperu committed Jul 12, 2015
2 parents 21d57f5 + 591e0a0 commit a92db9e
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 1 deletion.
5 changes: 5 additions & 0 deletions proyectos_de_ley/search_advanced/forms.py
Expand Up @@ -61,5 +61,10 @@ class SearchAdvancedForm(forms.Form):
choices=[
('---', '---'),
('TOTAL dispensados', 'TOTAL dispensados'),
('NÚMERO TOTAL DE LEYES', 'NÙMERO TOTAL DE LEYES'),
('TOTAL aprobados', 'TOTAL aprobados'),
('Dispensados por acuerdo del pleno', 'Dispensados por acuerdo del pleno'),
('Dispensados por junta portavoces', 'Dispensados por junta portavoces'),
('Otros proyectos dispensados', 'Otros proyectos dispensados'),
]
)
@@ -1,4 +1,5 @@
{% extends "pdl/base.html" %}
{% load humanize %}


{% block additional_head_javascript %}
Expand Down Expand Up @@ -97,7 +98,8 @@ <h4>Por comisiones</h4>

{% if items %}
<div id="contenido" class="container">
<h1>Resultados de búsqueda: {{ result_count }}</h1>
<h1>Resultados de búsqueda: <small>{{ extra_result_msg }} {{ result_count|intcomma }}</small></h1>

{% if results == 'No se encontraron resultados.' %}
<h2>{{ results }}</h2>
{% else %}
Expand Down
122 changes: 122 additions & 0 deletions proyectos_de_ley/search_advanced/views.py
@@ -1,5 +1,6 @@
# -*- encoding: utf-8 -*-
from django.shortcuts import render
from django.db.models import Q

from . import forms
from pdl.models import Proyecto
Expand All @@ -12,6 +13,7 @@ def index(request):
if request.method == 'GET':
form = forms.SearchAdvancedForm(request.GET)
if form.is_valid():
print(">>cleaned_data", form.cleaned_data)
if form.cleaned_data['date_from'] is not None:
return search_by_date(form, request)

Expand All @@ -21,6 +23,21 @@ def index(request):
if form.cleaned_data['dispensados_2da_votacion'] == 'TOTAL dispensados':
return search_dispensados_todos(form, request)

if form.cleaned_data['dispensados_2da_votacion'] == 'NÚMERO TOTAL DE LEYES':
return search_total_leyes(form, request)

if form.cleaned_data['dispensados_2da_votacion'] == 'TOTAL aprobados':
return search_total_aprobados(form, request)

if form.cleaned_data['dispensados_2da_votacion'] == 'Dispensados por acuerdo del pleno':
return search_dispensados_acuerdo_pleno(form, request)

if form.cleaned_data['dispensados_2da_votacion'] == 'Dispensados por junta portavoces':
return search_dispensados_junta_portavoces(form, request)

if form.cleaned_data['dispensados_2da_votacion'] == 'Otros proyectos dispensados':
return search_dispensados_otros(form, request)

return render(request, "search_advanced/index.html", {
"form": form,
})
Expand Down Expand Up @@ -88,6 +105,111 @@ def search_dispensados_todos(form, request):
obj = do_pagination(request, total_dispensed, search=True, advanced_search=True)
return render(request, "search_advanced/index.html", {
"result_count": len(total_dispensed),
"extra_result_msg": "Total número de proyectos dispensados de 2da votación",
"items": obj['items'],
"pretty_items": obj['pretty_items'],
"first_half": obj['first_half'],
"second_half": obj['second_half'],
"first_page": obj['first_page'],
"last_page": obj['last_page'],
"current": obj['current'],
"form": form,
"comision": obj['comision'],
})


def search_total_leyes(form, request):
are_law = Proyecto.objects.exclude(
titulo_de_ley__isnull=True).exclude(
titulo_de_ley__exact='')

obj = do_pagination(request, are_law, search=True, advanced_search=True)
return render(request, "search_advanced/index.html", {
"result_count": len(are_law),
"extra_result_msg": "Total número de proyectos que han generado leyes",
"items": obj['items'],
"pretty_items": obj['pretty_items'],
"first_half": obj['first_half'],
"second_half": obj['second_half'],
"first_page": obj['first_page'],
"last_page": obj['last_page'],
"current": obj['current'],
"form": form,
"comision": obj['comision'],
})


def search_total_aprobados(form, request):
total_approved = [i.proyecto for i in Seguimientos.objects.select_related('proyecto').filter(
Q(evento__icontains='promulgado') | Q(evento__icontains='publicado'))]
total_approved = list(set(total_approved))

obj = do_pagination(request, total_approved, search=True, advanced_search=True)
return render(request, "search_advanced/index.html", {
"result_count": len(total_approved),
"extra_result_msg": "Total número de proyectos aprobados",
"items": obj['items'],
"pretty_items": obj['pretty_items'],
"first_half": obj['first_half'],
"second_half": obj['second_half'],
"first_page": obj['first_page'],
"last_page": obj['last_page'],
"current": obj['current'],
"form": form,
"comision": obj['comision'],
})


def search_dispensados_acuerdo_pleno(form, request):
dispensed_by_plenary = [i.proyecto for i in Seguimientos.objects.select_related('proyecto').filter(
evento__icontains='dispensado 2da').filter(evento__icontains='pleno')]

obj = do_pagination(request, dispensed_by_plenary, search=True, advanced_search=True)
return render(request, "search_advanced/index.html", {
"result_count": len(dispensed_by_plenary),
"extra_result_msg": "Dispensados 2da votación por acuerdo del pleno",
"items": obj['items'],
"pretty_items": obj['pretty_items'],
"first_half": obj['first_half'],
"second_half": obj['second_half'],
"first_page": obj['first_page'],
"last_page": obj['last_page'],
"current": obj['current'],
"form": form,
"comision": obj['comision'],
})


def search_dispensados_junta_portavoces(form, request):
dispensed_by_spokesmen = [i.proyecto for i in Seguimientos.objects.select_related('proyecto').filter(
evento__icontains='dispensado 2da').filter(evento__icontains='portavoces')]

obj = do_pagination(request, dispensed_by_spokesmen, search=True, advanced_search=True)
return render(request, "search_advanced/index.html", {
"result_count": len(dispensed_by_spokesmen),
"extra_result_msg": "Dispensados 2da votación por junta de portavoces",
"items": obj['items'],
"pretty_items": obj['pretty_items'],
"first_half": obj['first_half'],
"second_half": obj['second_half'],
"first_page": obj['first_page'],
"last_page": obj['last_page'],
"current": obj['current'],
"form": form,
"comision": obj['comision'],
})


def search_dispensados_otros(form, request):
otros_dispensados = [i.proyecto for i in Seguimientos.objects.select_related('proyecto').filter(
evento__icontains='dispensado 2da').exclude(
evento__icontains='pleno').exclude(
evento__icontains='portavoces')]

obj = do_pagination(request, otros_dispensados, search=True, advanced_search=True)
return render(request, "search_advanced/index.html", {
"result_count": len(otros_dispensados),
"extra_result_msg": "Dispensados 2da votación por otras razones",
"items": obj['items'],
"pretty_items": obj['pretty_items'],
"first_half": obj['first_half'],
Expand Down

0 comments on commit a92db9e

Please sign in to comment.