Browse Source

refactor: corrige relatório alinhando a proposta da nomenclatura

pull/3645/head
LeandroJatai 2 years ago
parent
commit
b4564584fe
  1. 33
      sapl/base/forms.py
  2. 15
      sapl/base/views.py
  3. 29
      sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html
  4. 27
      sapl/templates/relatorios/relatorio_fim_prazo_tramitacao.html

33
sapl/base/forms.py

@ -192,7 +192,8 @@ class UserAdminForm(ModelForm):
] + [ ] + [
(g.id, g) for g in Group.objects.exclude( (g.id, g) for g in Group.objects.exclude(
user=self.instance).exclude( user=self.instance).exclude(
name__in=['Autor', 'Votante'] name__in=[
'Autor', 'Votante']
).order_by('name') ).order_by('name')
] ]
@ -757,15 +758,19 @@ class AuditLogFilterSet(django_filters.FilterSet):
('D', 'Excluído'), ('D', 'Excluído'),
) )
username = django_filters.ChoiceFilter(choices=get_username(), label=_('Usuário')) username = django_filters.ChoiceFilter(
choices=get_username(), label=_('Usuário'))
object_id = django_filters.NumberFilter(label=_('Id')) object_id = django_filters.NumberFilter(label=_('Id'))
operation = django_filters.ChoiceFilter(choices=OPERATION_CHOICES, label=_('Operação')) operation = django_filters.ChoiceFilter(
model_name = django_filters.ChoiceFilter(choices=get_models, label=_('Tipo de Registro')) choices=OPERATION_CHOICES, label=_('Operação'))
model_name = django_filters.ChoiceFilter(
choices=get_models, label=_('Tipo de Registro'))
timestamp = django_filters.DateRangeFilter(label=_('Período')) timestamp = django_filters.DateRangeFilter(label=_('Período'))
class Meta: class Meta:
model = AuditLog model = AuditLog
fields = ['username', 'operation', 'model_name', 'timestamp', 'object_id'] fields = ['username', 'operation',
'model_name', 'timestamp', 'object_id']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
@ -1217,37 +1222,39 @@ class RelatorioHistoricoTramitacaoFilterSet(django_filters.FilterSet):
class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet): class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet):
ano = django_filters.ChoiceFilter(required=False, materia__ano = django_filters.ChoiceFilter(required=False,
label='Ano da Matéria', label='Ano da Matéria',
choices=choice_anos_com_materias) choices=choice_anos_com_materias)
@property @property
def qs(self): def qs(self):
parent = super(RelatorioDataFimPrazoTramitacaoFilterSet, self).qs parent = super(RelatorioDataFimPrazoTramitacaoFilterSet, self).qs
return parent.distinct().prefetch_related('tipo').order_by('-ano', 'tipo', 'numero') return parent.distinct().prefetch_related('materia__tipo').order_by('tramitacao__data_fim_prazo', 'materia__tipo', 'materia__numero')
class Meta(FilterOverridesMetaMixin): class Meta(FilterOverridesMetaMixin):
model = MateriaLegislativa model = MateriaEmTramitacao
fields = ['tipo', 'tramitacao__unidade_tramitacao_local', fields = ['materia__tipo',
'tramitacao__unidade_tramitacao_local',
'tramitacao__unidade_tramitacao_destino', 'tramitacao__unidade_tramitacao_destino',
'tramitacao__status', 'tramitacao__data_fim_prazo'] 'tramitacao__status',
'tramitacao__data_fim_prazo']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(RelatorioDataFimPrazoTramitacaoFilterSet, self).__init__( super(RelatorioDataFimPrazoTramitacaoFilterSet, self).__init__(
*args, **kwargs) *args, **kwargs)
self.filters['tipo'].label = 'Tipo de Matéria' self.filters['materia__tipo'].label = 'Tipo de Matéria'
self.filters[ self.filters[
'tramitacao__unidade_tramitacao_local'].label = 'Unidade Local (Origem)' 'tramitacao__unidade_tramitacao_local'].label = 'Unidade Local (Origem)'
self.filters['tramitacao__unidade_tramitacao_destino'].label = 'Unidade Destino' self.filters['tramitacao__unidade_tramitacao_destino'].label = 'Unidade Destino'
self.filters['tramitacao__status'].label = 'Status de tramitação' self.filters['tramitacao__status'].label = 'Status de tramitação'
row1 = to_row([('ano', 12)]) row1 = to_row([('materia__ano', 12)])
row2 = to_row([('tramitacao__data_fim_prazo', 12)]) row2 = to_row([('tramitacao__data_fim_prazo', 12)])
row3 = to_row([('tramitacao__unidade_tramitacao_local', 6), row3 = to_row([('tramitacao__unidade_tramitacao_local', 6),
('tramitacao__unidade_tramitacao_destino', 6)]) ('tramitacao__unidade_tramitacao_destino', 6)])
row4 = to_row( row4 = to_row(
[('tipo', 6), [('materia__tipo', 6),
('tramitacao__status', 6)]) ('tramitacao__status', 6)])
buttons = FormActions( buttons = FormActions(

15
sapl/base/views.py

@ -695,7 +695,7 @@ class RelatorioHistoricoTramitacaoView(RelatorioMixin, FilterView):
class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView): class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView):
model = MateriaLegislativa model = MateriaEmTramitacao
filterset_class = RelatorioDataFimPrazoTramitacaoFilterSet filterset_class = RelatorioDataFimPrazoTramitacaoFilterSet
template_name = 'base/RelatorioDataFimPrazoTramitacao_filter.html' template_name = 'base/RelatorioDataFimPrazoTramitacao_filter.html'
relatorio = relatorio_fim_prazo_tramitacao relatorio = relatorio_fim_prazo_tramitacao
@ -703,7 +703,8 @@ class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(RelatorioDataFimPrazoTramitacaoView, context = super(RelatorioDataFimPrazoTramitacaoView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Relatório de Tramitações') context['title'] = _(
'Relatório de tramitações em intervalo de data de fim de prazo.')
if not self.filterset.form.is_valid(): if not self.filterset.form.is_valid():
return context return context
qr = self.request.GET.copy() qr = self.request.GET.copy()
@ -711,16 +712,16 @@ class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView):
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
context['data_tramitacao'] = (self.request.GET['tramitacao__data_fim_prazo_0'] + ' - ' + context['data_fim_prazo'] = (self.request.GET['tramitacao__data_fim_prazo_0'] + ' - ' +
self.request.GET['tramitacao__data_fim_prazo_1']) self.request.GET['tramitacao__data_fim_prazo_1'])
if self.request.GET['ano']: if self.request.GET['materia__ano']:
context['ano'] = self.request.GET['ano'] context['ano'] = self.request.GET['materia__ano']
else: else:
context['ano'] = '' context['ano'] = ''
if self.request.GET['tipo']: if self.request.GET['materia__tipo']:
tipo = self.request.GET['tipo'] tipo = self.request.GET['materia__tipo']
context['tipo'] = ( context['tipo'] = (
str(TipoMateriaLegislativa.objects.get(id=tipo))) str(TipoMateriaLegislativa.objects.get(id=tipo)))
else: else:

