
1 changed files with 41 additions and 0 deletions
@ -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'), |
||||
|
] |
Loading…
Reference in new issue