Browse Source

Adiciona opções no filtro de uso. Filtro por daterange do último uso

master 4.0.37
Sesóstris Vieira 1 week ago
parent
commit
5e50b2ef7a
  1. 1
      sigi/apps/servicos/admin.py
  2. 16
      sigi/apps/servicos/filters.py

1
sigi/apps/servicos/admin.py

@ -116,6 +116,7 @@ class ServicoAdmin(ReturnMixin, ExportActionMixin, admin.ModelAdmin):
("data_desativacao", ServicoAtivoFilter),
"resultado_verificacao",
DataUtimoUsoFilter,
("data_ultimo_uso", DateRangeFilterBuilder()),
("casa_legislativa__gerentes_interlegis", GerentesInterlegisFilter),
"casa_legislativa__municipio__uf",
("casa_legislativa__convenio__projeto_id", TipoProjetoFilter),

16
sigi/apps/servicos/filters.py

@ -65,6 +65,10 @@ class DataUtimoUsoFilter(admin.SimpleListFilter):
("month", _("Sem atualização de um a três meses")),
("week", _("Sem atualização de uma semana a um mês")),
("updated", _("Atualizado na última semana")),
("updmonth", _("Atualizado no último mês")),
("updquarter", _("Atualizado no último trimestre")),
("updsemester", _("Atualizado no último semestre")),
("updyear", _("Atualizado no último ano")),
)
def queryset(self, request, queryset):
@ -78,6 +82,18 @@ class DataUtimoUsoFilter(admin.SimpleListFilter):
if self.value() == "updated":
limite = date.today() - timedelta(days=7)
return queryset.filter(data_ultimo_uso__gte=limite)
if self.value() == "updmonth":
limite = date.today() - timedelta(days=30)
return queryset.filter(data_ultimo_uso__gte=limite)
if self.value() == "updquarter":
limite = date.today() - timedelta(days=3 * 30)
return queryset.filter(data_ultimo_uso__gte=limite)
if self.value() == "updsemester":
limite = date.today() - timedelta(days=6 * 30)
return queryset.filter(data_ultimo_uso__gte=limite)
if self.value() == "updyear":
limite = date.today() - timedelta(days=365)
return queryset.filter(data_ultimo_uso__gte=limite)
if self.value() == "semester":
de = date.today() - timedelta(days=365)
ate = date.today() - timedelta(days=6 * 30 + 1)

Loading…
Cancel
Save