forked from DGNum/gestioCOF
core -- Apply black + isort to all files
This commit is contained in:
parent
104e71dcf6
commit
fdd2b35289
196 changed files with 10727 additions and 8365 deletions
|
@ -1 +1 @@
|
|||
default_app_config = 'kfet.cms.apps.KFetCMSAppConfig'
|
||||
default_app_config = "kfet.cms.apps.KFetCMSAppConfig"
|
||||
|
|
|
@ -2,9 +2,9 @@ from django.apps import AppConfig
|
|||
|
||||
|
||||
class KFetCMSAppConfig(AppConfig):
|
||||
name = 'kfet.cms'
|
||||
label = 'kfetcms'
|
||||
verbose_name = 'CMS K-Fêt'
|
||||
name = "kfet.cms"
|
||||
label = "kfetcms"
|
||||
verbose_name = "CMS K-Fêt"
|
||||
|
||||
def ready(self):
|
||||
from . import hooks
|
||||
|
|
|
@ -3,18 +3,14 @@ from kfet.models import Article
|
|||
|
||||
def get_articles(request=None):
|
||||
articles = (
|
||||
Article.objects
|
||||
.filter(is_sold=True, hidden=False)
|
||||
.select_related('category')
|
||||
.order_by('category__name', 'name')
|
||||
Article.objects.filter(is_sold=True, hidden=False)
|
||||
.select_related("category")
|
||||
.order_by("category__name", "name")
|
||||
)
|
||||
pressions, others = [], []
|
||||
for article in articles:
|
||||
if article.category.name == 'Pression':
|
||||
if article.category.name == "Pression":
|
||||
pressions.append(article)
|
||||
else:
|
||||
others.append(article)
|
||||
return {
|
||||
'pressions': pressions,
|
||||
'articles': others,
|
||||
}
|
||||
return {"pressions": pressions, "articles": others}
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
from django.contrib.staticfiles.templatetags.staticfiles import static
|
||||
from django.utils.html import format_html
|
||||
|
||||
from wagtail.wagtailcore import hooks
|
||||
|
||||
|
||||
@hooks.register('insert_editor_css')
|
||||
@hooks.register("insert_editor_css")
|
||||
def editor_css():
|
||||
return format_html(
|
||||
'<link rel="stylesheet" href="{}">',
|
||||
static('kfetcms/css/editor.css'),
|
||||
'<link rel="stylesheet" href="{}">', static("kfetcms/css/editor.css")
|
||||
)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
from django.contrib.auth.models import Group
|
||||
from django.core.management import call_command
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
from wagtail.wagtailcore.models import Page, Site
|
||||
|
||||
|
||||
|
@ -9,7 +8,7 @@ class Command(BaseCommand):
|
|||
help = "Importe des données pour Wagtail"
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('--file', default='kfet_wagtail_17_05')
|
||||
parser.add_argument("--file", default="kfet_wagtail_17_05")
|
||||
|
||||
def handle(self, *args, **options):
|
||||
|
||||
|
@ -18,12 +17,10 @@ class Command(BaseCommand):
|
|||
# Nettoyage des données initiales posées par Wagtail dans la migration
|
||||
# wagtailcore/0002
|
||||
|
||||
Group.objects.filter(name__in=('Moderators', 'Editors')).delete()
|
||||
Group.objects.filter(name__in=("Moderators", "Editors")).delete()
|
||||
|
||||
try:
|
||||
homepage = Page.objects.get(
|
||||
title="Welcome to your new Wagtail site!"
|
||||
)
|
||||
homepage = Page.objects.get(title="Welcome to your new Wagtail site!")
|
||||
homepage.delete()
|
||||
Site.objects.filter(root_page=homepage).delete()
|
||||
except Page.DoesNotExist:
|
||||
|
@ -32,4 +29,4 @@ class Command(BaseCommand):
|
|||
# Import des données
|
||||
# Par défaut, il s'agit d'une copie du site K-Fêt (17-05)
|
||||
|
||||
call_command('loaddata', options['file'])
|
||||
call_command("loaddata", options["file"])
|
||||
|
|
|
@ -1,49 +1,214 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import wagtail.wagtailsnippets.blocks
|
||||
import django.db.models.deletion
|
||||
import wagtail.wagtailcore.blocks
|
||||
import wagtail.wagtailcore.fields
|
||||
import django.db.models.deletion
|
||||
import wagtail.wagtailsnippets.blocks
|
||||
from django.db import migrations, models
|
||||
|
||||
import kfet.cms.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailcore', '0033_remove_golive_expiry_help_text'),
|
||||
('wagtailimages', '0019_delete_filter'),
|
||||
("wagtailcore", "0033_remove_golive_expiry_help_text"),
|
||||
("wagtailimages", "0019_delete_filter"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='KFetPage',
|
||||
name="KFetPage",
|
||||
fields=[
|
||||
('page_ptr', models.OneToOneField(serialize=False, primary_key=True, parent_link=True, auto_created=True, to='wagtailcore.Page', on_delete=models.CASCADE)),
|
||||
('no_header', models.BooleanField(verbose_name='Sans en-tête', help_text="Coché, l'en-tête (avec le titre) de la page n'est pas affiché.", default=False)),
|
||||
('content', wagtail.wagtailcore.fields.StreamField((('rich', wagtail.wagtailcore.blocks.RichTextBlock(label='Éditeur')), ('carte', kfet.cms.models.MenuBlock()), ('group_team', wagtail.wagtailcore.blocks.StructBlock((('show_only', wagtail.wagtailcore.blocks.IntegerBlock(help_text='Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.', required=False, label='Montrer seulement')), ('members', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailsnippets.blocks.SnippetChooserBlock(kfet.cms.models.MemberTeam), classname='team-group', label='K-Fêt-eux-ses'))))), ('group', wagtail.wagtailcore.blocks.StreamBlock((('rich', wagtail.wagtailcore.blocks.RichTextBlock(label='Éditeur')), ('carte', kfet.cms.models.MenuBlock()), ('group_team', wagtail.wagtailcore.blocks.StructBlock((('show_only', wagtail.wagtailcore.blocks.IntegerBlock(help_text='Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.', required=False, label='Montrer seulement')), ('members', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailsnippets.blocks.SnippetChooserBlock(kfet.cms.models.MemberTeam), classname='team-group', label='K-Fêt-eux-ses')))))), label='Contenu groupé'))), verbose_name='Contenu')),
|
||||
('layout', models.CharField(max_length=255, choices=[('kfet/base_col_1.html', 'Une colonne : centrée sur la page'), ('kfet/base_col_2.html', 'Deux colonnes : fixe à gauche, contenu à droite'), ('kfet/base_col_mult.html', 'Contenu scindé sur plusieurs colonnes')], help_text='Comment cette page devrait être affichée ?', verbose_name='Template', default='kfet/base_col_mult.html')),
|
||||
('main_size', models.CharField(max_length=255, blank=True, verbose_name='Taille de la colonne de contenu')),
|
||||
('col_count', models.CharField(max_length=255, blank=True, verbose_name='Nombre de colonnes', help_text="S'applique au page dont le contenu est scindé sur plusieurs colonnes")),
|
||||
(
|
||||
"page_ptr",
|
||||
models.OneToOneField(
|
||||
serialize=False,
|
||||
primary_key=True,
|
||||
parent_link=True,
|
||||
auto_created=True,
|
||||
to="wagtailcore.Page",
|
||||
on_delete=models.CASCADE,
|
||||
),
|
||||
),
|
||||
(
|
||||
"no_header",
|
||||
models.BooleanField(
|
||||
verbose_name="Sans en-tête",
|
||||
help_text="Coché, l'en-tête (avec le titre) de la page n'est pas affiché.",
|
||||
default=False,
|
||||
),
|
||||
),
|
||||
(
|
||||
"content",
|
||||
wagtail.wagtailcore.fields.StreamField(
|
||||
(
|
||||
(
|
||||
"rich",
|
||||
wagtail.wagtailcore.blocks.RichTextBlock(
|
||||
label="Éditeur"
|
||||
),
|
||||
),
|
||||
("carte", kfet.cms.models.MenuBlock()),
|
||||
(
|
||||
"group_team",
|
||||
wagtail.wagtailcore.blocks.StructBlock(
|
||||
(
|
||||
(
|
||||
"show_only",
|
||||
wagtail.wagtailcore.blocks.IntegerBlock(
|
||||
help_text="Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.",
|
||||
required=False,
|
||||
label="Montrer seulement",
|
||||
),
|
||||
),
|
||||
(
|
||||
"members",
|
||||
wagtail.wagtailcore.blocks.ListBlock(
|
||||
wagtail.wagtailsnippets.blocks.SnippetChooserBlock(
|
||||
kfet.cms.models.MemberTeam
|
||||
),
|
||||
classname="team-group",
|
||||
label="K-Fêt-eux-ses",
|
||||
),
|
||||
),
|
||||
)
|
||||
),
|
||||
),
|
||||
(
|
||||
"group",
|
||||
wagtail.wagtailcore.blocks.StreamBlock(
|
||||
(
|
||||
(
|
||||
"rich",
|
||||
wagtail.wagtailcore.blocks.RichTextBlock(
|
||||
label="Éditeur"
|
||||
),
|
||||
),
|
||||
("carte", kfet.cms.models.MenuBlock()),
|
||||
(
|
||||
"group_team",
|
||||
wagtail.wagtailcore.blocks.StructBlock(
|
||||
(
|
||||
(
|
||||
"show_only",
|
||||
wagtail.wagtailcore.blocks.IntegerBlock(
|
||||
help_text="Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.",
|
||||
required=False,
|
||||
label="Montrer seulement",
|
||||
),
|
||||
),
|
||||
(
|
||||
"members",
|
||||
wagtail.wagtailcore.blocks.ListBlock(
|
||||
wagtail.wagtailsnippets.blocks.SnippetChooserBlock(
|
||||
kfet.cms.models.MemberTeam
|
||||
),
|
||||
classname="team-group",
|
||||
label="K-Fêt-eux-ses",
|
||||
),
|
||||
),
|
||||
)
|
||||
),
|
||||
),
|
||||
),
|
||||
label="Contenu groupé",
|
||||
),
|
||||
),
|
||||
),
|
||||
verbose_name="Contenu",
|
||||
),
|
||||
),
|
||||
(
|
||||
"layout",
|
||||
models.CharField(
|
||||
max_length=255,
|
||||
choices=[
|
||||
(
|
||||
"kfet/base_col_1.html",
|
||||
"Une colonne : centrée sur la page",
|
||||
),
|
||||
(
|
||||
"kfet/base_col_2.html",
|
||||
"Deux colonnes : fixe à gauche, contenu à droite",
|
||||
),
|
||||
(
|
||||
"kfet/base_col_mult.html",
|
||||
"Contenu scindé sur plusieurs colonnes",
|
||||
),
|
||||
],
|
||||
help_text="Comment cette page devrait être affichée ?",
|
||||
verbose_name="Template",
|
||||
default="kfet/base_col_mult.html",
|
||||
),
|
||||
),
|
||||
(
|
||||
"main_size",
|
||||
models.CharField(
|
||||
max_length=255,
|
||||
blank=True,
|
||||
verbose_name="Taille de la colonne de contenu",
|
||||
),
|
||||
),
|
||||
(
|
||||
"col_count",
|
||||
models.CharField(
|
||||
max_length=255,
|
||||
blank=True,
|
||||
verbose_name="Nombre de colonnes",
|
||||
help_text="S'applique au page dont le contenu est scindé sur plusieurs colonnes",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'page K-Fêt',
|
||||
'verbose_name_plural': 'pages K-Fêt',
|
||||
"verbose_name": "page K-Fêt",
|
||||
"verbose_name_plural": "pages K-Fêt",
|
||||
},
|
||||
bases=('wagtailcore.page',),
|
||||
bases=("wagtailcore.page",),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MemberTeam',
|
||||
name="MemberTeam",
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
|
||||
('first_name', models.CharField(blank=True, max_length=255, verbose_name='Prénom', default='')),
|
||||
('last_name', models.CharField(blank=True, max_length=255, verbose_name='Nom', default='')),
|
||||
('nick_name', models.CharField(verbose_name='Alias', blank=True, default='', max_length=255)),
|
||||
('photo', models.ForeignKey(null=True, related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Photo', blank=True, to='wagtailimages.Image')),
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
verbose_name="ID",
|
||||
auto_created=True,
|
||||
serialize=False,
|
||||
primary_key=True,
|
||||
),
|
||||
),
|
||||
(
|
||||
"first_name",
|
||||
models.CharField(
|
||||
blank=True, max_length=255, verbose_name="Prénom", default=""
|
||||
),
|
||||
),
|
||||
(
|
||||
"last_name",
|
||||
models.CharField(
|
||||
blank=True, max_length=255, verbose_name="Nom", default=""
|
||||
),
|
||||
),
|
||||
(
|
||||
"nick_name",
|
||||
models.CharField(
|
||||
verbose_name="Alias", blank=True, default="", max_length=255
|
||||
),
|
||||
),
|
||||
(
|
||||
"photo",
|
||||
models.ForeignKey(
|
||||
null=True,
|
||||
related_name="+",
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
verbose_name="Photo",
|
||||
blank=True,
|
||||
to="wagtailimages.Image",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'K-Fêt-eux-se',
|
||||
},
|
||||
options={"verbose_name": "K-Fêt-eux-se"},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -6,14 +6,17 @@ from django.db import migrations, models
|
|||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('kfetcms', '0001_initial'),
|
||||
]
|
||||
dependencies = [("kfetcms", "0001_initial")]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='kfetpage',
|
||||
name='col_count',
|
||||
field=models.CharField(blank=True, max_length=255, verbose_name='Nombre de colonnes', help_text="S'applique au page dont le contenu est scindé sur plusieurs colonnes."),
|
||||
),
|
||||
model_name="kfetpage",
|
||||
name="col_count",
|
||||
field=models.CharField(
|
||||
blank=True,
|
||||
max_length=255,
|
||||
verbose_name="Nombre de colonnes",
|
||||
help_text="S'applique au page dont le contenu est scindé sur plusieurs colonnes.",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from wagtail.wagtailadmin.edit_handlers import (
|
||||
FieldPanel, FieldRowPanel, MultiFieldPanel, StreamFieldPanel
|
||||
FieldPanel,
|
||||
FieldRowPanel,
|
||||
MultiFieldPanel,
|
||||
StreamFieldPanel,
|
||||
)
|
||||
from wagtail.wagtailcore import blocks
|
||||
from wagtail.wagtailcore.fields import StreamField
|
||||
|
@ -17,47 +19,45 @@ from kfet.cms.context_processors import get_articles
|
|||
@register_snippet
|
||||
class MemberTeam(models.Model):
|
||||
first_name = models.CharField(
|
||||
verbose_name=_('Prénom'),
|
||||
blank=True, default='', max_length=255,
|
||||
verbose_name=_("Prénom"), blank=True, default="", max_length=255
|
||||
)
|
||||
last_name = models.CharField(
|
||||
verbose_name=_('Nom'),
|
||||
blank=True, default='', max_length=255,
|
||||
verbose_name=_("Nom"), blank=True, default="", max_length=255
|
||||
)
|
||||
nick_name = models.CharField(
|
||||
verbose_name=_('Alias'),
|
||||
blank=True, default='', max_length=255,
|
||||
verbose_name=_("Alias"), blank=True, default="", max_length=255
|
||||
)
|
||||
photo = models.ForeignKey(
|
||||
'wagtailimages.Image',
|
||||
verbose_name=_('Photo'),
|
||||
"wagtailimages.Image",
|
||||
verbose_name=_("Photo"),
|
||||
on_delete=models.SET_NULL,
|
||||
null=True, blank=True,
|
||||
related_name='+',
|
||||
null=True,
|
||||
blank=True,
|
||||
related_name="+",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('K-Fêt-eux-se')
|
||||
verbose_name = _("K-Fêt-eux-se")
|
||||
|
||||
panels = [
|
||||
FieldPanel('first_name'),
|
||||
FieldPanel('last_name'),
|
||||
FieldPanel('nick_name'),
|
||||
ImageChooserPanel('photo'),
|
||||
FieldPanel("first_name"),
|
||||
FieldPanel("last_name"),
|
||||
FieldPanel("nick_name"),
|
||||
ImageChooserPanel("photo"),
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
return self.get_full_name()
|
||||
|
||||
def get_full_name(self):
|
||||
return '{} {}'.format(self.first_name, self.last_name).strip()
|
||||
return "{} {}".format(self.first_name, self.last_name).strip()
|
||||
|
||||
|
||||
class MenuBlock(blocks.StaticBlock):
|
||||
class Meta:
|
||||
icon = 'list-ul'
|
||||
label = _('Carte')
|
||||
template = 'kfetcms/block_menu.html'
|
||||
icon = "list-ul"
|
||||
label = _("Carte")
|
||||
template = "kfetcms/block_menu.html"
|
||||
|
||||
def get_context(self, *args, **kwargs):
|
||||
context = super().get_context(*args, **kwargs)
|
||||
|
@ -67,71 +67,68 @@ class MenuBlock(blocks.StaticBlock):
|
|||
|
||||
class GroupTeamBlock(blocks.StructBlock):
|
||||
show_only = blocks.IntegerBlock(
|
||||
label=_('Montrer seulement'),
|
||||
label=_("Montrer seulement"),
|
||||
required=False,
|
||||
help_text=_(
|
||||
'Nombre initial de membres affichés. Laisser vide pour tou-te-s '
|
||||
'les afficher.'
|
||||
"Nombre initial de membres affichés. Laisser vide pour tou-te-s "
|
||||
"les afficher."
|
||||
),
|
||||
)
|
||||
members = blocks.ListBlock(
|
||||
SnippetChooserBlock(MemberTeam),
|
||||
label=_('K-Fêt-eux-ses'),
|
||||
classname='team-group',
|
||||
label=_("K-Fêt-eux-ses"),
|
||||
classname="team-group",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
icon = 'group'
|
||||
label = _('Groupe de K-Fêt-eux-ses')
|
||||
template = 'kfetcms/block_teamgroup.html'
|
||||
icon = "group"
|
||||
label = _("Groupe de K-Fêt-eux-ses")
|
||||
template = "kfetcms/block_teamgroup.html"
|
||||
|
||||
|
||||
class ChoicesStreamBlock(blocks.StreamBlock):
|
||||
rich = blocks.RichTextBlock(label=_('Éditeur'))
|
||||
rich = blocks.RichTextBlock(label=_("Éditeur"))
|
||||
carte = MenuBlock()
|
||||
group_team = GroupTeamBlock()
|
||||
|
||||
|
||||
class KFetStreamBlock(ChoicesStreamBlock):
|
||||
group = ChoicesStreamBlock(label=_('Contenu groupé'))
|
||||
group = ChoicesStreamBlock(label=_("Contenu groupé"))
|
||||
|
||||
|
||||
class KFetPage(Page):
|
||||
|
||||
content = StreamField(KFetStreamBlock, verbose_name=_('Contenu'))
|
||||
content = StreamField(KFetStreamBlock, verbose_name=_("Contenu"))
|
||||
|
||||
# Layout fields
|
||||
|
||||
TEMPLATE_COL_1 = 'kfet/base_col_1.html'
|
||||
TEMPLATE_COL_2 = 'kfet/base_col_2.html'
|
||||
TEMPLATE_COL_MULT = 'kfet/base_col_mult.html'
|
||||
TEMPLATE_COL_1 = "kfet/base_col_1.html"
|
||||
TEMPLATE_COL_2 = "kfet/base_col_2.html"
|
||||
TEMPLATE_COL_MULT = "kfet/base_col_mult.html"
|
||||
|
||||
no_header = models.BooleanField(
|
||||
verbose_name=_('Sans en-tête'),
|
||||
verbose_name=_("Sans en-tête"),
|
||||
default=False,
|
||||
help_text=_(
|
||||
"Coché, l'en-tête (avec le titre) de la page n'est pas affiché."
|
||||
),
|
||||
help_text=_("Coché, l'en-tête (avec le titre) de la page n'est pas affiché."),
|
||||
)
|
||||
layout = models.CharField(
|
||||
verbose_name=_('Template'),
|
||||
verbose_name=_("Template"),
|
||||
choices=[
|
||||
(TEMPLATE_COL_1, _('Une colonne : centrée sur la page')),
|
||||
(TEMPLATE_COL_2, _('Deux colonnes : fixe à gauche, contenu à droite')),
|
||||
(TEMPLATE_COL_MULT, _('Contenu scindé sur plusieurs colonnes')),
|
||||
(TEMPLATE_COL_1, _("Une colonne : centrée sur la page")),
|
||||
(TEMPLATE_COL_2, _("Deux colonnes : fixe à gauche, contenu à droite")),
|
||||
(TEMPLATE_COL_MULT, _("Contenu scindé sur plusieurs colonnes")),
|
||||
],
|
||||
default=TEMPLATE_COL_MULT, max_length=255,
|
||||
help_text=_(
|
||||
"Comment cette page devrait être affichée ?"
|
||||
),
|
||||
default=TEMPLATE_COL_MULT,
|
||||
max_length=255,
|
||||
help_text=_("Comment cette page devrait être affichée ?"),
|
||||
)
|
||||
main_size = models.CharField(
|
||||
verbose_name=_('Taille de la colonne de contenu'),
|
||||
blank=True, max_length=255,
|
||||
verbose_name=_("Taille de la colonne de contenu"), blank=True, max_length=255
|
||||
)
|
||||
col_count = models.CharField(
|
||||
verbose_name=_('Nombre de colonnes'),
|
||||
blank=True, max_length=255,
|
||||
verbose_name=_("Nombre de colonnes"),
|
||||
blank=True,
|
||||
max_length=255,
|
||||
help_text=_(
|
||||
"S'applique au page dont le contenu est scindé sur plusieurs colonnes."
|
||||
),
|
||||
|
@ -139,34 +136,29 @@ class KFetPage(Page):
|
|||
|
||||
# Panels
|
||||
|
||||
content_panels = Page.content_panels + [
|
||||
StreamFieldPanel('content'),
|
||||
]
|
||||
content_panels = Page.content_panels + [StreamFieldPanel("content")]
|
||||
|
||||
layout_panel = [
|
||||
FieldPanel('no_header'),
|
||||
FieldPanel('layout'),
|
||||
FieldRowPanel([
|
||||
FieldPanel('main_size'),
|
||||
FieldPanel('col_count'),
|
||||
]),
|
||||
FieldPanel("no_header"),
|
||||
FieldPanel("layout"),
|
||||
FieldRowPanel([FieldPanel("main_size"), FieldPanel("col_count")]),
|
||||
]
|
||||
|
||||
settings_panels = [
|
||||
MultiFieldPanel(layout_panel, _('Affichage'))
|
||||
MultiFieldPanel(layout_panel, _("Affichage"))
|
||||
] + Page.settings_panels
|
||||
|
||||
# Base template
|
||||
template = "kfetcms/base.html"
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('page K-Fêt')
|
||||
verbose_name_plural = _('pages K-Fêt')
|
||||
verbose_name = _("page K-Fêt")
|
||||
verbose_name_plural = _("pages K-Fêt")
|
||||
|
||||
def get_context(self, request, *args, **kwargs):
|
||||
context = super().get_context(request, *args, **kwargs)
|
||||
|
||||
page = context['page']
|
||||
page = context["page"]
|
||||
|
||||
if not page.seo_title:
|
||||
page.seo_title = page.title
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue