diff --git a/aleksis/apps/alsijil/data_checks.py b/aleksis/apps/alsijil/data_checks.py index a6bd822a3731553e01d982687af367e0f165e7be..97062cc54712051d9db8a6b1f8eaa9a4e44b60e0 100644 --- a/aleksis/apps/alsijil/data_checks.py +++ b/aleksis/apps/alsijil/data_checks.py @@ -5,7 +5,7 @@ from django.db.models.query_utils import Q from django.utils.translation import gettext as _ from aleksis.apps.chronos.util.date import week_weekday_to_date -from aleksis.core.data_checks import DATA_CHECK_REGISTRY, DataCheck, IgnoreSolveOption, SolveOption +from aleksis.core.data_checks import DataCheck, IgnoreSolveOption, SolveOption class DeleteRelatedObjectSolveOption(SolveOption): @@ -41,7 +41,6 @@ class ResetPersonalNoteSolveOption(SolveOption): check_result.delete() -@DATA_CHECK_REGISTRY.register class NoPersonalNotesInCancelledLessonsDataCheck(DataCheck): name = "no_personal_notes_in_cancelled_lessons" verbose_name = _("Ensure that there are no personal notes in cancelled lessons") @@ -66,7 +65,6 @@ class NoPersonalNotesInCancelledLessonsDataCheck(DataCheck): cls.register_result(note) -@DATA_CHECK_REGISTRY.register class NoGroupsOfPersonsSetInPersonalNotesDataCheck(DataCheck): name = "no_groups_of_persons_set_in_personal_notes" verbose_name = _("Ensure that 'groups_of_person' is set for every personal note") @@ -88,7 +86,6 @@ class NoGroupsOfPersonsSetInPersonalNotesDataCheck(DataCheck): cls.register_result(note) -@DATA_CHECK_REGISTRY.register class LessonDocumentationOnHolidaysDataCheck(DataCheck): """Checks for lesson documentation objects on holidays. @@ -123,7 +120,6 @@ class LessonDocumentationOnHolidaysDataCheck(DataCheck): cls.register_result(doc) -@DATA_CHECK_REGISTRY.register class PersonalNoteOnHolidaysDataCheck(DataCheck): """Checks for personal note objects on holidays. @@ -158,7 +154,6 @@ class PersonalNoteOnHolidaysDataCheck(DataCheck): cls.register_result(note) -@DATA_CHECK_REGISTRY.register class ExcusesWithoutAbsences(DataCheck): name = "excuses_without_absences" verbose_name = _("Ensure that there are no excused personal notes without an absence") diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index b7d974572d3e0cfce4324ab96b4cc8494c198038..dc92c009fcb7fa2e40d90e66f0878bdee552b61e 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -5,6 +5,13 @@ from django.utils.translation import gettext_lazy as _ from calendarweek import CalendarWeek +from aleksis.apps.alsijil.data_checks import ( + ExcusesWithoutAbsences, + LessonDocumentationOnHolidaysDataCheck, + NoGroupsOfPersonsSetInPersonalNotesDataCheck, + NoPersonalNotesInCancelledLessonsDataCheck, + PersonalNoteOnHolidaysDataCheck, +) from aleksis.apps.alsijil.managers import PersonalNoteManager from aleksis.apps.chronos.mixins import WeekRelatedMixin from aleksis.apps.chronos.models import LessonPeriod @@ -46,6 +53,13 @@ class PersonalNote(ExtensibleModel, WeekRelatedMixin): and remarks about a student in a single lesson period. """ + data_checks = [ + NoPersonalNotesInCancelledLessonsDataCheck, + NoGroupsOfPersonsSetInPersonalNotesDataCheck, + PersonalNoteOnHolidaysDataCheck, + ExcusesWithoutAbsences, + ] + objects = PersonalNoteManager() person = models.ForeignKey("core.Person", models.CASCADE, related_name="personal_notes") @@ -126,6 +140,8 @@ class LessonDocumentation(ExtensibleModel, WeekRelatedMixin): Non-personal, includes the topic and homework of the lesson. """ + data_checks = [LessonDocumentationOnHolidaysDataCheck] + week = models.IntegerField() year = models.IntegerField(verbose_name=_("Year"), default=get_current_year)