From f98fc63e925f55f60ca1a719bb42ae78a111a04a Mon Sep 17 00:00:00 2001 From: Andrey Date: Tue, 7 Nov 2017 12:59:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B8=D0=B3=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=B8=D0=B0=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=20=D0=B4=D0=BE=D0=BC=D0=B0=D1=88=D0=BA=D0=B0?= =?UTF-8?q?=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- courses/serializers.py | 2 +- courses/views.py | 6 ++++-- csv/load_student_teachers_threads.py | 15 +++++++++++++-- finance/migrations/0005_invoice_is_open.py | 20 ++++++++++++++++++++ finance/models.py | 1 + journals/default_threads.py | 10 ++++++++-- storage/migrations/0002_storage_name.py | 20 ++++++++++++++++++++ storage/models.py | 5 +++-- 8 files changed, 70 insertions(+), 9 deletions(-) create mode 100644 finance/migrations/0005_invoice_is_open.py create mode 100644 storage/migrations/0002_storage_name.py diff --git a/courses/serializers.py b/courses/serializers.py index f20bfca..a9c8648 100644 --- a/courses/serializers.py +++ b/courses/serializers.py @@ -67,7 +67,7 @@ class CourseListSerializer(serializers.ModelSerializer): class Meta: model = Course - fields = ['id', 'title', 'statistic', + fields = ['id', 'title', 'statistic', 'public', 'level', 'direction', 'image', 'slug'] @staticmethod diff --git a/courses/views.py b/courses/views.py index 82ac81f..5fe937a 100644 --- a/courses/views.py +++ b/courses/views.py @@ -69,10 +69,12 @@ class CourseListView(APIView): def get(self, request): if request.user.is_authenticated() and request.user.is_staff: - return Response([CourseListSerializer(i).data for i in Course.objects.all()], self.status_code) + course_list = Course.objects.all() + else: + course_list = Course.objects.filter(public=True) res = [] - for course in Course.objects.filter(public=True): + for course in course_list: course_serialize = CourseListSerializer(course).data course_serialize['is_mine'] = False if request.user.is_authenticated() and Progress.objects.filter(course=course, user=request.user).exists(): diff --git a/csv/load_student_teachers_threads.py b/csv/load_student_teachers_threads.py index 2ed5f24..e7a674c 100644 --- a/csv/load_student_teachers_threads.py +++ b/csv/load_student_teachers_threads.py @@ -47,8 +47,19 @@ if __name__ == '__main__': date=row['date'], ) - for file_id in row['files']: - journal.files.add(Storage.objects.get(id=file_id)) + journal_comment = Journal.objects.create( + thread=child_thread, + user=owner, + content_type=ct, + object_id=vertex.id, + action_type=7, + extra_data=row['text'], + date=row['date'], + ) + + for file_id in row['files'].split("[")[1].split("]")[0].split(", "): + if file_id: + journal.files.add(Storage.objects.get(id=file_id)) if is_create: child_thread.parent.add(thread) diff --git a/finance/migrations/0005_invoice_is_open.py b/finance/migrations/0005_invoice_is_open.py new file mode 100644 index 0000000..a647af8 --- /dev/null +++ b/finance/migrations/0005_invoice_is_open.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-11-07 11:04 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('finance', '0004_auto_20171106_1723'), + ] + + operations = [ + migrations.AddField( + model_name='invoice', + name='is_open', + field=models.BooleanField(default=True, verbose_name='Открывает ли платёж курс'), + ), + ] diff --git a/finance/models.py b/finance/models.py index 4a328ae..2674a75 100755 --- a/finance/models.py +++ b/finance/models.py @@ -48,6 +48,7 @@ class Invoice(models.Model): comment = models.TextField(verbose_name='Комментарий продавца', help_text='Будет показано пользователю', blank=True, editable=False) bill = models.ForeignKey(to=Bill, verbose_name="Связный счёт") + is_open = models.BooleanField(default=True, verbose_name="Открывает ли платёж курс") def __str__(self): return '%s:%s %s' % (self.id, self.get_status_display(), self.bill.user) diff --git a/journals/default_threads.py b/journals/default_threads.py index 94998c9..493d81d 100644 --- a/journals/default_threads.py +++ b/journals/default_threads.py @@ -19,6 +19,8 @@ def main_threads(): text='Тред для админов, сюда падают все журналируемые сообщения в системе', is_staff=True, is_recurse=True, + x=500, + y=75, ) admin_thread.groups.add(Group.objects.get(name='admin')) @@ -38,16 +40,18 @@ def main_threads(): text='Тред сапортов, занимаются поддержкой клиента', is_staff=True, is_recurse=True, + y=500, ) support_thread.groups.add(Group.objects.get(name='supports')) - support_thread.parent.add(admin_thread) + support_thread.parent.add(management_thread) lead_managers = Thread.objects.create( key='Sale_lead', text='Тред лидов, сейлзов', is_staff=True, is_recurse=True, + x=700, ) lead_managers.groups.add(Group.objects.get(name='lead_managers')) @@ -58,6 +62,8 @@ def main_threads(): text='Тред сейлзов', is_staff=True, is_recurse=True, + x=700, + y=500, ) managers.groups.add(Group.objects.get(name='managers')) @@ -68,10 +74,10 @@ def main_threads(): text='Тред студентов и учителей', is_staff=True, is_recurse=True, + y=700, ) st_tch.parent.add(support_thread) - st_tch.parent.add(management_thread) if __name__ == '__main__': diff --git a/storage/migrations/0002_storage_name.py b/storage/migrations/0002_storage_name.py new file mode 100644 index 0000000..83fc49a --- /dev/null +++ b/storage/migrations/0002_storage_name.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-11-07 11:11 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('storage', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='storage', + name='name', + field=models.CharField(blank=True, max_length=63, null=True, verbose_name='Видимое имя файла'), + ), + ] diff --git a/storage/models.py b/storage/models.py index 88bcffc..9672ff9 100755 --- a/storage/models.py +++ b/storage/models.py @@ -3,11 +3,12 @@ from django.db import models class Storage(models.Model): - original = models.FileField(verbose_name=u'Файл', upload_to="files") + original = models.FileField(verbose_name='Файл', upload_to="files") + name = models.CharField(max_length=63, null=True, blank=True, verbose_name='Видимое имя файла') def __str__(self): return '%s' % self.original class Meta: verbose_name = 'Файл' - verbose_name_plural = 'Файлы' \ No newline at end of file + verbose_name_plural = 'Файлы'