From c5a3bb584629bf4e79f469f42ad6aef996cb9126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jm=C3=A9no=20P=C5=99=C3=ADjmen=C3=AD?= Date: Wed, 11 Nov 2020 10:17:44 +0100 Subject: [PATCH] =?UTF-8?q?homepage=20m=C3=A1=20nyn=C3=AD=20obr=C3=A1zky?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/migrations/0004_homepagegalleryimage.py | 30 ++++++++++++++++++++ home/models.py | 21 ++++++++++++-- 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 home/migrations/0004_homepagegalleryimage.py diff --git a/home/migrations/0004_homepagegalleryimage.py b/home/migrations/0004_homepagegalleryimage.py new file mode 100644 index 0000000..f9e7718 --- /dev/null +++ b/home/migrations/0004_homepagegalleryimage.py @@ -0,0 +1,30 @@ +# Generated by Django 3.1.3 on 2020-11-11 09:14 + +from django.db import migrations, models +import django.db.models.deletion +import modelcluster.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailimages', '0022_uploadedimage'), + ('home', '0003_homepage_body'), + ] + + operations = [ + migrations.CreateModel( + name='HomePageGalleryImage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort_order', models.IntegerField(blank=True, editable=False, null=True)), + ('caption', models.CharField(blank=True, max_length=250)), + ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='wagtailimages.image')), + ('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='gallery_images', to='home.homepage')), + ], + options={ + 'ordering': ['sort_order'], + 'abstract': False, + }, + ), + ] diff --git a/home/models.py b/home/models.py index bc7c67f..c638cbf 100644 --- a/home/models.py +++ b/home/models.py @@ -1,8 +1,11 @@ from django.db import models -from wagtail.core.models import Page +from modelcluster.fields import ParentalKey + +from wagtail.core.models import Page, Orderable from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import FieldPanel +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.admin.edit_handlers import FieldPanel, InlinePanel class HomePage(Page): @@ -10,4 +13,18 @@ class HomePage(Page): content_panels = Page.content_panels + [ FieldPanel('body', classname="full"), + InlinePanel('gallery_images', label="Obrázky"), + ] + + +class HomePageGalleryImage(Orderable): + page = ParentalKey(HomePage, on_delete=models.CASCADE, related_name='gallery_images') + image = models.ForeignKey( + 'wagtailimages.Image', on_delete=models.CASCADE, related_name='+' + ) + caption = models.CharField(blank=True, max_length=250) + + panels = [ + ImageChooserPanel('image'), + FieldPanel('caption'), ]