Improved data ordering in requests and addes ac types CAP10

This commit is contained in:
2025-12-01 14:23:46 +01:00
parent af62bf843c
commit a31798d0b0
8 changed files with 72 additions and 20 deletions

View File

@@ -27,7 +27,7 @@ class MissionProfileResource(ModelResource):
def before_import_row(self, row: dict[str, str | Any], **kwargs):
row["mtype"] = SafeText(row["mtype"].upper().strip())
row["mnum"] = SafeText(row["mnum"].upper().strip())
h, m, _ = row["duration"].split(":")
h, m, _ = SafeText(row["duration"].split(":"))
row["duration"] = timedelta(hours=float(h), minutes=float(m))
super().before_import_row(row, **kwargs)
@@ -46,9 +46,13 @@ class MissionProfileAdmin(ImportMixin, AdminActionFormsMixin, admin.ModelAdmin):
list_display = ("mtype", "mnum", "assigned_aircrafts", "duration", "notes", )
list_filter = ("mtype", )
actions = ("assign_aircraft", )
resource_classes = [MissionProfileResource]
tmp_storage_class = CacheStorage
skip_admin_log = True
def get_queryset(self, request: HttpRequest) -> QuerySet[MissionProfile]:
return super().get_queryset(request).order_by("mtype", "mnum")
@action_with_form(ChangeAircraftForm, description="Assign Aircraft")
def assign_aircraft(self, request: HttpRequest, queryset: QuerySet[MissionProfile], data: Dict[str, QuerySet[Aircraft]]):
ac_types = [t.type for t in data["aircrafts"]]
@@ -63,7 +67,7 @@ class MissionProfileAdmin(ImportMixin, AdminActionFormsMixin, admin.ModelAdmin):
mix.aircrafts.add(ac)
mix.save()
i += 1
messages.success(request, f"{i} Students updated to {ac_types}")
messages.success(request, f"{i} Missions updated to {ac_types}")
@admin.display(description="Assigned Aircrafts")
def assigned_aircrafts(self, obj: MissionProfile) -> SafeText: