Skip to content
Snippets Groups Projects
Verified Commit 96c09d5a authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Load data checks from related models instead of using a custom registry

parent d1d30c65
No related branches found
No related tags found
Loading
Pipeline #5035 passed
......@@ -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")
......
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment