from django.db import models from wagtail.admin.panels import FieldPanel from wagtail.fields import RichTextField, StreamField from wagtail.models import Page from .blocks import DocumentBlock, EventBlock, PersonBlock class HomePage(Page): heading_text = RichTextField(verbose_name="Hlavní text stránky") # --- Events --- events = StreamField( [("event", EventBlock())], verbose_name="Události", use_json_field=True, blank=True, null=True, ) # --- Documents --- documents = StreamField( [("document", DocumentBlock())], verbose_name="Dokumenty", use_json_field=True, blank=True, null=True, ) # --- Donations --- donation_text = RichTextField(verbose_name="Text pro dary") # --- Contact info --- address = models.CharField(verbose_name="Sídlo") branch = models.CharField(verbose_name="Pobočka") email = models.EmailField(verbose_name="Email") ds_id = models.CharField(verbose_name="Datová schránka") # --- People --- director = StreamField( [("person", PersonBlock())], verbose_name="Ředitel", use_json_field=True, blank=True, null=True, ) controller = StreamField( [("person", PersonBlock())], verbose_name="Kontrolor", use_json_field=True, blank=True, null=True, ) council_members = StreamField( [("person", PersonBlock())], verbose_name="Správní rada", use_json_field=True, blank=True, null=True, ) volunteers = StreamField( [("person", PersonBlock())], verbose_name="Dobrovolníci", use_json_field=True, blank=True, null=True, ) employees = StreamField( [("person", PersonBlock())], verbose_name="Zaměstnanci", use_json_field=True, blank=True, null=True, ) content_panels = Page.content_panels + [ FieldPanel("heading_text", icon="pilcrow"), FieldPanel("events", icon="calendar-alt"), FieldPanel("documents", icon="doc-full-inverse"), FieldPanel("donation_text", icon="pilcrow"), FieldPanel("address", icon="home"), FieldPanel("branch", icon="home"), FieldPanel("email", icon="pilcrow"), FieldPanel("ds_id", icon="mail"), FieldPanel("director", icon="user"), FieldPanel("controller", icon="user"), FieldPanel("council_members", icon="group"), FieldPanel("volunteers", icon="group"), FieldPanel("employees", icon="group"), ]