Изменение процедуры формирования карты после сохранения урока/дз/экзамена

remotes/origin/pm_task_31703
Evgeniy Shabanov 8 years ago
parent f6ecbdedf6
commit 105038f402
  1. 24
      courses/models.py

@ -407,7 +407,10 @@ class Lesson(models.Model):
video = gen_vzaar_bb(self.video_id)
if video:
self.video = video
must_rebuild_map = False
if Lesson.objects.filter(theme=self.theme, sort=self.sort).exclude(id=self.id).exists():
# Обновить текущий урок с новым порядком, не вызывая при этом метод save()
Lesson.objects.filter(id=self.id).update(sort=self.sort)
# Переформировать порядок
test_in = self.sort + 1
for lesson in Lesson.objects.filter(theme=self.theme, sort__gte=self.sort).exclude(id=self.id):
@ -415,8 +418,11 @@ class Lesson(models.Model):
lesson.sort = test_in
lesson.save()
test_in += 1
self.token = self.course.build_map(material=self)
must_rebuild_map = True
super(Lesson, self).save(*args, **kwargs)
# Переформировать карту после сохранения текущего урока
if must_rebuild_map:
self.course.build_map()
class Meta:
verbose_name = u'Урок'
@ -474,7 +480,10 @@ class Homework(models.Model):
return result
def save(self, *args, **kwargs):
must_rebuild_map = False
if Homework.objects.filter(theme=self.theme, sort=self.sort).exclude(id=self.id).exists():
# Обновить текущее дз с новым порядком, не вызывая при этом метод save()
Homework.objects.filter(id=self.id).update(sort=self.sort)
# Переформировать порядок
test_in = self.sort + 1
for homework in Homework.objects.filter(theme=self.theme, sort__gte=self.sort).exclude(id=self.id):
@ -482,8 +491,11 @@ class Homework(models.Model):
homework.sort = test_in
homework.save()
test_in += 1
self.token = self.course.build_map(material=self)
must_rebuild_map = True
super(Homework, self).save(*args, **kwargs)
# Переформировать карту после сохранения текущего дз
if must_rebuild_map:
self.course.build_map()
class Meta:
verbose_name = u'Добашнее задание'
@ -541,7 +553,10 @@ class Exam(models.Model):
return self.theme.get_title()
def save(self, *args, **kwargs):
must_rebuild_map = False
if Exam.objects.filter(theme=self.theme, sort=self.sort).exclude(id=self.id).exists():
# Обновить текущий экзамен с новым порядком, не вызывая при этом метод save()
Exam.objects.filter(id=self.id).update(sort=self.sort)
# Переформировать порядок
test_in = self.sort + 1
for exam in Exam.objects.filter(theme=self.theme, sort__gte=self.sort).exclude(id=self.id):
@ -549,8 +564,11 @@ class Exam(models.Model):
exam.sort = test_in
exam.save()
test_in += 1
self.token = self.course.build_map(material=self)
must_rebuild_map = True
super(Exam, self).save(*args, **kwargs)
# Переформировать карту после сохранения текущего экзамена
if must_rebuild_map:
self.course.build_map()
class Meta:
verbose_name = u'Экзамен'

Loading…
Cancel
Save