Browse Source

Fix #2631 (#2654)

* Fix #2631

* Apresentar erro - datas não preenchidas

* Melhora construção de not_list
pull/2655/head
Victor Fabre 6 years ago
committed by Edward
parent
commit
8b133e1106
  1. 4
      sapl/materia/forms.py
  2. 19
      sapl/materia/views.py

4
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')))

19
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)

Loading…
Cancel
Save