Browse Source

Cria página de pesquisa referente a ficha

pull/1469/head
Mariana Mendes 8 years ago
parent
commit
453953871f
  1. 56
      sapl/materia/forms.py
  2. 6
      sapl/materia/urls.py
  3. 40
      sapl/materia/views.py
  4. 7
      sapl/templates/materia/impressos/ficha.html
  5. 0
      sapl/templates/materia/impressos/ficha_pdf.html
  6. 10
      sapl/templates/materia/impressos/impressos.html

56
sapl/materia/forms.py

@ -1678,3 +1678,59 @@ class EtiquetaPesquisaForm(forms.Form):
'O processo final não pode ser menor que o inicial')) 'O processo final não pode ser menor que o inicial'))
return cleaned_data return cleaned_data
class FichaPesquisaForm(forms.Form):
tipo_materia = forms.ModelChoiceField(
label=TipoMateriaLegislativa._meta.verbose_name,
queryset=TipoMateriaLegislativa.objects.all(),
required=False,
empty_label='Selecione')
data_inicial = forms.DateField(
label='Data Inicial',
required=False,
widget=forms.DateInput(format='%d/%m/%Y')
)
data_final = forms.DateField(
label='Data Final',
required=False,
widget=forms.DateInput(format='%d/%m/%Y')
)
def __init__(self, *args, **kwargs):
super(FichaPesquisaForm, self).__init__(*args, **kwargs)
row1 = to_row(
[('tipo_materia', 6),
('data_inicial', 3),
('data_final', 3)])
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(
('Formulário de Ficha'),
row1,
form_actions(save_label='Pesquisar')
)
)
def clean(self):
cleaned_data = self.cleaned_data
# Verifica se algum campo de data foi preenchido
if cleaned_data['data_inicial'] or cleaned_data['data_final']:
# Então verifica se o usuário preencheu o Incial e mas não
# preencheu o Final, ou vice-versa
if (not cleaned_data['data_inicial'] or
not cleaned_data['data_final']):
raise ValidationError(_(
'Caso pesquise por data, os campos de Data Incial e ' +
'Data Final devem ser preenchidos obrigatoriamente'))
# Caso tenha preenchido, verifica se a data final é maior que
# a inicial
elif cleaned_data['data_final'] < cleaned_data['data_inicial']:
raise ValidationError(_(
'A Data Final não pode ser menor que a Data Inicial'))
return cleaned_data

6
sapl/materia/urls.py

