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 import csv
from django.contrib.admin import DateFieldListFilter
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
@@ -124,8 +125,8 @@ class TravellerRouteInline(admin.TabularInline):
@admin.register(Traveller) @admin.register(Traveller)
class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin): class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin):
list_display = ["first_name", "last_name", "school", "year_level", "residential_address", "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"] list_filter = ["school", "eligibility_status", "bus_stops__bus", "residential_suburb", ("travel_end_date", DateFieldListFilter), "is_archived"]
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",
@@ -135,7 +136,7 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
"emergency_contact_A_relation", "emergency_contact_B_firstname", "emergency_contact_B_lastname", "emergency_contact_A_relation", "emergency_contact_B_firstname", "emergency_contact_B_lastname",
"emergency_contact_B_phone", "emergency_contact_B_relation"] "emergency_contact_B_phone", "emergency_contact_B_relation"]
inlines = [TravellerRouteInline] inlines = [TravellerRouteInline]
readonly_fields = ["fare_paying", "created_on", "last_edit"] readonly_fields = ["fare_paying", "created_on", "last_edit", "is_archived"]
fieldsets = [ fieldsets = [
(None, { (None, {
'fields': [ 'fields': [
@@ -173,6 +174,7 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
"seat_number", "seat_number",
"created_on", "created_on",
"last_edit", "last_edit",
"is_archived",
] ]
}), }),
('Adult Contacts', { ('Adult Contacts', {
@@ -205,6 +207,13 @@ class TravellerAdmin(MyImportExportModelAdmin, CloneModelAdmin, admin.ModelAdmin
def yearly_rollover(self, request, queryset): def yearly_rollover(self, request, queryset):
pass 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) @admin.register(TravellerRoute)
class TravellerRouteAdmin(MyImportExportModelAdmin, admin.ModelAdmin): 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) 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()
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)