From 84cb4458ef4ae49e145818b0eff622014a17a6d2 Mon Sep 17 00:00:00 2001 From: mist Date: Wed, 17 Mar 2021 06:59:36 +0100 Subject: [PATCH] =?UTF-8?q?p=C5=99id=C3=A1na=20hv=C4=9Bzd=C3=A1rna?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hvezdarna/home/models.py | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 hvezdarna/home/models.py diff --git a/hvezdarna/home/models.py b/hvezdarna/home/models.py new file mode 100644 index 0000000..6d7e3de --- /dev/null +++ b/hvezdarna/home/models.py @@ -0,0 +1,41 @@ +from django.db import models + +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, InlinePanel +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.search import index + + +class HomePage(Page): + body = RichTextField(blank=True) + address = models.CharField(max_length=255, verbose_name="Adresa", blank=True, default='') + mobile = models.CharField(max_length=24, verbose_name="Mobil", blank=True, default='') + email = models.EmailField(max_length=64, verbose_name="E-mail", blank=True, null=True) + map_link = models.URLField(max_length=128, verbose_name="Odkaz na mapu", blank=True, default='') + + content_panels = Page.content_panels + [ + FieldPanel('body', classname="full"), + FieldPanel('address'), + FieldPanel('mobile'), + FieldPanel('email'), + FieldPanel('map_link'), + InlinePanel('carousel_images', label="Obrázky"), + ] + + search_fields = Page.search_fields + [ + index.SearchField('body'), + ] + + +class CarouselImage(Orderable): + page = ParentalKey(HomePage, on_delete=models.CASCADE, related_name='carousel_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'), + ]