@ -8,7 +8,8 @@ from sapl.materia.views import (AcompanhamentoConfirmarView,
CriarProtocoloMateriaView, DespachoInicialCrud, CriarProtocoloMateriaView, DespachoInicialCrud,
DocumentoAcessorioCrud, DocumentoAcessorioCrud,
DocumentoAcessorioEmLoteView, DocumentoAcessorioEmLoteView,
EtiquetaPesquisaView, ImpressosView, ImpressosView, EtiquetaPesquisaView,
FichaPesquisaView,
LegislacaoCitadaCrud, MateriaAssuntoCrud, LegislacaoCitadaCrud, MateriaAssuntoCrud,
MateriaLegislativaCrud, MateriaLegislativaCrud,
MateriaLegislativaPesquisaView, MateriaTaView, MateriaLegislativaPesquisaView, MateriaTaView,
@ -35,6 +36,9 @@ urlpatterns_impressos = [
url(r'^materia/impressos/etiqueta-pesquisa/$', url(r'^materia/impressos/etiqueta-pesquisa/$',
EtiquetaPesquisaView.as_view(), EtiquetaPesquisaView.as_view(),
name='impressos_etiqueta'), name='impressos_etiqueta'),
url(r'^materia/impressos/ficha-pesquisa/$',
FichaPesquisaView.as_view(),
name='impressos_ficha'),
] ]
urlpatterns_materia = [ urlpatterns_materia = [

40
sapl/materia/views.py

@ -47,10 +47,11 @@ from .email_utils import do_envia_email_confirmacao
from .forms import (AcessorioEmLoteFilterSet, AcompanhamentoMateriaForm, from .forms import (AcessorioEmLoteFilterSet, AcompanhamentoMateriaForm,
AdicionarVariasAutoriasFilterSet, DespachoInicialForm, AdicionarVariasAutoriasFilterSet, DespachoInicialForm,
DocumentoAcessorioForm, EtiquetaPesquisaForm, DocumentoAcessorioForm, EtiquetaPesquisaForm,
MateriaAssuntoForm, MateriaLegislativaFilterSet, FichaPesquisaForm, MateriaAssuntoForm,
MateriaSimplificadaForm, PrimeiraTramitacaoEmLoteFilterSet, MateriaLegislativaFilterSet, MateriaSimplificadaForm,
ReceberProposicaoForm, RelatoriaForm, PrimeiraTramitacaoEmLoteFilterSet, ReceberProposicaoForm,
TramitacaoEmLoteFilterSet, filtra_tramitacao_destino, RelatoriaForm, TramitacaoEmLoteFilterSet,
filtra_tramitacao_destino,
filtra_tramitacao_destino_and_status, filtra_tramitacao_destino_and_status,
filtra_tramitacao_status) filtra_tramitacao_status)
from .models import (AcompanhamentoMateria, Anexada, AssuntoMateria, Autoria, from .models import (AcompanhamentoMateria, Anexada, AssuntoMateria, Autoria,
@ -1751,7 +1752,8 @@ class ImpressosView(PermissionRequiredMixin, TemplateView):
def gerar_pdf_impressos(request, context): def gerar_pdf_impressos(request, context):
template = loader.get_template('materia/impressos/pdf.html') template = loader.get_template('materia/impressos/pdf.html',
'materia/impressos/ficha_pdf.html')
html = template.render(RequestContext(request, context)) html = template.render(RequestContext(request, context))
response = HttpResponse(content_type="application/pdf") response = HttpResponse(content_type="application/pdf")
weasyprint.HTML( weasyprint.HTML(
@ -1796,3 +1798,31 @@ class EtiquetaPesquisaView(PermissionRequiredMixin, FormView):
context['materias'] = materias context['materias'] = materias
return gerar_pdf_impressos(self.request, context) return gerar_pdf_impressos(self.request, context)
class FichaPesquisaView(PermissionRequiredMixin, FormView):
form_class = FichaPesquisaForm
template_name = 'materia/impressos/ficha.html'
permission_required = ('materia.can_access_impressos', )
def form_valid(self, form):
context = {}
materias = MateriaLegislativa.objects.all().order_by(
'-data_apresentacao')
if form.cleaned_data['tipo_materia']:
materias = materias.filter(tipo=form.cleaned_data['tipo_materia'])
if form.cleaned_data['data_inicial']:
materias = materias.filter(
data_apresentacao__gte=form.cleaned_data['data_inicial'],
data_apresentacao__lte=form.cleaned_data['data_final'])
context['quantidade'] = len(materias)
if context['quantidade'] > 20:
materias = materias[:20]
context['materias'] = materias
return gerar_pdf_impressos(self.request, context)

7
sapl/templates/materia/impressos/ficha.html

@ -0,0 +1,7 @@
{% extends "crud/form.html" %}
{% load i18n crispy_forms_tags %}
{% block base_content %}
<h1 class="page-header">Impressos</h1>
{% crispy form %}
{% endblock base_content %}

0
sapl/templates/materia/impressos/ficha_pdf.html

10
sapl/templates/materia/impressos/impressos.html

@ -15,11 +15,11 @@
<li><a href="{% url 'sapl.materia:impressos_etiqueta' %}">Pesquisar</a></li> <li><a href="{% url 'sapl.materia:impressos_etiqueta' %}">Pesquisar</a></li>
</ul> </ul>
{#<h2 class="legend">Ficha</h2>#} <h2 class="legend">Ficha</h2>
{# <ul>#} <ul>
{# <li><a href="{% url 'sapl.materia:impressos_ficha' %}">Pesquisar</a></li>#} <li><a href="{% url 'sapl.materia:impressos_ficha' %}">Pesquisar</a></li>
{# </ul>#} </ul>
{##}
{#<h2 class="legend">Guia de Remessa</h2>#} {#<h2 class="legend">Guia de Remessa</h2>#}
{# <ul>#} {# <ul>#}
{# <li><a href="{% url 'sapl.materia:impressos_guiaremessa' %}">Pesquisar</a></li>#} {# <li><a href="{% url 'sapl.materia:impressos_guiaremessa' %}">Pesquisar</a></li>#}

Loading…
Cancel
Save