Files
catops/techdb/flightslot/admins/training_adm.py
2025-11-18 22:44:16 +01:00

31 lines
999 B
Python

import nested_admin
from django import forms
from django.http import HttpRequest
from ..models.missions import Training
from ..models.weekpref import WeekPreference
from datetime import date
class TrainingForm(forms.ModelForm):
model=Training
class TrainingInLIne(nested_admin.NestedTabularInline):
model = Training
form = TrainingForm
extra = 0
fk_name = 'weekpref'
verbose_name_plural = "Training Missions"
max_num = 7
# If user is a student deny edit permission for week past the current one
def has_change_permission(self, request: HttpRequest, obj: WeekPreference | None = None):
if hasattr(request.user, 'student') and obj:
current_week: int = date.today().isocalendar().week
if current_week > obj.week:
return False
return True
def has_delete_permission(self, request: HttpRequest, obj: WeekPreference | None = None):
return self.has_change_permission(request=request, obj=obj)