Merge branch 'feature/LIL-635' into 'master'

LIL-635 вставить иконки в школу

See merge request lilcity/backend!123
remotes/origin/hotfix/LIL-661
cfwme 7 years ago
commit 29b6184595
  1. 3
      api/v1/serializers/school.py
  2. 29
      apps/course/migrations/0043_auto_20180824_2132.py
  3. 6
      apps/course/models.py
  4. 20
      apps/school/migrations/0019_schoolschedule_cover.py
  5. 29
      apps/school/migrations/0020_auto_20180824_2132.py
  6. 12
      apps/school/models.py
  7. 4
      apps/school/templates/blocks/schedule_item.html
  8. 1
      web/src/sass/_common.sass

@ -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 = (

@ -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='Обложка материала'),
),
]

@ -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('Краткое описание материала')

@ -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='Обложка дня'),
),
]

@ -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='Объект изображения'),
),
]

@ -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,
)

@ -32,7 +32,9 @@
{% thumbnail live_lesson.cover.image "70x70" crop="center" as im %}
<img class="timing__pic" src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" />
{% empty %}
<img class="timing__pic" src="{% static 'img/no_cover.png' %}" style="width: 70px; height: 70px;" />
<img class="timing__pic"
src="{% if school_schedule.cover %}{{ school_schedule.cover.image_thumbnail.url }}{% else %}{% static 'img/no_cover.png' %}{% endif %}"
style="width: 70px; height: 70px;" />
{% endthumbnail %}
</div>
</div>

@ -3880,6 +3880,7 @@ a.grey-link
display: block
width: 100%
border-radius: 50%
object-fit: cover
&__title
margin-bottom: 5px
font-size: 24px

Loading…
Cancel
Save