From fe17bdc2755bb3eb0c1ccbe051267383f2b77417 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Tue, 10 Apr 2018 13:22:07 +0300 Subject: [PATCH] Add live check field & admin for live lesson --- api/v1/serializers/school.py | 10 +++++++++ apps/school/admin.py | 7 +++++- .../migrations/0009_auto_20180410_1019.py | 22 +++++++++++++++++++ apps/school/models.py | 6 ++--- 4 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 apps/school/migrations/0009_auto_20180410_1019.py diff --git a/api/v1/serializers/school.py b/api/v1/serializers/school.py index a6706d40..81d7ace9 100644 --- a/api/v1/serializers/school.py +++ b/api/v1/serializers/school.py @@ -122,6 +122,7 @@ class LiveLessonCreateSerializer(serializers.ModelSerializer): child=ContentCreateSerializer(), required=False, ) + live = serializers.SerializerMethodField() class Meta: model = LiveLesson @@ -132,6 +133,7 @@ class LiveLessonCreateSerializer(serializers.ModelSerializer): 'stream', 'date', 'content', + 'live', 'created_at', 'update_at', 'deactivated_at', @@ -144,6 +146,9 @@ class LiveLessonCreateSerializer(serializers.ModelSerializer): 'deactivated_at', ) + def get_live(self, object): + return True + def dispatch_content(self, lesson, content): for c in content: if 'type' not in c or not c['type'] or 'data' not in c or not c['data']: @@ -266,6 +271,7 @@ class LiveLessonCreateSerializer(serializers.ModelSerializer): class LiveLessonSerializer(serializers.ModelSerializer): content = ContentSerializer(many=True) + live = serializers.SerializerMethodField() class Meta: model = LiveLesson @@ -276,6 +282,7 @@ class LiveLessonSerializer(serializers.ModelSerializer): 'stream', 'date', 'content', + 'live', 'created_at', 'update_at', 'deactivated_at', @@ -287,3 +294,6 @@ class LiveLessonSerializer(serializers.ModelSerializer): 'update_at', 'deactivated_at', ) + + def get_live(self, object): + return True diff --git a/apps/school/admin.py b/apps/school/admin.py index ee2e42ca..a1c8a602 100644 --- a/apps/school/admin.py +++ b/apps/school/admin.py @@ -1,6 +1,11 @@ from django.contrib import admin -from .models import SchoolSchedule +from .models import SchoolSchedule, LiveLesson + + +@admin.register(LiveLesson) +class LiveLessonAdmin(admin.ModelAdmin): + pass @admin.register(SchoolSchedule) diff --git a/apps/school/migrations/0009_auto_20180410_1019.py b/apps/school/migrations/0009_auto_20180410_1019.py new file mode 100644 index 00000000..dbb1caad --- /dev/null +++ b/apps/school/migrations/0009_auto_20180410_1019.py @@ -0,0 +1,22 @@ +# Generated by Django 2.0.3 on 2018-04-10 10:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('school', '0008_livelesson'), + ] + + operations = [ + migrations.AlterModelOptions( + name='livelesson', + options={'ordering': ('title',), 'verbose_name': 'Урок онлайн школы', 'verbose_name_plural': 'Уроки онлайн школы'}, + ), + migrations.AlterField( + model_name='livelesson', + name='stream', + field=models.URLField(blank=True, default='', verbose_name='Ссылка на VIMEO'), + ), + ] diff --git a/apps/school/models.py b/apps/school/models.py index 89bc53e4..2046d6c9 100644 --- a/apps/school/models.py +++ b/apps/school/models.py @@ -55,7 +55,7 @@ class SchoolScheduleImage(models.Model): class LiveLesson(BaseModel, DeactivatedMixin): title = models.CharField('Название урока', max_length=100) short_description = models.TextField('Краткое описание урока') - stream = models.URLField('Ссылка на VIMEO') + stream = models.URLField('Ссылка на VIMEO', default='', blank=True) date = models.DateField(null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) @@ -65,6 +65,6 @@ class LiveLesson(BaseModel, DeactivatedMixin): return self.title class Meta: - verbose_name = 'Урок' - verbose_name_plural = 'Уроки' + verbose_name = 'Урок онлайн школы' + verbose_name_plural = 'Уроки онлайн школы' ordering = ('title',)