From 1235229a739d947499b6d5a3c9faa6b4060d9d09 Mon Sep 17 00:00:00 2001 From: Ulysses Date: Thu, 22 Aug 2019 16:09:32 -0300 Subject: [PATCH] Adicionando vigencia no filtro de normas Fix #2896 --- sapl/norma/forms.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sapl/norma/forms.py b/sapl/norma/forms.py index 128bdbf49..e4c60e392 100644 --- a/sapl/norma/forms.py +++ b/sapl/norma/forms.py @@ -58,6 +58,8 @@ class NormaFilterSet(django_filters.FilterSet): assuntos = django_filters.ModelChoiceFilter( queryset=AssuntoNorma.objects.all()) + vigencia = django_filters.BooleanFilter(label='VigĂȘncia',method='filter_vigencia') + o = NormaPesquisaOrderingFilter(help_text='') class Meta(FilterOverridesMetaMixin): @@ -71,7 +73,7 @@ class NormaFilterSet(django_filters.FilterSet): row1 = to_row([('tipo', 4), ('numero', 4), ('ano', 4)]) row2 = to_row([('ementa', 6), ('assuntos', 6)]) row3 = to_row([('data', 6), ('data_publicacao', 6)]) - row4 = to_row([('data_vigencia', 12)]) + row4 = to_row([('data_vigencia', 10),('vigencia',2)]) row5 = to_row([('o', 4), ('indexacao', 4), ('apelido', 4)]) self.form.helper = SaplFormHelper() @@ -89,6 +91,16 @@ class NormaFilterSet(django_filters.FilterSet): q &= Q(ementa__icontains=t) return queryset.filter(q) + + def filter_vigencia(self, queryset, name, value): + data_atual = timezone.now() + if value: + queryset = queryset.filter(Q(data_vigencia__lt=data_atual) | Q(data_vigencia__isnull=True)) + else: + queryset = queryset.filter(data_vigencia__gt=data_atual) + + return queryset + class NormaJuridicaForm(FileFieldCheckMixin, ModelForm):