diff --git a/courses/models.py b/courses/models.py index adeeae6..288d2fe 100755 --- a/courses/models.py +++ b/courses/models.py @@ -666,6 +666,14 @@ class CourseMap(models.Model): return _next._type, _next.get_obj() + def get_lesson_before(self): + try: + _before = CourseMap.objects.get(course=self.course, sort=self.sort - 2) + except CourseMap.DoesNotExist: + _before = CourseMap.objects.get(course=self.course, sort=0) + + return _before._type, _before.get_obj() + def get_before(self): try: _next = CourseMap.objects.get(course=self.course, sort=self.sort - 1) diff --git a/journals/models.py b/journals/models.py index 27e9705..8c22374 100755 --- a/journals/models.py +++ b/journals/models.py @@ -563,16 +563,19 @@ class LessonJ(models.Model): except CourseMap.DoesNotExist: _before = CourseMap.objects.get(token=self.material.course.build_map(material=self.material)) _type, _before = _before.get_before() + if _type == 'L': obj = LessonJ elif _type == 'H': - obj = HomeworkJ + _before = CourseMap.objects.get(token=_before.token) + _type, _before = _before.get_lesson_before() + obj = LessonJ elif _type == 'E': obj = ExamJ j = obj.objects.get(material=_before, student=self.student) - if self.success: - j.open_material() + if j.success: + self.open_material() return {'button': search_in_collection(BUTTON_TYPE, 'flag', 'A',