diff --git a/access/views.py b/access/views.py index 23d52c3..7a0087c 100644 --- a/access/views.py +++ b/access/views.py @@ -246,6 +246,8 @@ class UpdateProgress(APIView): """ lesson_token = request.JSON.get('lesson_token', None) course_token = request.JSON.get('course_token', None) + comment = request.JSON.get('comment', None) + if lesson_token is None or course_token is None: return Response('Не передан слаг курса или токен урока', status=400) try: @@ -263,7 +265,13 @@ class UpdateProgress(APIView): progress=p, lesson_token=lesson_token, ) - pv.status = ProgressLesson.STATUSES.done + + if not comment is None: + pv.comment_tokens.append(comment) + + else: + pv.status = ProgressLesson.STATUSES.done + pv.save() return Response(ProgressLessonSerializer(pv).data, status=200) diff --git a/config_app/management/commands/set_seq.py b/config_app/management/commands/set_seq.py index 59859e9..c1b927d 100644 --- a/config_app/management/commands/set_seq.py +++ b/config_app/management/commands/set_seq.py @@ -1,6 +1,6 @@ from django.contrib.contenttypes.models import ContentType -from django.core.management.base import BaseCommand, CommandError -from django.db import connection +from django.core.management.base import BaseCommand +from django.db import connection, ProgrammingError, InternalError from lms.settings import apps @@ -10,13 +10,13 @@ class Command(BaseCommand): def handle(self, **_): with connection.cursor() as cursor: for i in ContentType.objects.all(): - if i.app_label in apps: + if i.app_label in apps and not i.model_class().objects.count() == 0: model_name = "%s_%s" % (i.app_label, i.model) cursor.execute('BEGIN') cursor.execute('LOCK TABLE %s IN EXCLUSIVE MODE' % model_name) cursor.execute( - """SELECT setval('%s_id_seq', COALESCE( - (SELECT MAX(id)+1 FROM %s), 1) ,false - )""" % (model_name, model_name) + """SELECT setval('%s_id_seq', COALESCE( + (SELECT MAX(id)+1 FROM %s), 1) ,false + )""" % (model_name, model_name) ) cursor.execute('COMMIT') \ No newline at end of file diff --git a/storage/api.py b/storage/api.py index 514f9d5..2b80a8b 100644 --- a/storage/api.py +++ b/storage/api.py @@ -10,6 +10,7 @@ def upload_file(original=None, name=None, base64=None, **_kwargs) -> File: if name: new_file.name = name new_file.save() + return new_file diff --git a/storage/models.py b/storage/models.py index bdc363d..658b88a 100755 --- a/storage/models.py +++ b/storage/models.py @@ -25,7 +25,7 @@ class File(models.Model): objects = FileManager() def __str__(self): - return '%s' % self.original + return '%s %s' % (self.name or "Без имени", self.original) class Meta: verbose_name = 'Файл' diff --git a/storage/serializers.py b/storage/serializers.py index 389c12b..13f5c70 100644 --- a/storage/serializers.py +++ b/storage/serializers.py @@ -21,7 +21,7 @@ class CommentSerializer(serializers.ModelSerializer): class Meta: model = Comment - exclude = ('id', 'token',) + exclude = ('id',) @staticmethod def get_files(self): diff --git a/storage/views.py b/storage/views.py index 95b11e4..30e582f 100644 --- a/storage/views.py +++ b/storage/views.py @@ -37,9 +37,7 @@ class CommentView(APIView): files = request.JSON.get('files', []) if user_key: - print(user_key) comment = add_comment(text=text, out_key=user_key, files=files) - print(comment) return Response(CommentSerializer(comment).data, status=200) return Response("user_token mast be set", status=400)