From c13c6d051d019475c816f1844114aea53b6453de Mon Sep 17 00:00:00 2001 From: Ivan Pomykacz Date: Thu, 3 Jun 2021 18:48:07 +0200 Subject: [PATCH] nakladatelstvi --- nakladatelstvi/home/models.py | 33 +++++++++++++++++++++++++++++ nakladatelstvi/knihy/models.py | 36 ++++++++++++++++++++++++++++++++ nakladatelstvi/readme.md | 2 ++ nakladatelstvi/stranky/models.py | 33 +++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 nakladatelstvi/home/models.py create mode 100644 nakladatelstvi/knihy/models.py create mode 100644 nakladatelstvi/readme.md create mode 100644 nakladatelstvi/stranky/models.py diff --git a/nakladatelstvi/home/models.py b/nakladatelstvi/home/models.py new file mode 100644 index 0000000..2188043 --- /dev/null +++ b/nakladatelstvi/home/models.py @@ -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'), + ] diff --git a/nakladatelstvi/knihy/models.py b/nakladatelstvi/knihy/models.py new file mode 100644 index 0000000..dc190e0 --- /dev/null +++ b/nakladatelstvi/knihy/models.py @@ -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'), + ] diff --git a/nakladatelstvi/readme.md b/nakladatelstvi/readme.md new file mode 100644 index 0000000..24c1313 --- /dev/null +++ b/nakladatelstvi/readme.md @@ -0,0 +1,2 @@ +# Nakladatelství + diff --git a/nakladatelstvi/stranky/models.py b/nakladatelstvi/stranky/models.py new file mode 100644 index 0000000..634ea0b --- /dev/null +++ b/nakladatelstvi/stranky/models.py @@ -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'), + ]