29
sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html

@ -13,7 +13,7 @@
<br /><br /><br /><br /> <br /><br /><br /><br />
<b>PARÂMETROS DE PESQUISA:<br /></b> <b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Ano: {{ ano }} <br /> &emsp;Ano: {{ ano }} <br />
&emsp;Período: {{ data_tramitacao }} <br /> &emsp;Período: {{ data_fim_prazo }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br /> &emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status de tramitação: {{ tramitacao__status }}<br /> &emsp;Status de tramitação: {{ tramitacao__status }}<br />
&emsp;Local de origem: {{ tramitacao__unidade_tramitacao_local }}<br /> &emsp;Local de origem: {{ tramitacao__unidade_tramitacao_local }}<br />
@ -32,12 +32,29 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for materia in object_list %} {% for materia_em_tramitacao in object_list %}
<tr> <tr>
<td><a href="{% url 'sapl.materia:tramitacao_list' materia.pk %}"> <td width="35%"><a href="{% url 'sapl.materia:tramitacao_list' materia_em_tramitacao.materia.pk %}">
{{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} {{materia_em_tramitacao.materia.tipo.descricao}} - {{materia_em_tramitacao.materia.tipo.sigla}} {{materia_em_tramitacao.materia.numero}}/{{materia_em_tramitacao.materia.ano}}
</a></td> </a><br>
<td>{{materia.ementa}}</td> <small>
<strong>Data de Fim de Prazo:</strong> {{materia_em_tramitacao.tramitacao.data_fim_prazo}}
</small>
</td>
<td>
{{materia_em_tramitacao.materia.ementa}}
{% if not tramitacao__status or not tramitacao__unidade_tramitacao_destino %}
<small>
<br/>
<strong>Local Atual: </strong>{{ materia_em_tramitacao.materia.tramitacao_set.first.unidade_tramitacao_destino }}
<br/>
<strong>Status: </strong>{{ materia_em_tramitacao.materia.tramitacao_set.first.status }}
<br/>
<strong>Texto da Ação: </strong>{{ materia_em_tramitacao.materia.tramitacao_set.first.texto }}
</small>
{% endif %}
</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

27
sapl/templates/relatorios/relatorio_fim_prazo_tramitacao.html

@ -7,7 +7,7 @@
<h2>Fim de Prazo de Tramitações</h2> <h2>Fim de Prazo de Tramitações</h2>
<b>PARÂMETROS DE PESQUISA:<br /></b> <b>PARÂMETROS DE PESQUISA:<br /></b>
&emsp;Período: {{ data_tramitacao }} <br /> &emsp;Período: {{ data_fim_prazo }} <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 de origem: {{ tramitacao__unidade_tramitacao_local }}<br /> &emsp;Local de origem: {{ tramitacao__unidade_tramitacao_local }}<br />
@ -18,7 +18,7 @@
{% else %} {% else %}
<tr><td><h3 style="text-align: left;">Foram encontradas {{object_list|length}} matérias com esses parâmetros.</h3></td></tr><br><br> <tr><td><h3 style="text-align: left;">Foram encontradas {{object_list|length}} matérias com esses parâmetros.</h3></td></tr><br><br>
{% endif %} {% endif %}
<table class="table table-bordered table-hover"> <table class="table table-bordered table-hover" border=1>
<thead class="thead-default" > <thead class="thead-default" >
<tr class="active"> <tr class="active">
<th>Matéria</th> <th>Matéria</th>
@ -26,12 +26,29 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for materia in object_list %} {% for materia_em_tramitacao in object_list %}
<tr> <tr>
<td width="35%"><a href="{% url 'sapl.materia:tramitacao_list' materia_em_tramitacao.materia.pk %}">
{{materia_em_tramitacao.materia.tipo.descricao}} - {{materia_em_tramitacao.materia.tipo.sigla}} {{materia_em_tramitacao.materia.numero}}/{{materia_em_tramitacao.materia.ano}}
</a><br>
<small>
<strong>Data de Fim de Prazo:</strong> {{materia_em_tramitacao.tramitacao.data_fim_prazo}}
</small>
</td>
<td> <td>
{{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} {{materia_em_tramitacao.materia.ementa}}
{% if not tramitacao__status or not tramitacao__unidade_tramitacao_destino %}
<small>
<br/>
<strong>Local Atual: </strong>{{ materia_em_tramitacao.materia.tramitacao_set.first.unidade_tramitacao_destino }}
<br/>
<strong>Status: </strong>{{ materia_em_tramitacao.materia.tramitacao_set.first.status }}
<br/>
<strong>Texto da Ação: </strong>{{ materia_em_tramitacao.materia.tramitacao_set.first.texto }}
</small>
{% endif %}
</td> </td>
<td>{{materia.ementa}}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

Loading…
Cancel
Save