Apply DraftStateMixin and RevisionMixin to FooterText model

pull/364/head
Sage Abdullah 2022-10-20 09:56:03 +01:00 zatwierdzone przez Thibaud Colas
rodzic 423fe9195f
commit f27ed416ea
3 zmienionych plików z 95 dodań i 4 usunięć

Wyświetl plik

@ -0,0 +1,90 @@
# Generated by Django 4.1.2 on 2022-10-20 13:37
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0077_alter_revision_user"),
("base", "0010_rename_people_person"),
]
operations = [
migrations.AddField(
model_name="footertext",
name="expire_at",
field=models.DateTimeField(
blank=True, null=True, verbose_name="expiry date/time"
),
),
migrations.AddField(
model_name="footertext",
name="expired",
field=models.BooleanField(
default=False, editable=False, verbose_name="expired"
),
),
migrations.AddField(
model_name="footertext",
name="first_published_at",
field=models.DateTimeField(
blank=True, db_index=True, null=True, verbose_name="first published at"
),
),
migrations.AddField(
model_name="footertext",
name="go_live_at",
field=models.DateTimeField(
blank=True, null=True, verbose_name="go live date/time"
),
),
migrations.AddField(
model_name="footertext",
name="has_unpublished_changes",
field=models.BooleanField(
default=False, editable=False, verbose_name="has unpublished changes"
),
),
migrations.AddField(
model_name="footertext",
name="last_published_at",
field=models.DateTimeField(
editable=False, null=True, verbose_name="last published at"
),
),
migrations.AddField(
model_name="footertext",
name="latest_revision",
field=models.ForeignKey(
blank=True,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailcore.revision",
verbose_name="latest revision",
),
),
migrations.AddField(
model_name="footertext",
name="live",
field=models.BooleanField(
default=True, editable=False, verbose_name="live"
),
),
migrations.AddField(
model_name="footertext",
name="live_revision",
field=models.ForeignKey(
blank=True,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailcore.revision",
verbose_name="live revision",
),
),
]

Wyświetl plik

@ -6,7 +6,7 @@ from modelcluster.models import ClusterableModel
from wagtail.admin.panels import FieldPanel, FieldRowPanel, InlinePanel, MultiFieldPanel
from wagtail.contrib.forms.models import AbstractEmailForm, AbstractFormField
from wagtail.fields import RichTextField, StreamField
from wagtail.models import Collection, Page
from wagtail.models import Collection, DraftStateMixin, Page, RevisionMixin
from wagtail.search import index
from wagtail.snippets.models import register_snippet
@ -79,7 +79,7 @@ class Person(index.Indexed, ClusterableModel):
@register_snippet
class FooterText(models.Model):
class FooterText(DraftStateMixin, RevisionMixin, models.Model):
"""
This provides editable text for the site footer. Again it uses the decorator
`register_snippet` to allow it to be accessible via the admin. It is made

Wyświetl plik

@ -97,8 +97,9 @@ def breadcrumbs(context):
@register.inclusion_tag("base/include/footer_text.html", takes_context=True)
def get_footer_text(context):
footer_text = ""
if FooterText.objects.first() is not None:
footer_text = FooterText.objects.first().body
if not footer_text:
instance = FooterText.objects.filter(live=True).first()
footer_text = instance.body if instance else ""
return {
"footer_text": footer_text,