From d4d28d8a3423ae73e708bed2073b2658125dff95 Mon Sep 17 00:00:00 2001 From: Victor Fabre Date: Mon, 25 Mar 2019 15:57:40 -0300 Subject: [PATCH] Fix #2631 (#2654) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix #2631 * Apresentar erro - datas não preenchidas * Melhora construção de not_list --- sapl/materia/forms.py | 4 +--- sapl/materia/views.py | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index e5caec886..4b75e134a 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -1151,8 +1151,6 @@ class AnexadaEmLoteFilterSet(django_filters.FilterSet): self.filters['tipo'].label = 'Tipo de Matéria' self.filters['data_apresentacao'].label = 'Data (Inicial - Final)' - self.form.fields['tipo'].required = True - self.form.fields['data_apresentacao'].required = True row1 = to_row([('tipo', 12)]) row2 = to_row([('data_apresentacao', 12)]) @@ -1160,7 +1158,7 @@ class AnexadaEmLoteFilterSet(django_filters.FilterSet): self.form.helper = SaplFormHelper() self.form.helper.form_method = 'GET' self.form.helper.layout = Layout( - Fieldset(_('Matéria Anexada em Lote'), + Fieldset(_('Pesquisa de Matérias'), row1, row2, form_actions(label='Pesquisar'))) diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 73bf8e7be..696b1235a 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -2065,13 +2065,30 @@ class MateriaAnexadaEmLoteView(PermissionRequiredMixin, FilterView): context['subnav_template_name'] = 'materia/subnav.yaml' context['title'] = _('Matérias Anexadas em Lote') + # Verifica se os campos foram preenchidos - if not self.filterset.form.is_valid(): + if not self.request.GET.get('tipo', " "): + msg =_('Por favor, selecione um tipo de matéria.') + messages.add_message(self.request, messages.ERROR, msg) + + if not self.request.GET.get('data_apresentacao_0', " ") or not self.request.GET.get('data_apresentacao_1', " "): + msg =_('Por favor, preencha as datas.') + messages.add_message(self.request, messages.ERROR, msg) + + return context + + if not self.request.GET.get('data_apresentacao_0', " ") or not self.request.GET.get('data_apresentacao_1', " "): + msg =_('Por favor, preencha as datas.') + messages.add_message(self.request, messages.ERROR, msg) return context qr = self.request.GET.copy() context['object_list'] = context['object_list'].order_by( 'ano', 'numero') + principal = MateriaLegislativa.objects.get(pk=self.kwargs['pk']) + not_list = [self.kwargs['pk']] + \ + [m for m in principal.materia_principal_set.all().values_list('materia_anexada_id', flat=True)] + context['object_list'] = context['object_list'].exclude(pk__in=not_list) context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr)