Changed names of is_archived fields
This commit is contained in:
@@ -1,13 +1,14 @@
|
|||||||
import csv
|
import csv
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
from django.contrib.admin import DateFieldListFilter
|
from django.contrib.admin import DateFieldListFilter, BooleanFieldListFilter
|
||||||
from django.forms import widgets
|
from django.forms import widgets
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.html import format_html
|
from django.utils.html import format_html
|
||||||
from django.utils.http import urlencode
|
from django.utils.http import urlencode
|
||||||
|
from django.utils.translation import gettext_lazy
|
||||||
from import_export.admin import ImportExportModelAdmin
|
from import_export.admin import ImportExportModelAdmin
|
||||||
|
|
||||||
from .adminClone import CloneModelAdmin
|
from .adminClone import CloneModelAdmin
|
||||||
@@ -53,6 +54,25 @@ class TravellerRollMixin:
|
|||||||
return response
|
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):
|
class HiddenNowTime(widgets.TimeInput):
|
||||||
pass
|
pass
|
||||||
@@ -134,7 +154,7 @@ class TravellerRouteInline(admin.TabularInline):
|
|||||||
@admin.register(Traveller)
|
@admin.register(Traveller)
|
||||||
class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin, TravellerRollMixin):
|
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_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"]
|
search_fields = ["first_name", "last_name", "residential_address"]
|
||||||
cloneable_fields = ["last_name", "residential_address", "residential_suburb",
|
cloneable_fields = ["last_name", "residential_address", "residential_suburb",
|
||||||
"postal_address", "postal_suburb", "eligibility_status", "shuttle",
|
"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)
|
created_on = models.DateTimeField(auto_now_add=True, blank=True, null=True)
|
||||||
last_edit = models.DateTimeField(auto_now=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')
|
notes = models.TextField(blank=True, verbose_name='Admin Notes')
|
||||||
shuttle = models.ForeignKey(Shuttle, on_delete=models.SET_NULL, blank=True, null=True)
|
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}"
|
return f"{self.first_name} {self.last_name}"
|
||||||
|
|
||||||
def is_active(self):
|
def is_active(self):
|
||||||
|
if self.is_archived:
|
||||||
|
return False
|
||||||
if not self.travel_end_date:
|
if not self.travel_end_date:
|
||||||
return True
|
return True
|
||||||
return datetime(self.travel_end_date.year, self.travel_end_date.month, self.travel_end_date.day) < datetime.today()
|
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