Skip to content
Snippets Groups Projects
Commit 22f44bc6 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch 'fix/supervision-substitutions' into 'master'

Fix import of supervision substitutions

See merge request !202
parents 86c9b875 6eb35a86
No related branches found
No related tags found
1 merge request!202Fix import of supervision substitutions
Pipeline #194595 failed
......@@ -5,7 +5,7 @@ from django.utils.translation import gettext as _
from reversion import create_revision, set_comment
from tqdm import tqdm
from aleksis.apps.chronos.models import LessonEvent
from aleksis.apps.chronos.models import LessonEvent, SupervisionEvent
from aleksis.apps.lesrooster.models import ValidityRange
from .... import models as mysql_models
......@@ -140,7 +140,7 @@ def import_events(
extended_data__event_untis__isnull=False,
datetime_start__date__lte=validity_range.date_end,
datetime_end__date__gte=validity_range.date_start,
):
).not_instance_of(SupervisionEvent):
if e.extended_data["event_untis"] not in existing_events:
logger.info(f"Event {e.id} deleted")
with create_revision():
......
......@@ -271,7 +271,7 @@ def import_substitutions(
datetime_end__date__gte=validity_range.date_start,
datetime_start__date__lte=validity_range.date_end,
amends__isnull=False,
)
).not_instance_of(SupervisionEvent)
for s in lesson_substitutions_in_range:
if (
s.extended_data.get("substitution_ref_untis")
......@@ -294,20 +294,22 @@ def import_substitutions(
datetime_end__date__gte=validity_range.date_start,
datetime_start__date__lte=validity_range.date_end,
extended_data__extra_lesson_untis__isnull=False,
):
).not_instance_of(SupervisionEvent):
if s.extended_data["extra_lesson_untis"] not in existing_subs:
logger.info(f"Extra lesson {s.id} deleted")
s.delete()
# Delete all no longer existing supervision substitutions
supervision_substitutions_in_range = LessonEvent.objects.filter(
supervision_substitutions_in_range = SupervisionEvent.objects.filter(
datetime_end__date__gte=validity_range.date_start,
datetime_start__lte=validity_range.date_end,
extended_data__supervision_substitution_ref_untis__isnull=False,
datetime_start__date__lte=validity_range.date_end,
amends__isnull=False,
)
for s in supervision_substitutions_in_range:
if s.extended_data["supervision_substitution_ref_untis"] not in existing_subs:
if (
s.extended_data.get("supervision_substitution_ref_untis")
and s.extended_data["supervision_substitution_ref_untis"] not in existing_subs
):
logger.info(f"Supervision substitution {s.id} deleted")
s.delete()
......
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