
4 changed files with 104 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||||
|
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): |
||||
|
obsah = RichTextField(blank=True) |
||||
|
|
||||
|
content_panels = Page.content_panels + [ |
||||
|
FieldPanel('obsah', classname="full"), |
||||
|
InlinePanel('kolotoc_obrazky', label="Obrázky pro kolotoč"), |
||||
|
] |
||||
|
|
||||
|
search_fields = Page.search_fields + [ |
||||
|
index.SearchField('obsah'), |
||||
|
] |
||||
|
|
||||
|
|
||||
|
class Kolotoc(Orderable): |
||||
|
page = ParentalKey(HomePage, on_delete=models.CASCADE, related_name='kolotoc_obrazky') |
||||
|
obrazek = models.ForeignKey('wagtailimages.Image', on_delete=models.CASCADE, related_name='+', verbose_name='Obrázek') |
||||
|
popisek = models.CharField(blank=True, max_length=250, verbose_name='Popisek') |
||||
|
|
||||
|
panels = [ |
||||
|
ImageChooserPanel('obrazek'), |
||||
|
FieldPanel('popisek'), |
||||
|
] |
@ -0,0 +1,36 @@ |
|||||
|
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 Katalog(Page): |
||||
|
parent_page_types = ['home.HomePage', ] |
||||
|
subpage_types = ['Kniha', ] |
||||
|
|
||||
|
|
||||
|
class Kniha(Page): |
||||
|
podnadpis = models.CharField(max_length=128, verbose_name='Podnadpis', null=True, blank=True) |
||||
|
datum_vydani = models.DateField("Datum vydání") |
||||
|
autor = models.CharField(max_length=128, verbose_name='Autor') |
||||
|
anotace = RichTextField(blank=True) |
||||
|
obrazek = models.ForeignKey('wagtailimages.Image', on_delete=models.PROTECT, related_name='+') |
||||
|
|
||||
|
parent_page_types = ['Katalog', ] |
||||
|
|
||||
|
search_fields = Page.search_fields + [ |
||||
|
index.SearchField('anotace'), |
||||
|
] |
||||
|
|
||||
|
content_panels = Page.content_panels + [ |
||||
|
FieldPanel('podnadpis'), |
||||
|
FieldPanel('autor'), |
||||
|
FieldPanel('datum_vydani'), |
||||
|
FieldPanel('anotace', classname="full"), |
||||
|
ImageChooserPanel('obrazek'), |
||||
|
] |
@ -0,0 +1,2 @@ |
|||||
|
# Nakladatelství |
||||
|
|
@ -0,0 +1,33 @@ |
|||||
|
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 Stranka(Page): |
||||
|
obsah = RichTextField(blank=True, verbose_name="Obsah stránky") |
||||
|
|
||||
|
search_fields = Page.search_fields + [ |
||||
|
index.SearchField('obsah'), |
||||
|
] |
||||
|
|
||||
|
content_panels = Page.content_panels + [ |
||||
|
FieldPanel('obsah', classname="full"), |
||||
|
InlinePanel('obrazky', label="Obrázky"), |
||||
|
] |
||||
|
|
||||
|
|
||||
|
class StrankaObrazek(Orderable): |
||||
|
page = ParentalKey(Stranka, on_delete=models.CASCADE, related_name='obrazky') |
||||
|
soubor = models.ForeignKey('wagtailimages.Image', on_delete=models.CASCADE, related_name='+', verbose_name='Obrázek') |
||||
|
popisek = models.CharField(blank=True, max_length=250, verbose_name='Popisek') |
||||
|
|
||||
|
panels = [ |
||||
|
ImageChooserPanel('soubor'), |
||||
|
FieldPanel('popisek'), |
||||
|
] |
Loading…
Reference in new issue