diff --git a/api/v1/serializers/school.py b/api/v1/serializers/school.py index 751bb6c2..a84c745e 100644 --- a/api/v1/serializers/school.py +++ b/api/v1/serializers/school.py @@ -54,6 +54,7 @@ class SchoolScheduleSerializer(serializers.ModelSerializer): 'day_discount', 'start_at', 'schoolschedule_images', + 'cover', ) read_only_fields = ( @@ -96,6 +97,7 @@ class SchoolScheduleSerializerImg(serializers.ModelSerializer): child=GalleryImageSerializer(), required=False, ) + cover = ImageObjectSerializer() class Meta: model = SchoolSchedule @@ -111,6 +113,7 @@ class SchoolScheduleSerializerImg(serializers.ModelSerializer): 'day_discount', 'start_at', 'schoolschedule_images', + 'cover', ) read_only_fields = ( diff --git a/apps/course/migrations/0043_auto_20180824_2132.py b/apps/course/migrations/0043_auto_20180824_2132.py new file mode 100644 index 00000000..9cf26b74 --- /dev/null +++ b/apps/course/migrations/0043_auto_20180824_2132.py @@ -0,0 +1,29 @@ +# Generated by Django 2.0.6 on 2018-08-24 21:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('course', '0042_like_ip'), + ] + + operations = [ + migrations.AlterField( + model_name='course', + name='cover', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='course_covers', to='content.ImageObject', verbose_name='Обложка курса'), + ), + migrations.AlterField( + model_name='lesson', + name='cover', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='lesson_covers', to='content.ImageObject', verbose_name='Обложка урока'), + ), + migrations.AlterField( + model_name='material', + name='cover', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='material_covers', to='content.ImageObject', verbose_name='Обложка материала'), + ), + ] diff --git a/apps/course/models.py b/apps/course/models.py index dac438db..843e768e 100644 --- a/apps/course/models.py +++ b/apps/course/models.py @@ -65,7 +65,7 @@ class Course(BaseModel, DeactivatedMixin): ) cover = models.ForeignKey( ImageObject, related_name='course_covers', - verbose_name='Обложка курса', on_delete=models.CASCADE, + verbose_name='Обложка курса', on_delete=models.SET_NULL, null=True, blank=True, ) price = models.DecimalField( @@ -190,7 +190,7 @@ class Lesson(BaseModel, DeactivatedMixin): ) cover = models.ForeignKey( ImageObject, related_name='lesson_covers', - verbose_name='Обложка урока', on_delete=models.CASCADE, + verbose_name='Обложка урока', on_delete=models.SET_NULL, null=True, blank=True, ) created_at = models.DateTimeField(auto_now_add=True) @@ -222,7 +222,7 @@ class Material(models.Model): title = models.CharField('Название материала', max_length=100) cover = models.ForeignKey( ImageObject, related_name='material_covers', - verbose_name='Обложка материала', on_delete=models.CASCADE, + verbose_name='Обложка материала', on_delete=models.SET_NULL, null=True, blank=True, ) short_description = models.TextField('Краткое описание материала') diff --git a/apps/school/migrations/0019_schoolschedule_cover.py b/apps/school/migrations/0019_schoolschedule_cover.py new file mode 100644 index 00000000..88a3d222 --- /dev/null +++ b/apps/school/migrations/0019_schoolschedule_cover.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.6 on 2018-08-24 19:56 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('content', '0022_auto_20180815_2129'), + ('school', '0018_auto_20180629_1501'), + ] + + operations = [ + migrations.AddField( + model_name='schoolschedule', + name='cover', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='schoolschedule_cover', to='content.ImageObject', verbose_name='Обложка дня'), + ), + ] diff --git a/apps/school/migrations/0020_auto_20180824_2132.py b/apps/school/migrations/0020_auto_20180824_2132.py new file mode 100644 index 00000000..42188851 --- /dev/null +++ b/apps/school/migrations/0020_auto_20180824_2132.py @@ -0,0 +1,29 @@ +# Generated by Django 2.0.6 on 2018-08-24 21:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('school', '0019_schoolschedule_cover'), + ] + + operations = [ + migrations.AlterField( + model_name='livelesson', + name='cover', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='livelesson_covers', to='content.ImageObject', verbose_name='Обложка урока школы'), + ), + migrations.AlterField( + model_name='schoolschedule', + name='cover', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='schoolschedule_cover', to='content.ImageObject', verbose_name='Обложка дня'), + ), + migrations.AlterField( + model_name='schoolscheduleimage', + name='img', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='schoolschedule_images', to='content.ImageObject', verbose_name='Объект изображения'), + ), + ] diff --git a/apps/school/models.py b/apps/school/models.py index fe66564b..d1f70e68 100644 --- a/apps/school/models.py +++ b/apps/school/models.py @@ -38,6 +38,14 @@ class SchoolSchedule(models.Model): 'Скидка, в валюте', max_digits=8, decimal_places=2, default=0 ) start_at = models.TimeField('Начало урока', null=True) + cover = models.ForeignKey( + ImageObject, + related_name='schoolschedule_cover', + verbose_name='Обложка дня', + on_delete=models.SET_NULL, + null=True, + blank=True, + ) class Meta: ordering = ('weekday',) @@ -88,7 +96,7 @@ class SchoolScheduleImage(models.Model): ImageObject, related_name='schoolschedule_images', verbose_name='Объект изображения', - on_delete=models.CASCADE, + on_delete=models.SET_NULL, null=True, blank=True, ) @@ -111,7 +119,7 @@ class LiveLesson(BaseModel, DeactivatedMixin): ImageObject, related_name='livelesson_covers', verbose_name='Обложка урока школы', - on_delete=models.CASCADE, + on_delete=models.SET_NULL, null=True, blank=True, ) diff --git a/apps/school/templates/blocks/schedule_item.html b/apps/school/templates/blocks/schedule_item.html index 27d4fcd4..5f056047 100644 --- a/apps/school/templates/blocks/schedule_item.html +++ b/apps/school/templates/blocks/schedule_item.html @@ -32,7 +32,9 @@ {% thumbnail live_lesson.cover.image "70x70" crop="center" as im %} {% empty %} - + {% endthumbnail %} diff --git a/web/src/sass/_common.sass b/web/src/sass/_common.sass index 25302e55..5ccc6d83 100755 --- a/web/src/sass/_common.sass +++ b/web/src/sass/_common.sass @@ -3880,6 +3880,7 @@ a.grey-link display: block width: 100% border-radius: 50% + object-fit: cover &__title margin-bottom: 5px font-size: 24px