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)