Added instructor model, admin and basic actions
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
from django.db.models.query import QuerySet, Q
|
||||
|
||||
from ..models.instructors import Instructor
|
||||
from ..models.students import Student
|
||||
from ..models.missions import MissionProfile
|
||||
from ..models.aircrafts import Aircraft, AircraftTypes
|
||||
|
||||
from typing import List, Dict, Tuple
|
||||
|
||||
def assign_aircraft(queryset: QuerySet[Student] | QuerySet[MissionProfile], data: Dict[str, List[AircraftTypes]]) -> Tuple[int, List[str]]:
|
||||
def assign_aircraft(queryset: QuerySet[Student] | QuerySet[MissionProfile] | QuerySet[Instructor], data: Dict[str, List[AircraftTypes]]) -> Tuple[int, List[str]]:
|
||||
i: int = 0
|
||||
ac_types: List[AircraftTypes] = data["aircrafts"]
|
||||
ac_query: Q = Q() # Build an or query to select all aircrafts of the specified types
|
||||
|
||||
20
cntmanage/flightslot/actions/assign_profile.py
Normal file
20
cntmanage/flightslot/actions/assign_profile.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from django.db.models.query import QuerySet, Q
|
||||
from ..models.instructors import Instructor
|
||||
from ..models.missions import MissionProfile, MissionTypes
|
||||
|
||||
from typing import List, Dict, Tuple
|
||||
|
||||
def assign_profile(queryset: QuerySet[Instructor], data: Dict[str, List[MissionTypes]]) -> Tuple[int, List[str]]:
|
||||
i: int = 0
|
||||
mix_types: List[MissionTypes] = data["mission_profiles"]
|
||||
mix_query: Q = Q() # Build an or query to select all aircrafts of the specified types
|
||||
for m in mix_types:
|
||||
mix_query |= Q(mtype=m)
|
||||
profiles: QuerySet[MissionProfile] = MissionProfile.objects.filter(mix_query).all() # Execute query
|
||||
for obj in queryset:
|
||||
obj.missions.clear()
|
||||
for ac in profiles:
|
||||
obj.missions.add(ac)
|
||||
obj.save()
|
||||
i += 1
|
||||
return i, [m for m in mix_types]
|
||||
Reference in New Issue
Block a user