diff --git a/shared/models.py b/shared/models.py index 316316f19e20030b64079d2a79264d96135cd5ec..7ec838f036968bc05d29715aa7f9eaadfa882c53 100644 --- a/shared/models.py +++ b/shared/models.py @@ -35,14 +35,14 @@ class ArticleTag(TaggedItemBase): content_object = ParentalKey("shared.Article", on_delete=models.CASCADE) -class Article(SharedSubpageMixin, MetadataPageMixin, Page): - """ Univerzalni clanek pro vsechny weby """ - - ### FIELDS +class ArticleMixin(models.Model): + """ Spolecna pole vsech clanku """ perex = models.CharField("perex", max_length=250, blank=True) text = models.TextField("text článku", blank=True) date = models.DateField("datum článku", blank=False, default=datetime.datetime.now) + + tags = ClusterTaggableManager(through=ArticleTag, blank=True) image = models.ForeignKey( "wagtailimages.Image", on_delete=models.PROTECT, @@ -50,7 +50,6 @@ class Article(SharedSubpageMixin, MetadataPageMixin, Page): null=True, verbose_name="obrázek", ) - tags = ClusterTaggableManager(through=ArticleTag, blank=True) author = models.ForeignKey( "shared.PersonPage", verbose_name="Autor článku", @@ -59,7 +58,13 @@ class Article(SharedSubpageMixin, MetadataPageMixin, Page): blank=True, ) - ### PANELS + class Meta: + abstract = True + verbose_name = "Článek" + + +class Article(ArticleMixin, Page, SharedSubpageMixin, MetadataPageMixin): + """ Univerzalni clanek pro vsechny weby """ content_panels = Page.content_panels + [ FieldPanel("perex"), @@ -73,9 +78,6 @@ class Article(SharedSubpageMixin, MetadataPageMixin, Page): FieldPanel("tags"), ] - class Meta: - verbose_name = "Článek" - class PersonPage(SharedSubpageMixin, MetadataPageMixin, Page): """ Stranka Pirata.