From bd0ae76f7562554782363e856de10afd3c8ba5a0 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sat, 26 Dec 2020 19:44:45 +0100 Subject: [PATCH] Simplify registering of data check results by adding a dedicated method --- aleksis/apps/alsijil/data_checks.py | 36 ++++------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/aleksis/apps/alsijil/data_checks.py b/aleksis/apps/alsijil/data_checks.py index 2b9834a3c..f454a6b1e 100644 --- a/aleksis/apps/alsijil/data_checks.py +++ b/aleksis/apps/alsijil/data_checks.py @@ -56,12 +56,8 @@ class NoPersonalNotesInCancelledLessonsDataCheck(DataCheck): @classmethod def check_data(cls): - from aleksis.core.models import DataCheckResult - from .models import PersonalNote - ct = ContentType.objects.get_for_model(PersonalNote) - personal_notes = PersonalNote.objects.filter( lesson_period__substitutions__cancelled=True, lesson_period__substitutions__week=F("week"), @@ -70,9 +66,7 @@ class NoPersonalNotesInCancelledLessonsDataCheck(DataCheck): for note in personal_notes: logging.info(f"Check personal note {note}") - result = DataCheckResult.objects.get_or_create( - check=cls.name, content_type=ct, object_id=note.id - ) + cls.register_result(note) @DATA_CHECK_REGISTRY.register @@ -88,19 +82,13 @@ class NoGroupsOfPersonsSetInPersonalNotesDataCheck(DataCheck): @classmethod def check_data(cls): - from aleksis.core.models import DataCheckResult - from .models import PersonalNote - ct = ContentType.objects.get_for_model(PersonalNote) - personal_notes = PersonalNote.objects.filter(groups_of_person__isnull=True) for note in personal_notes: logging.info(f"Check personal note {note}") - result = DataCheckResult.objects.get_or_create( - check=cls.name, content_type=ct, object_id=note.id - ) + cls.register_result(note) @DATA_CHECK_REGISTRY.register @@ -121,11 +109,9 @@ class LessonDocumentationOnHolidaysDataCheck(DataCheck): @classmethod def check_data(cls): from aleksis.apps.chronos.models import Holiday - from aleksis.core.models import DataCheckResult from .models import LessonDocumentation - ct = ContentType.objects.get_for_model(LessonDocumentation) holidays = list(Holiday.objects.all()) documentations = LessonDocumentation.objects.filter( @@ -137,9 +123,7 @@ class LessonDocumentationOnHolidaysDataCheck(DataCheck): day = week_weekday_to_date(doc.calendar_week, doc.lesson_period.period.weekday) if len(list(filter(lambda h: h.date_start <= day <= h.date_end, holidays))) > 0: logging.info(" ... on holidays") - result = DataCheckResult.objects.get_or_create( - check=cls.name, content_type=ct, object_id=doc.id - ) + cls.register_result(doc) @DATA_CHECK_REGISTRY.register @@ -160,11 +144,9 @@ class PersonalNoteOnHolidaysDataCheck(DataCheck): @classmethod def check_data(cls): from aleksis.apps.chronos.models import Holiday - from aleksis.core.models import DataCheckResult from .models import PersonalNote - ct = ContentType.objects.get_for_model(PersonalNote) holidays = list(Holiday.objects.all()) personal_notes = PersonalNote.objects.filter( @@ -176,9 +158,7 @@ class PersonalNoteOnHolidaysDataCheck(DataCheck): day = week_weekday_to_date(note.calendar_week, note.lesson_period.period.weekday) if len(list(filter(lambda h: h.date_start <= day <= h.date_end, holidays))) > 0: logging.info(" ... on holidays") - result = DataCheckResult.objects.get_or_create( - check=cls.name, content_type=ct, object_id=note.id - ) + cls.register_result(note) @DATA_CHECK_REGISTRY.register @@ -193,16 +173,10 @@ class ExcusesWithoutAbsences(DataCheck): @classmethod def check_data(cls): - from aleksis.core.models import DataCheckResult - from .models import PersonalNote - ct = ContentType.objects.get_for_model(PersonalNote) - personal_notes = PersonalNote.objects.filter(excused=True, absent=False) for note in personal_notes: logging.info(f"Check personal note {note}") - result = DataCheckResult.objects.get_or_create( - check=cls.name, content_type=ct, object_id=note.id - ) + cls.register_result(note) -- GitLab