Changed names of is_archived fields

This commit is contained in:
John Mullins
2023-09-01 12:11:17 +10:00
parent 86c9b13c9a
commit 99530513c1
2 changed files with 25 additions and 3 deletions
+22 -2
View File
@@ -1,13 +1,14 @@
import csv
from datetime import date
from django.contrib.admin import DateFieldListFilter
from django.contrib.admin import DateFieldListFilter, BooleanFieldListFilter
from django.forms import widgets
from django.contrib import admin
from django.http import HttpResponse
from django.urls import reverse
from django.utils.html import format_html
from django.utils.http import urlencode
from django.utils.translation import gettext_lazy
from import_export.admin import ImportExportModelAdmin
from .adminClone import CloneModelAdmin
@@ -53,6 +54,25 @@ class TravellerRollMixin:
return response
class ArchiveFilter(BooleanFieldListFilter):
title = gettext_lazy('Previous Years')
parameter_name = 'is_archived'
def choices(self, changelist):
field_choices = dict(self.field.flatchoices)
for lookup, title in (
(None, gettext_lazy("All")),
("0", field_choices.get(True, gettext_lazy("Current"))),
("1", field_choices.get(False, gettext_lazy("Archived"))),
):
yield {
"selected": self.lookup_val == lookup and not self.lookup_val2,
"query_string": changelist.get_query_string(
{self.lookup_kwarg: lookup}, [self.lookup_kwarg2]
),
"display": title,
}
class HiddenNowTime(widgets.TimeInput):
pass
@@ -134,7 +154,7 @@ class TravellerRouteInline(admin.TabularInline):
@admin.register(Traveller)
class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin, TravellerRollMixin):
list_display = ["first_name", "last_name", "school", "year_level", "residential_address", "residential_suburb", "stop_route", "travel_start_date", "travel_end_date"]
list_filter = ["school", "eligibility_status", "bus_stops__bus", "residential_suburb", ("travel_end_date", DateFieldListFilter), "is_archived"]
list_filter = ["school", "eligibility_status", "bus_stops__bus", "residential_suburb", ("travel_end_date", DateFieldListFilter), ("is_archived", ArchiveFilter)]
search_fields = ["first_name", "last_name", "residential_address"]
cloneable_fields = ["last_name", "residential_address", "residential_suburb",
"postal_address", "postal_suburb", "eligibility_status", "shuttle",
+3 -1
View File
@@ -227,7 +227,7 @@ class Traveller(models.Model):
created_on = models.DateTimeField(auto_now_add=True, blank=True, null=True)
last_edit = models.DateTimeField(auto_now=True, blank=True, null=True)
is_archived = models.BooleanField(default=False)
is_archived = models.BooleanField(default=False, verbose_name="Archived")
notes = models.TextField(blank=True, verbose_name='Admin Notes')
shuttle = models.ForeignKey(Shuttle, on_delete=models.SET_NULL, blank=True, null=True)
@@ -238,6 +238,8 @@ class Traveller(models.Model):
return f"{self.first_name} {self.last_name}"
def is_active(self):
if self.is_archived:
return False
if not self.travel_end_date:
return True
return datetime(self.travel_end_date.year, self.travel_end_date.month, self.travel_end_date.day) < datetime.today()