diff --git a/protocoloadm/views.py b/protocoloadm/views.py
index 250d76ff6..14280c374 100644
--- a/protocoloadm/views.py
+++ b/protocoloadm/views.py
@@ -1050,7 +1050,6 @@ class TramitacaoAdmEditView(FormMixin, GenericView):
def post(self, request, *args, **kwargs):
pk = kwargs['pk']
- print(kwargs)
tramitacao = TramitacaoAdministrativo.objects.get(id=pk)
form = TramitacaoAdmForm(request.POST, instance=tramitacao)
diff --git a/relatorios/templates/pdf_capa_processo_gerar.py b/relatorios/templates/pdf_capa_processo_gerar.py
index 32b06ca8e..40a05c217 100755
--- a/relatorios/templates/pdf_capa_processo_gerar.py
+++ b/relatorios/templates/pdf_capa_processo_gerar.py
@@ -8,6 +8,8 @@
"""
import time
+from sapl.utils import xstr
+
from trml2pdf import parseString
@@ -60,7 +62,7 @@ def protocolos(lst_protocolos):
tmp_data += '\t\t\t \n'
tmp_data += '\t\t\n'
tmp_data += '\t\tEmenta: ' + \
- dic['txt_assunto'] + '\n'
+ xstr(dic['txt_assunto']) + '\n'
tmp_data += '\t\n'
return tmp_data
diff --git a/relatorios/urls.py b/relatorios/urls.py
index f2b9b477c..806d6d042 100644
--- a/relatorios/urls.py
+++ b/relatorios/urls.py
@@ -1,15 +1,15 @@
from django.conf.urls import url
-from .views import (relatorio_documento_administrativo, relatorio_espelho,
+from .views import (relatorio_capa_processo,
+ relatorio_documento_administrativo, relatorio_espelho,
relatorio_etiqueta_protocolo, relatorio_materia,
relatorio_ordem_dia, relatorio_pauta_sessao,
- relatorio_processo, relatorio_protocolo,
- relatorio_sessao_plenaria)
+ relatorio_protocolo, relatorio_sessao_plenaria)
urlpatterns = [
url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'),
- url(r'^relatorios/cap_processo$',
- relatorio_processo, name='relatorio_cap_processo'),
+ url(r'^relatorios/capa_processo$',
+ relatorio_capa_processo, name='relatorio_capa_processo'),
url(r'^relatorios/ordem_dia$', relatorio_ordem_dia,
name='relatorio_ordem_dia'),
url(r'^relatorios/relatorio_documento_administrativo$',
diff --git a/relatorios/views.py b/relatorios/views.py
index c3facc1d7..80caca2b8 100644
--- a/relatorios/views.py
+++ b/relatorios/views.py
@@ -20,8 +20,20 @@ from sessao.models import (ExpedienteMateria, ExpedienteSessao, Orador,
from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar, pdf_espelho_gerar,
pdf_etiqueta_protocolo_gerar, pdf_materia_gerar,
- pdf_pauta_sessao_gerar, pdf_protocolo_gerar,
- pdf_sessao_plenaria_gerar)
+ pdf_ordem_dia_gerar, pdf_pauta_sessao_gerar,
+ pdf_protocolo_gerar, pdf_sessao_plenaria_gerar)
+
+
+def get_kwargs_params(request, fields):
+ kwargs = {}
+ for i in fields:
+ if '__icontains' in i:
+ x = i[:-11] # remove '__icontains'
+ else:
+ x = i
+ if x in request.GET:
+ kwargs[i] = request.GET[x]
+ return kwargs
def get_cabecalho(casa):
@@ -155,8 +167,15 @@ def relatorio_materia(request):
rodape = get_rodape(casa)
imagem = get_imagem(casa)
- # TODO pesquisar baseado em filtros
- mats = MateriaLegislativa.objects.all()[:50]
+ kwargs = get_kwargs_params(request, ['numero',
+ 'ano',
+ 'autor',
+ 'tipo_autor',
+ 'relator',
+ 'interessado__icontains'
+ ])
+
+ mats = MateriaLegislativa.objects.filter(**kwargs)
materias = get_materias(mats)
@@ -237,7 +256,7 @@ def get_capa_processo(prot):
return protocolos
-def relatorio_processo(request):
+def relatorio_capa_processo(request):
'''
pdf_capa_processo_gerar.py
'''
@@ -253,9 +272,15 @@ def relatorio_processo(request):
rodape = get_rodape(casa)
imagem = get_imagem(casa)
- protocolos = Protocolo.objects.all()[:50]
+ kwargs = get_kwargs_params(request, ['numero',
+ 'ano',
+ 'tipo_protocolo',
+ 'tipo_processo',
+ 'assunto__icontains',
+ # 'interessado__icontains'
+ ])
+ protocolos = Protocolo.objects.filter(**kwargs)
protocolos_pdf = get_capa_processo(protocolos)
-
pdf = pdf_capa_processo_gerar.principal(None,
imagem,
None,
@@ -269,6 +294,8 @@ def relatorio_processo(request):
def get_ordem_dia(ordem, sessao):
+
+ # TODO: fazer implementaĆ§Ć£o de ordem dia
pass
@@ -289,16 +316,19 @@ def relatorio_ordem_dia(request):
rodape = get_rodape(casa)
imagem = get_imagem(casa)
- ordem = OrdemDia.objects.all()[:50]
+ kwargs = get_kwargs_params(request, ['numero_ordem'])
+
+ ordem = OrdemDia.objects.filter(**kwargs)
+
sessao = SessaoPlenaria.objects.first()
ordem_pdf = get_ordem_dia(ordem, sessao)
- pdf = pdf_capa_processo_gerar.principal(None,
- imagem,
- None,
- ordem_pdf,
- cabecalho,
- rodape)
+ pdf = pdf_ordem_dia_gerar.principal(None,
+ imagem,
+ None,
+ ordem_pdf,
+ cabecalho,
+ rodape)
response.write(pdf)
@@ -954,6 +984,7 @@ def relatorio_pauta_sessao(request):
imagem = get_imagem(casa)
sessao = SessaoPlenaria.objects.first()
+
lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao(
sessao, casa)
pdf = pdf_pauta_sessao_gerar.principal(cabecalho,
diff --git a/sapl/utils.py b/sapl/utils.py
index 62a96c0e2..c27a2cc37 100644
--- a/sapl/utils.py
+++ b/sapl/utils.py
@@ -28,6 +28,10 @@ def register_all_models_in_admin(module_name):
admin.site.register(model, CustomModelAdmin)
+def xstr(s):
+ return '' if s is None else str(s)
+
+
def make_choices(*choice_pairs):
assert len(choice_pairs) % 2 == 0
ipairs = iter(choice_pairs)