From b4564584fe0cb351d3f0bc917f78f16296ec77a9 Mon Sep 17 00:00:00 2001 From: LeandroJatai Date: Mon, 29 May 2023 11:29:37 -0300 Subject: [PATCH] =?UTF-8?q?refactor:=20corrige=20relat=C3=B3rio=20alinhand?= =?UTF-8?q?o=20a=20proposta=20da=20nomenclatura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/base/forms.py | 105 ++++++++++-------- sapl/base/views.py | 17 +-- ...elatorioDataFimPrazoTramitacao_filter.html | 29 ++++- .../relatorio_fim_prazo_tramitacao.html | 29 ++++- .../relatorio_materias_em_tramitacao.html | 2 +- 5 files changed, 112 insertions(+), 70 deletions(-) diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 9443ef71c..e5ff871c4 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -152,11 +152,11 @@ class UserAdminForm(ModelForm): row_pwd += [ - ('parlamentar', 6), - ('autor', 6), - ('groups', 12), + ('parlamentar', 6), + ('autor', 6), + ('groups', 12), - ] + ([('user_permissions', 12)] if not self.granular is None else []) + ] + ([('user_permissions', 12)] if not self.granular is None else []) row_pwd = to_row(row_pwd) @@ -186,27 +186,28 @@ class UserAdminForm(ModelForm): self.fields['parlamentar'].initial = votante.parlamentar if votante else None self.fields['groups'].choices = [ - (g.id, g) for g in self.instance.groups.exclude( + (g.id, g) for g in self.instance.groups.exclude( name__in=['Autor', 'Votante'] ).order_by('name') - ] + [ - (g.id, g) for g in Group.objects.exclude( + ] + [ + (g.id, g) for g in Group.objects.exclude( user=self.instance).exclude( - name__in=['Autor', 'Votante'] + name__in=[ + 'Autor', 'Votante'] ).order_by('name') - ] + ] self.fields[ 'user_permissions'].widget = forms.CheckboxSelectMultiple() if not self.granular is None: self.fields['user_permissions'].choices = [ - (p.id, p) for p in self.instance.user_permissions.all( + (p.id, p) for p in self.instance.user_permissions.all( ).order_by('content_type__app_label', 'content_type__model', 'codename') - ] + [ - (p.id, p) for p in Permission.objects.filter( + ] + [ + (p.id, p) for p in Permission.objects.filter( content_type__app_label__in=list( map(lambda x: x.split('.')[-1], settings.SAPL_APPS)) ).exclude( @@ -214,7 +215,7 @@ class UserAdminForm(ModelForm): ).order_by('content_type__app_label', 'content_type__model', 'codename') - ] + ] def save(self, commit=True): if self.cleaned_data['new_password1']: @@ -582,7 +583,7 @@ class AutorForm(ModelForm): to_column((Div( Field('autor_related'), css_class='radiogroup-autor-related hidden'), - 12))) + 12))) operadores_select = to_row( [ ('operadores', 12) @@ -595,29 +596,29 @@ class AutorForm(ModelForm): super(AutorForm, self).__init__(*args, **kwargs) self.fields['operadores'].choices = [ - ( - u.id, - u.username, - u - ) - for u in get_user_model().objects.filter( + ( + u.id, + u.username, + u + ) + for u in get_user_model().objects.filter( operadorautor_set__autor=self.instance ).order_by('-is_active', get_user_model().USERNAME_FIELD ) if self.instance.id - ] + [ - ( - u.id, - u.username, - u - ) - for u in get_user_model().objects.filter( + ] + [ + ( + u.id, + u.username, + u + ) + for u in get_user_model().objects.filter( operadorautor_set__isnull=True, is_active=True ).order_by('-is_active', get_user_model().USERNAME_FIELD ) - ] + ] if self.instance.pk: if self.instance.autor_related: @@ -757,15 +758,19 @@ class AuditLogFilterSet(django_filters.FilterSet): ('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')) - operation = django_filters.ChoiceFilter(choices=OPERATION_CHOICES, label=_('Operação')) - model_name = django_filters.ChoiceFilter(choices=get_models, label=_('Tipo de Registro')) + operation = django_filters.ChoiceFilter( + 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')) class Meta: model = AuditLog - fields = ['username', 'operation', 'model_name', 'timestamp', 'object_id'] + fields = ['username', 'operation', + 'model_name', 'timestamp', 'object_id'] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -1019,8 +1024,8 @@ class EstatisticasAcessoNormasForm(Form): ) self.fields['ano'].choices = NormaEstatisticas.objects.order_by( '-ano').distinct().values_list('ano', 'ano') or [ - (timezone.now().year, timezone.now().year) - ] + (timezone.now().year, timezone.now().year) + ] def clean(self): super(EstatisticasAcessoNormasForm, self).clean() @@ -1217,47 +1222,49 @@ class RelatorioHistoricoTramitacaoFilterSet(django_filters.FilterSet): class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet): - ano = django_filters.ChoiceFilter(required=False, - label='Ano da Matéria', - choices=choice_anos_com_materias) + materia__ano = django_filters.ChoiceFilter(required=False, + label='Ano da Matéria', + choices=choice_anos_com_materias) @property def qs(self): 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): - model = MateriaLegislativa - fields = ['tipo', 'tramitacao__unidade_tramitacao_local', + model = MateriaEmTramitacao + fields = ['materia__tipo', + 'tramitacao__unidade_tramitacao_local', 'tramitacao__unidade_tramitacao_destino', - 'tramitacao__status', 'tramitacao__data_fim_prazo'] + 'tramitacao__status', + 'tramitacao__data_fim_prazo'] def __init__(self, *args, **kwargs): super(RelatorioDataFimPrazoTramitacaoFilterSet, self).__init__( *args, **kwargs) - self.filters['tipo'].label = 'Tipo de Matéria' + self.filters['materia__tipo'].label = 'Tipo de Matéria' self.filters[ 'tramitacao__unidade_tramitacao_local'].label = 'Unidade Local (Origem)' self.filters['tramitacao__unidade_tramitacao_destino'].label = 'Unidade Destino' 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)]) row3 = to_row([('tramitacao__unidade_tramitacao_local', 6), ('tramitacao__unidade_tramitacao_destino', 6)]) row4 = to_row( - [('tipo', 6), + [('materia__tipo', 6), ('tramitacao__status', 6)]) buttons = FormActions( *[ HTML(''' -
- - -
- ''') +
+ + +
+ ''') ], Submit('pesquisar', _('Pesquisar'), css_class='float-right', onclick='return true;'), diff --git a/sapl/base/views.py b/sapl/base/views.py index a32b0499b..2ca3289ff 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -695,7 +695,7 @@ class RelatorioHistoricoTramitacaoView(RelatorioMixin, FilterView): class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView): - model = MateriaLegislativa + model = MateriaEmTramitacao filterset_class = RelatorioDataFimPrazoTramitacaoFilterSet template_name = 'base/RelatorioDataFimPrazoTramitacao_filter.html' relatorio = relatorio_fim_prazo_tramitacao @@ -703,7 +703,8 @@ class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView): def get_context_data(self, **kwargs): context = super(RelatorioDataFimPrazoTramitacaoView, 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(): return context qr = self.request.GET.copy() @@ -711,16 +712,16 @@ class RelatorioDataFimPrazoTramitacaoView(RelatorioMixin, FilterView): context['show_results'] = show_results_filter_set(qr) - context['data_tramitacao'] = (self.request.GET['tramitacao__data_fim_prazo_0'] + ' - ' + - self.request.GET['tramitacao__data_fim_prazo_1']) + context['data_fim_prazo'] = (self.request.GET['tramitacao__data_fim_prazo_0'] + ' - ' + + self.request.GET['tramitacao__data_fim_prazo_1']) - if self.request.GET['ano']: - context['ano'] = self.request.GET['ano'] + if self.request.GET['materia__ano']: + context['ano'] = self.request.GET['materia__ano'] else: context['ano'] = '' - if self.request.GET['tipo']: - tipo = self.request.GET['tipo'] + if self.request.GET['materia__tipo']: + tipo = self.request.GET['materia__tipo'] context['tipo'] = ( str(TipoMateriaLegislativa.objects.get(id=tipo))) else: diff --git a/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html b/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html index cf4d3f045..14944cca8 100644 --- a/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html +++ b/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html @@ -13,7 +13,7 @@



PARÂMETROS DE PESQUISA:
 Ano: {{ ano }}
-  Período: {{ data_tramitacao }}
+  Período: {{ data_fim_prazo }}
 Tipo de matéria: {{ tipo }}
 Status de tramitação: {{ tramitacao__status }}
 Local de origem: {{ tramitacao__unidade_tramitacao_local }}
@@ -32,12 +32,29 @@ - {% for materia in object_list %} + {% for materia_em_tramitacao in object_list %} - - {{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} - - {{materia.ementa}} + + {{materia_em_tramitacao.materia.tipo.descricao}} - {{materia_em_tramitacao.materia.tipo.sigla}} {{materia_em_tramitacao.materia.numero}}/{{materia_em_tramitacao.materia.ano}} +
+ + Data de Fim de Prazo: {{materia_em_tramitacao.tramitacao.data_fim_prazo}} + + + + {{materia_em_tramitacao.materia.ementa}} + + {% if not tramitacao__status or not tramitacao__unidade_tramitacao_destino %} + +
+ Local Atual: {{ materia_em_tramitacao.materia.tramitacao_set.first.unidade_tramitacao_destino }} +
+ Status: {{ materia_em_tramitacao.materia.tramitacao_set.first.status }} +
+ Texto da Ação: {{ materia_em_tramitacao.materia.tramitacao_set.first.texto }} +
+ {% endif %} + {% endfor %} diff --git a/sapl/templates/relatorios/relatorio_fim_prazo_tramitacao.html b/sapl/templates/relatorios/relatorio_fim_prazo_tramitacao.html index 421e6a745..da4172b0b 100644 --- a/sapl/templates/relatorios/relatorio_fim_prazo_tramitacao.html +++ b/sapl/templates/relatorios/relatorio_fim_prazo_tramitacao.html @@ -7,7 +7,7 @@

Fim de Prazo de Tramitações

PARÂMETROS DE PESQUISA:
-  Período: {{ data_tramitacao }}
+  Período: {{ data_fim_prazo }}
 Tipo de matéria: {{ tipo }}
 Status atual: {{ tramitacao__status }}
 Local de origem: {{ tramitacao__unidade_tramitacao_local }}
@@ -18,7 +18,7 @@ {% else %}

Foram encontradas {{object_list|length}} matérias com esses parâmetros.



{% endif %} - +
@@ -26,12 +26,29 @@ - {% for materia in object_list %} + {% for materia_em_tramitacao in object_list %} + - {% endfor %} @@ -39,4 +56,4 @@ {% else %}

{% endif %} -{% endblock content %} +{% endblock content %} diff --git a/sapl/templates/relatorios/relatorio_materias_em_tramitacao.html b/sapl/templates/relatorios/relatorio_materias_em_tramitacao.html index 8ca3de094..fda232f95 100644 --- a/sapl/templates/relatorios/relatorio_materias_em_tramitacao.html +++ b/sapl/templates/relatorios/relatorio_materias_em_tramitacao.html @@ -51,4 +51,4 @@ {% else %}

Nenhum documento encontrado com essas especificações

{% endif %} -{% endblock content %} +{% endblock content %}
Matéria
+ {{materia_em_tramitacao.materia.tipo.descricao}} - {{materia_em_tramitacao.materia.tipo.sigla}} {{materia_em_tramitacao.materia.numero}}/{{materia_em_tramitacao.materia.ano}} +
+ + Data de Fim de Prazo: {{materia_em_tramitacao.tramitacao.data_fim_prazo}} + +
- {{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 %} + +
+ Local Atual: {{ materia_em_tramitacao.materia.tramitacao_set.first.unidade_tramitacao_destino }} +
+ Status: {{ materia_em_tramitacao.materia.tramitacao_set.first.status }} +
+ Texto da Ação: {{ materia_em_tramitacao.materia.tramitacao_set.first.texto }} +
+ {% endif %}
{{materia.ementa}}

Nenhuma matéria encontrada com esses parâmetros.