Skip to content
Snippets Groups Projects
Commit 63bdf537 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Fix sync of published status

parent 0f6c8e7f
No related branches found
No related tags found
1 merge request!2Resolve "Frontend for Models"
......@@ -314,7 +314,7 @@ class Lesson(TeacherPropertiesMixin, RoomPropertiesMixin, ExtensibleModel):
lesson_event.subject = self.subject
lesson_event.datetime_start = datetime_start
lesson_event.datetime_end = datetime_end
lesson_event.published = self.break_slot.time_grid.validity_range.published
lesson_event.published = self.slot_start.time_grid.validity_range.published
if self.recurrence:
lesson_event.recurrences = deepcopy(self.recurrence)
......
from django.db.models import Q
import logging
......@@ -37,13 +38,15 @@ def create_time_grid_for_new_validity_range(sender, instance, created, **kwargs)
def publish_validity_range(sender, instance, created, **kwargs):
from aleksis.apps.chronos.models import LessonEvent
from aleksis.apps.chronos.models import LessonEvent, SupervisionEvent
# The sync methods of lessons and supervisions would do the same thing
# but they would be much more slower than this single update query
LessonEvent.objects.filter(
Q(lesson__slot_start__time_grid__validity_range=instance)
| Q(supervision__break_slot__time_grid__validity_range=instance)
| Q(substitution__lesson__slot_start__time_grid__validity_range=instance)
).update(published=instance.published)
SupervisionEvent.objects.filter(
Q(supervision__break_slot__time_grid__validity_range=instance)
| Q(supervision_substitution__supervision__break_slot__time_grid__validity_range=instance)
).update(published=instance.published)
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