centralized student permission in one function

This commit is contained in:
2025-12-01 14:39:09 +01:00
parent a31798d0b0
commit f06f269568
4 changed files with 26 additions and 21 deletions

View File

@@ -8,6 +8,8 @@ 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):
@@ -28,12 +30,7 @@ class TrainingInLIne(nested_admin.NestedTabularInline):
# 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:
if hasattr(request.user, 'student') and obj:
student: Student = request.user.student
current_week: int = date.today().isocalendar().week
if current_week > obj.week or not student.active:
return False
return True
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)