diff --git a/lps/base/migrations/0005_navigationsettings_links.py b/lps/base/migrations/0005_navigationsettings_links.py new file mode 100644 index 0000000..bdc4834 --- /dev/null +++ b/lps/base/migrations/0005_navigationsettings_links.py @@ -0,0 +1,29 @@ +# Generated by Django 5.0.6 on 2024-06-13 06:50 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("base", "0004_sitesettings"), + ] + + operations = [ + migrations.AddField( + model_name="navigationsettings", + name="links", + field=wagtail.fields.StreamField( + [ + ( + "links", + wagtail.blocks.ListBlock( + wagtail.blocks.URLBlock(label="Lien externe") + ), + ) + ], + blank=True, + ), + ), + ] diff --git a/lps/base/migrations/0006_alter_navigationsettings_links.py b/lps/base/migrations/0006_alter_navigationsettings_links.py new file mode 100644 index 0000000..7bd333b --- /dev/null +++ b/lps/base/migrations/0006_alter_navigationsettings_links.py @@ -0,0 +1,34 @@ +# Generated by Django 5.0.6 on 2024-06-13 06:55 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("base", "0005_navigationsettings_links"), + ] + + operations = [ + migrations.AlterField( + model_name="navigationsettings", + name="links", + field=wagtail.fields.StreamField( + [ + ( + "links", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ("title", wagtail.blocks.CharBlock()), + ("url", wagtail.blocks.URLBlock()), + ] + ) + ), + ) + ], + blank=True, + ), + ), + ] diff --git a/lps/base/migrations/0007_alter_navigationsettings_links.py b/lps/base/migrations/0007_alter_navigationsettings_links.py new file mode 100644 index 0000000..081500b --- /dev/null +++ b/lps/base/migrations/0007_alter_navigationsettings_links.py @@ -0,0 +1,32 @@ +# Generated by Django 5.0.6 on 2024-06-13 07:00 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("base", "0006_alter_navigationsettings_links"), + ] + + operations = [ + migrations.AlterField( + model_name="navigationsettings", + name="links", + field=wagtail.fields.StreamField( + [ + ( + "link", + wagtail.blocks.StructBlock( + [ + ("title", wagtail.blocks.CharBlock()), + ("url", wagtail.blocks.URLBlock()), + ] + ), + ) + ], + blank=True, + ), + ), + ] diff --git a/lps/base/models.py b/lps/base/models.py index 5a19fae..f943530 100644 --- a/lps/base/models.py +++ b/lps/base/models.py @@ -1,10 +1,11 @@ from django.db import models from modelcluster.fields import ParentalKey +from wagtail import blocks from wagtail.admin.panels import FieldPanel, FieldRowPanel, InlinePanel, MultiFieldPanel from wagtail.contrib.forms.models import AbstractEmailForm, AbstractFormField from wagtail.contrib.forms.panels import FormSubmissionsPanel from wagtail.contrib.settings.models import BaseGenericSetting, register_setting -from wagtail.fields import RichTextField +from wagtail.fields import RichTextField, StreamField @register_setting @@ -14,6 +15,20 @@ class NavigationSettings(BaseGenericSetting): max_length=32, verbose_name="Numéro de téléphone", blank=True ) email = models.EmailField(verbose_name="Adresse de courriel", blank=True) + links = StreamField( + [ + ( + "link", + blocks.StructBlock( + [ + ("title", blocks.CharBlock()), + ("url", blocks.URLBlock()), + ] + ), + ) + ], + blank=True, + ) panels = [ MultiFieldPanel( @@ -21,6 +36,7 @@ class NavigationSettings(BaseGenericSetting): FieldPanel("address"), FieldPanel("phone"), FieldPanel("email"), + FieldPanel("links"), ], "Informations de contact", ) diff --git a/lps/lps/templates/footer.html b/lps/lps/templates/footer.html index 5420b3a..7b0b03b 100644 --- a/lps/lps/templates/footer.html +++ b/lps/lps/templates/footer.html @@ -15,6 +15,19 @@ +{% if settings.base.NavigationSettings.links %} +
+ +
+{% endif %}

Accès administrateur