|
|
@ -70,8 +70,16 @@ class RelatorioDocumentosAcessoriosFilterSet(django_filters.FilterSet): |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
class RelatorioVotacoesNominaisFilterSet(django_filters.FilterSet): |
|
|
|
def ordem_or_expediente(queryset, name, value): |
|
|
|
if value is None: |
|
|
|
return queryset |
|
|
|
value = getattr(value, "pk", value) |
|
|
|
ordem_q = f"ordem__materia__{name}" |
|
|
|
expediente_q = f"expediente__materia__{name}" |
|
|
|
return queryset.filter(Q(**{ordem_q: value}) | Q(**{expediente_q: value})) |
|
|
|
|
|
|
|
|
|
|
|
class RelatorioVotacoesNominaisFilterSet(django_filters.FilterSet): |
|
|
|
tipo_id = django_filters.ModelChoiceFilter( |
|
|
|
queryset=TipoMateriaLegislativa.objects.all(), |
|
|
|
method='ordem_or_expediente', |
|
|
@ -90,15 +98,6 @@ class RelatorioVotacoesNominaisFilterSet(django_filters.FilterSet): |
|
|
|
label='Ano da Matéria' |
|
|
|
) |
|
|
|
|
|
|
|
def ordem_or_expediente(self, queryset, name, value): |
|
|
|
if value is None: |
|
|
|
return queryset |
|
|
|
value = getattr(value, "pk", value) |
|
|
|
ordem_q = f"ordem__materia__{name}" |
|
|
|
expediente_q = f"expediente__materia__{name}" |
|
|
|
return queryset.filter(Q(**{ordem_q: val})|Q(**{expediente_q: val})) |
|
|
|
return queryset |
|
|
|
|
|
|
|
class Meta(FilterOverridesMetaMixin): |
|
|
|
model = RegistroVotacao |
|
|
|
fields = ['data_hora'] |
|
|
@ -380,7 +379,8 @@ class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet): |
|
|
|
@property |
|
|
|
def qs(self): |
|
|
|
parent = super(RelatorioDataFimPrazoTramitacaoFilterSet, self).qs |
|
|
|
return parent.distinct().prefetch_related('materia__tipo').order_by('tramitacao__data_fim_prazo', 'materia__tipo', 'materia__numero') |
|
|
|
return parent.distinct().prefetch_related('materia__tipo').order_by('tramitacao__data_fim_prazo', |
|
|
|
'materia__tipo', 'materia__numero') |
|
|
|
|
|
|
|
class Meta(FilterOverridesMetaMixin): |
|
|
|
model = MateriaEmTramitacao |
|
|
|