feature/fix_generate_pass
Andrey 8 years ago
parent 5c2a9d33cc
commit 005c962ae3
  1. 9
      access/serializers.py
  2. 18
      courses/api.py
  3. 6
      courses/models.py
  4. 2
      progress/serializers.py

@ -79,7 +79,8 @@ class UserSearchSerializer(serializers.ModelSerializer):
class Meta:
model = get_user_model()
fields = ('photo', 'out_key', 'email', 'first_name', 'last_name', 'phone', 'pay', 'last_request')
fields = ('photo', 'out_key', 'email', 'first_name',
'last_name', 'phone', 'pay', 'last_request')
@staticmethod
def get_phone(self):
@ -91,7 +92,11 @@ class UserSearchSerializer(serializers.ModelSerializer):
@staticmethod
def get_photo(self):
return self.account.photo.url
try:
url = self.account.photo.url
except ValueError:
url = None
return url
@staticmethod
def get_last_request(self):

@ -14,7 +14,6 @@ class InApiTeacher:
course = Course.objects.get(slug=slug)
course.teacher_tokens.remove(token)
course.save()
return None
@staticmethod
def get_token_list(slug: str) -> list:
@ -27,3 +26,20 @@ class CourseProgressApi:
def get_topic_lesson(course_token: str):
course = Course.objects.get(token=course_token)
return [[lesson.token for lesson in topic.lesson_set.all()] for topic in course.topic_set.all()]
@staticmethod
def get_next(course_token: str, lesson_list: list):
"""
:param course_token:
:param lesson_list:
:return: следующий урок для прохождения и требует ли он валидации
"""
course = Course.objects.get(token=course_token)
acc = None
for lesson in course.get_lesson_list():
if not lesson.token in lesson_list:
acc = (lesson.token, lesson.is_hm)
break
return acc

@ -91,6 +91,12 @@ class Course(models.Model):
'task_count': sum([topic.lesson_set.count() for topic in self.topic_set.all()])
}
def get_lesson_list(self) -> list:
lesson_list = []
for topic in self.topic_set.all():
lesson_list += list(topic.lesson_set.all())
return lesson_list
objects = CourseManager()
class Meta:

@ -41,4 +41,4 @@ class ProgressLessonSerializer(serializers.ModelSerializer):
@staticmethod
def get_teacher(self):
return self.teacher.get_full_name()
return self.checker.get_full_name()
Loading…
Cancel
Save