Added archive field. Set during rollover or when end date is removed

This commit is contained in:
John Mullins
2023-08-29 14:18:48 +10:00
parent 90e8c22423
commit 4eb2909a16
2 changed files with 13 additions and 3 deletions
+12 -3
View File
@@ -1,5 +1,6 @@
import csv
from django.contrib.admin import DateFieldListFilter
from django.forms import widgets
from django.contrib import admin
from django.http import HttpResponse
@@ -124,8 +125,8 @@ class TravellerRouteInline(admin.TabularInline):
@admin.register(Traveller)
class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin):
list_display = ["first_name", "last_name", "school", "year_level", "residential_address", "residential_suburb"]
list_filter = ["school", "eligibility_status", "bus_stops__bus", "residential_suburb"]
list_display = ["first_name", "last_name", "school", "year_level", "residential_address", "residential_suburb", "travel_start_date", "travel_end_date"]
list_filter = ["school", "eligibility_status", "bus_stops__bus", "residential_suburb", ("travel_end_date", DateFieldListFilter), "is_archived"]
search_fields = ["first_name", "last_name", "residential_address"]
cloneable_fields = ["last_name", "residential_address", "residential_suburb",
"postal_address", "postal_suburb", "eligibility_status", "shuttle",
@@ -135,7 +136,7 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
"emergency_contact_A_relation", "emergency_contact_B_firstname", "emergency_contact_B_lastname",
"emergency_contact_B_phone", "emergency_contact_B_relation"]
inlines = [TravellerRouteInline]
readonly_fields = ["fare_paying", "created_on", "last_edit"]
readonly_fields = ["fare_paying", "created_on", "last_edit", "is_archived"]
fieldsets = [
(None, {
'fields': [
@@ -173,6 +174,7 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
"seat_number",
"created_on",
"last_edit",
"is_archived",
]
}),
('Adult Contacts', {
@@ -205,6 +207,13 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
def yearly_rollover(self, request, queryset):
pass
def save_model(self, request, obj, form, change):
print("Saving")
if obj.is_archived and obj.travel_end_date is None:
obj.is_archived = False
print("Pulling out of archive")
super().save_model(request, obj, form, change)
@admin.register(TravellerRoute)
class TravellerRouteAdmin(MyImportExportModelAdmin, admin.ModelAdmin):
+1
View File
@@ -228,6 +228,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()
notes = models.TextField(blank=True, verbose_name='Admin Notes')
shuttle = models.ForeignKey(Shuttle, on_delete=models.SET_NULL, blank=True, null=True)