Skip to content

Commit

Permalink
Apply DraftStateMixin and RevisionMixin to BreadIngredient model
Browse files Browse the repository at this point in the history
  • Loading branch information
laymonage authored and thibaudcolas committed Oct 20, 2022
1 parent 83388aa commit 7815be8
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Generated by Django 4.1.2 on 2022-10-20 13:38

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
("wagtailcore", "0077_alter_revision_user"),
("breads", "0005_breadtype_latest_revision"),
]

operations = [
migrations.AddField(
model_name="breadingredient",
name="expire_at",
field=models.DateTimeField(
blank=True, null=True, verbose_name="expiry date/time"
),
),
migrations.AddField(
model_name="breadingredient",
name="expired",
field=models.BooleanField(
default=False, editable=False, verbose_name="expired"
),
),
migrations.AddField(
model_name="breadingredient",
name="first_published_at",
field=models.DateTimeField(
blank=True, db_index=True, null=True, verbose_name="first published at"
),
),
migrations.AddField(
model_name="breadingredient",
name="go_live_at",
field=models.DateTimeField(
blank=True, null=True, verbose_name="go live date/time"
),
),
migrations.AddField(
model_name="breadingredient",
name="has_unpublished_changes",
field=models.BooleanField(
default=False, editable=False, verbose_name="has unpublished changes"
),
),
migrations.AddField(
model_name="breadingredient",
name="last_published_at",
field=models.DateTimeField(
editable=False, null=True, verbose_name="last published at"
),
),
migrations.AddField(
model_name="breadingredient",
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="breadingredient",
name="live",
field=models.BooleanField(
default=True, editable=False, verbose_name="live"
),
),
migrations.AddField(
model_name="breadingredient",
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",
),
),
]
4 changes: 2 additions & 2 deletions bakerydemo/breads/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from modelcluster.fields import ParentalManyToManyField
from wagtail.admin.panels import FieldPanel, MultiFieldPanel
from wagtail.fields import StreamField
from wagtail.models import Page, RevisionMixin
from wagtail.models import DraftStateMixin, Page, RevisionMixin
from wagtail.search import index
from wagtail.snippets.models import register_snippet

Expand Down Expand Up @@ -33,7 +33,7 @@ class Meta:


@register_snippet
class BreadIngredient(models.Model):
class BreadIngredient(DraftStateMixin, RevisionMixin, models.Model):
"""
Standard Django model that is displayed as a snippet within the admin due
to the `@register_snippet` decorator. We use a new piece of functionality
Expand Down
7 changes: 7 additions & 0 deletions bakerydemo/static/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -1236,6 +1236,13 @@ footer {
margin: 0 0 20px;
}

.bread-detail__meta-ingredient--draft {
color: transparent;
user-select: none;
cursor: help;
text-shadow: 0 0 7px rgb(0 0 0 / 50%);
}

@media (min-width: 992px) {
.bread-detail__meta {
background-color: var(--cream);
Expand Down
11 changes: 10 additions & 1 deletion bakerydemo/templates/breads/bread_page.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,16 @@ <h4>Ingredients</h4>
<ul>
{% for ingredient in ingredients %}
<li>
{{ ingredient.name }}
{% if ingredient.live %}
{# If it's live, show as-is #}
{{ ingredient.name }}
{% else %}
{# EXAMPLE: we can show a placeholder element for instances that are not live #}
<span class="bread-detail__meta-ingredient--draft">
Draft ingredient
</span>
(draft)
{% endif %}
</li>
{% endfor %}
</ul>
Expand Down

0 comments on commit 7815be8

Please sign in to comment.