Files
catops/cntmanage/flightslot/admins/training_adm.py

40 lines
1.4 KiB
Python

import nested_admin
from django import forms
from django.db import models
from django.forms import TextInput, Textarea
from django.http import HttpRequest
from ..models.students import Student
from ..models.missions import Training
from ..models.weekpref import WeekPreference
from ..custom.student_permissions import has_edit_permission
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
formfield_overrides = {
models.CharField: {'widget': TextInput(attrs={'size':'20'})},
models.TextField: {'widget': Textarea(attrs={'rows':4, 'cols':35})},
}
# 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) -> bool:
return has_edit_permission(request=request, obj=obj)
def has_delete_permission(self, request: HttpRequest, obj: WeekPreference | None = None) -> bool:
return self.has_change_permission(request=request, obj=obj)
def has_add_permission(self, request: HttpRequest, obj: WeekPreference | None = None) -> bool:
return self.has_change_permission(request=request, obj=obj)