Browse Source

Fix #3175 - Adicionando filtro de autor em relatorio de materias em tramitação (#3183)

pull/3180/head
Ulysses Lara 5 years ago
committed by GitHub
parent
commit
4b6766fcf5
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      sapl/base/forms.py
  2. 13
      sapl/base/views.py
  3. 5
      sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html
  4. 2
      sapl/templates/relatorios/relatorio_materias_em_tramitacao.html

10
sapl/base/forms.py

@ -1291,6 +1291,11 @@ class RelatorioMateriasTramitacaoFilterSet(django_filters.FilterSet):
queryset=StatusTramitacao.objects.all(), queryset=StatusTramitacao.objects.all(),
label=_('Status Atual')) label=_('Status Atual'))
materia__autores = django_filters.ModelChoiceFilter(
label='Autor da Matéria',
queryset=Autor.objects.all())
@property @property
def qs(self): def qs(self):
parent = super(RelatorioMateriasTramitacaoFilterSet, self).qs parent = super(RelatorioMateriasTramitacaoFilterSet, self).qs
@ -1302,7 +1307,7 @@ class RelatorioMateriasTramitacaoFilterSet(django_filters.FilterSet):
model = MateriaEmTramitacao model = MateriaEmTramitacao
fields = ['materia__ano', 'materia__tipo', fields = ['materia__ano', 'materia__tipo',
'tramitacao__unidade_tramitacao_destino', 'tramitacao__unidade_tramitacao_destino',
'tramitacao__status'] 'tramitacao__status','materia__autores']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(RelatorioMateriasTramitacaoFilterSet, self).__init__( super(RelatorioMateriasTramitacaoFilterSet, self).__init__(
@ -1314,6 +1319,7 @@ class RelatorioMateriasTramitacaoFilterSet(django_filters.FilterSet):
row2 = to_row([('materia__tipo', 12)]) row2 = to_row([('materia__tipo', 12)])
row3 = to_row([('tramitacao__unidade_tramitacao_destino', 12)]) row3 = to_row([('tramitacao__unidade_tramitacao_destino', 12)])
row4 = to_row([('tramitacao__status', 12)]) row4 = to_row([('tramitacao__status', 12)])
row5 = to_row([('materia__autores', 12)])
buttons = FormActions( buttons = FormActions(
*[ *[
@ -1333,7 +1339,7 @@ class RelatorioMateriasTramitacaoFilterSet(django_filters.FilterSet):
self.form.helper.form_method = 'GET' self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout( self.form.helper.layout = Layout(
Fieldset(_('Pesquisa de Matéria em Tramitação'), Fieldset(_('Pesquisa de Matéria em Tramitação'),
row1, row2, row3, row4, row1, row2, row3, row4,row5,
buttons,) buttons,)
) )

13
sapl/base/views.py

@ -749,6 +749,7 @@ class RelatorioMateriasTramitacaoView(RelatorioMixin, FilterView):
tipo_materia = data['data']['materia__tipo'] tipo_materia = data['data']['materia__tipo']
unidade_tramitacao_destino = data['data']['tramitacao__unidade_tramitacao_destino'] unidade_tramitacao_destino = data['data']['tramitacao__unidade_tramitacao_destino']
status_tramitacao = data['data']['tramitacao__status'] status_tramitacao = data['data']['tramitacao__status']
autor = data['data']['materia__autores']
kwargs = {} kwargs = {}
if ano_materia: if ano_materia:
@ -759,8 +760,10 @@ class RelatorioMateriasTramitacaoView(RelatorioMixin, FilterView):
kwargs['tramitacao__unidade_tramitacao_destino'] = unidade_tramitacao_destino kwargs['tramitacao__unidade_tramitacao_destino'] = unidade_tramitacao_destino
if status_tramitacao: if status_tramitacao:
kwargs['tramitacao__status'] = status_tramitacao kwargs['tramitacao__status'] = status_tramitacao
qs = qs.filter(**kwargs) if autor:
kwargs['materia__autores'] = autor
qs = qs.filter(**kwargs)
data['queryset'] = qs data['queryset'] = qs
self.total_resultados_tipos = num_materias_por_tipo(qs, "materia__tipo") self.total_resultados_tipos = num_materias_por_tipo(qs, "materia__tipo")
@ -816,6 +819,14 @@ class RelatorioMateriasTramitacaoView(RelatorioMixin, FilterView):
else: else:
context['tramitacao__unidade_tramitacao_destino'] = '' context['tramitacao__unidade_tramitacao_destino'] = ''
if self.request.GET['materia__autores']:
autor = self.request.GET['materia__autores']
context['materia__autor'] = (
str(Autor.objects.get(id=autor))
)
else:
context['materia__autor'] = ''
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)

5
sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html

@ -16,7 +16,8 @@
&emsp;Ano: {{ ano }} <br /> &emsp;Ano: {{ ano }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br /> &emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status atual: {{ tramitacao__status }}<br /> &emsp;Status atual: {{ tramitacao__status }}<br />
&emsp;Local atual: {{ tramitacao__unidade_tramitacao_destino }}<br /><br /><br /> &emsp;Local atual: {{ tramitacao__unidade_tramitacao_destino }}<br />
&emsp;Autor: {{ materia__autor }}<br /><br /><br />
<table class="table table-bordered table-hover"> <table class="table table-bordered table-hover">
<thead class="thead-default" > <thead class="thead-default" >
<tr class="active"><th colspan="2" class="text-center">QUADRO GERAL</th></tr> <tr class="active"><th colspan="2" class="text-center">QUADRO GERAL</th></tr>
@ -42,6 +43,7 @@
<th>Ementa</th> <th>Ementa</th>
<th>Local Atual</th> <th>Local Atual</th>
<th>Status</th> <th>Status</th>
<th>Autores</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -55,6 +57,7 @@
<td>{{ materia_em_tramitacao.materia.ementa }}</td> <td>{{ materia_em_tramitacao.materia.ementa }}</td>
<td>{{ materia_em_tramitacao.materia.tramitacao_set.last.unidade_tramitacao_destino }}</td> <td>{{ materia_em_tramitacao.materia.tramitacao_set.last.unidade_tramitacao_destino }}</td>
<td>{{ materia_em_tramitacao.materia.tramitacao_set.last.status }}</td> <td>{{ materia_em_tramitacao.materia.tramitacao_set.last.status }}</td>
<td>{% for autor in materia_em_tramitacao.materia.autores.all %} <p>{{autor}}</p>{% endfor %}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

2
sapl/templates/relatorios/relatorio_materias_em_tramitacao.html

@ -43,6 +43,8 @@
</br> </br>
<strong>Status:</strong>&nbsp;<a> {{ materia_em_tramitacao.materia.tramitacao_set.last.status }} </a> <strong>Status:</strong>&nbsp;<a> {{ materia_em_tramitacao.materia.tramitacao_set.last.status }} </a>
</br> </br>
<strong>Autores:</strong>&nbsp;<ul>{% for autor in materia_em_tramitacao.materia.autores.all %} <li>{{autor}}</li>{% endfor %}</ul>
</br>
{% endif %} {% endif %}
</div> </div>
{% endfor %} {% endfor %}

Loading…
Cancel
Save