feat(wss): ajout pages liées
Parent
5feb4fea11
révision
332cefdea8
|
@ -5,7 +5,7 @@ from modelcluster.contrib.taggit import ClusterTaggableManager
|
|||
from modelcluster.fields import ParentalKey
|
||||
from taggit.models import TaggedItemBase
|
||||
from wagtail.admin.edit_handlers import (FieldPanel, MultiFieldPanel,
|
||||
StreamFieldPanel)
|
||||
InlinePanel, StreamFieldPanel, PageChooserPanel)
|
||||
from wagtail.core.fields import RichTextField, StreamField
|
||||
from wagtail.core.models import Page
|
||||
from wagtail.images.edit_handlers import ImageChooserPanel
|
||||
|
@ -29,6 +29,21 @@ class ProductionTag(TaggedItemBase):
|
|||
)
|
||||
|
||||
|
||||
class PagesLiees(models.Model):
|
||||
pages_liees_from = ParentalKey(
|
||||
'SitePage',
|
||||
verbose_name="Page",
|
||||
related_name='pages_liees_from'
|
||||
)
|
||||
pages_liees_to = ParentalKey(
|
||||
'SitePage',
|
||||
verbose_name="Page",
|
||||
related_name='pages_liees_to'
|
||||
)
|
||||
def __str__(self):
|
||||
return str(self.pages_liees_to)
|
||||
|
||||
|
||||
class SitePage(Page):
|
||||
"""
|
||||
Elle sert à publier du contenu statique non périssable : documentation,
|
||||
|
@ -102,14 +117,21 @@ class SitePage(Page):
|
|||
MultiFieldPanel([
|
||||
FieldPanel('slug'),
|
||||
FieldPanel('seo_title'),
|
||||
FieldPanel('show_in_menus'),
|
||||
FieldPanel('description_seo'),
|
||||
FieldPanel('mots_cles'),
|
||||
], "Configuration SEO"),
|
||||
|
||||
MultiFieldPanel([
|
||||
InlinePanel(
|
||||
'pages_liees_from',
|
||||
label="Page liée",
|
||||
panels=[PageChooserPanel('pages_liees_to')],
|
||||
),
|
||||
], "Pages liées"),
|
||||
MultiFieldPanel([
|
||||
FieldPanel('technicite'),
|
||||
FieldPanel('production'),
|
||||
], "Configuration Bio-HdF"),
|
||||
], "Attributs métiers"),
|
||||
]
|
||||
|
||||
# Réglages
|
||||
|
@ -127,6 +149,16 @@ class SitePage(Page):
|
|||
], "Options d'affichage"),
|
||||
]
|
||||
|
||||
# Pages liées
|
||||
# ----------
|
||||
|
||||
@property
|
||||
def pages_liees(self):
|
||||
return [
|
||||
related.pages_liees_to
|
||||
for related in self.pages_liees_from.all()
|
||||
]
|
||||
|
||||
|
||||
class ActualiteIndex(SitePage):
|
||||
"""
|
||||
|
|
Chargement…
Référencer dans un nouveau ticket