Changed names of is_archived fields
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user