Added archive field. Set during rollover or when end date is removed
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user