Show only mission correct for student phase, add only one preference per week

This commit is contained in:
2025-12-04 14:51:52 +01:00
parent b8f4331d3b
commit cdf7e7c677
4 changed files with 42 additions and 16 deletions

View File

@@ -15,7 +15,7 @@ from .training_adm import TrainingInLIne
from .hourbuilding_adm import HourBuildingInLine
from ..custom.colortag import course_color
from ..custom.student_permissions import has_edit_permission
from ..custom.student_permissions import has_edit_permission, has_week_add_permission
from ..actions.exportweek import export_selected
from datetime import date
@@ -93,7 +93,7 @@ class WeekPreferenceAdmin(nested_admin.NestedPolymorphicModelAdmin):
# If user is a student deny edit permission for week past the current one
def has_add_permission(self, request: HttpRequest, obj: WeekPreference | None = None) -> bool:
return not obj and self.has_change_permission(request, obj)
return has_week_add_permission(request=request) and has_edit_permission(request=request, obj=obj)
# If user is a student deny edit permission for week past the current one
def has_delete_permission(self, request: HttpRequest, obj: WeekPreference | None = None)-> bool:
@@ -110,7 +110,7 @@ class WeekPreferenceAdmin(nested_admin.NestedPolymorphicModelAdmin):
extra_context["show_delete"] = False
return super().changeform_view(request, object_id, form_url, extra_context)
def save_model(self, request: HttpRequest, obj, form: Form, change: bool):
def save_model(self, request: HttpRequest, obj: WeekPreference, form: Form, change: bool):
# Imposta automaticamente lo studente se non è già valorizzato
if hasattr(request.user, "student") and not obj.student_id:
obj.student = request.user.student