add pigs to event categories, fallback to those

This commit is contained in:
2024-06-06 02:47:00 +02:00
parent 0d58eeb040
commit ffacc0a8a8
7 changed files with 105 additions and 23 deletions

View File

@ -0,0 +1,23 @@
# Generated by Django 5.0.6 on 2024-06-06 00:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('events', '0029_eventpage_free'),
]
operations = [
migrations.AddField(
model_name='eventcategory',
name='pig',
field=models.CharField(blank=True, choices=[('', 'Ingen'), ('logo', 'Logogrisen'), ('music', 'Musikergrisen'), ('drink', 'Drikkegrisen'), ('dance', 'Dansegrisen'), ('point', 'Pekegrisen'), ('student', 'Studentgrisen'), ('listen', 'Lyttegrisen'), ('guard', 'Vaktgrisen'), ('key', 'Nøkkelgrisen'), ('chill', 'Liggegrisen'), ('peek', 'Tittegrisen')], default='', help_text='Standardgris for arrangementer av denne typen.', max_length=32),
),
migrations.AlterField(
model_name='eventpage',
name='pig',
field=models.CharField(blank=True, choices=[('', 'Ingen'), ('automatic', 'Automatisk'), ('logo', 'Logogrisen'), ('music', 'Musikergrisen'), ('drink', 'Drikkegrisen'), ('dance', 'Dansegrisen'), ('point', 'Pekegrisen'), ('student', 'Studentgrisen'), ('listen', 'Lyttegrisen'), ('guard', 'Vaktgrisen'), ('key', 'Nøkkelgrisen'), ('chill', 'Liggegrisen'), ('peek', 'Tittegrisen')], default='automatic', help_text='Grisen som henger på arrangementssiden. Automatisk fører til at en velges basert på arrangementets kategori.', max_length=32),
),
]

View File

@ -30,6 +30,20 @@ from wagtail.snippets.models import register_snippet
from dnscms.fields import CommonStreamField
from venues.models import VenuePage
ALL_PIGS = [
("logo", "Logogrisen"),
("music", "Musikergrisen"),
("drink", "Drikkegrisen"),
("dance", "Dansegrisen"),
("point", "Pekegrisen"),
("student", "Studentgrisen"),
("listen", "Lyttegrisen"),
("guard", "Vaktgrisen"),
("key", "Nøkkelgrisen"),
("chill", "Liggegrisen"),
("peek", "Tittegrisen"),
]
@register_singular_query_field("eventIndex")
class EventIndex(Page):
@ -68,12 +82,30 @@ class EventCategory(models.Model):
default=False, help_text="Skal denne kategorien være mulig å filtrere på i programmet?"
)
panels = [TitleFieldPanel("name"), FieldPanel("slug"), FieldPanel("show_in_filters")]
PIG_CHOICES = [
("", "Ingen"),
] + ALL_PIGS
pig = models.CharField(
max_length=32,
choices=PIG_CHOICES,
default="",
blank=True,
help_text="Standardgris for arrangementer av denne typen.",
)
panels = [
TitleFieldPanel("name"),
FieldPanel("slug"),
FieldPanel("show_in_filters"),
FieldPanel("pig", heading="Gris"),
]
graphql_fields = [
GraphQLString("name", required=True),
GraphQLString("slug", required=True),
GraphQLBoolean("show_in_filters", required=True),
GraphQLString("pig", required=True),
]
class Meta:
@ -166,20 +198,19 @@ class EventPage(Page):
PIG_CHOICES = [
("", "Ingen"),
("logo", "Logogrisen"),
("music", "Musikergrisen"),
("drink", "Drikkegrisen"),
("dance", "Dansegrisen"),
("point", "Pekegrisen"),
("student", "Studentgrisen"),
("listen", "Lyttegrisen"),
("guard", "Vaktgrisen"),
("key", "Nøkkelgrisen"),
("chill", "Liggegrisen"),
("peek", "Tittegrisen"),
]
("automatic", "Automatisk"),
] + ALL_PIGS
pig = models.CharField(max_length=32, choices=PIG_CHOICES, default="", blank=True)
pig = models.CharField(
max_length=32,
choices=PIG_CHOICES,
default="automatic",
blank=True,
help_text=(
"Grisen som henger på arrangementssiden. "
"Automatisk fører til at en velges basert på arrangementets kategori."
),
)
ticket_url = models.URLField(
blank=True,
@ -221,7 +252,7 @@ class EventPage(Page):
FieldPanel("body"),
FieldPanel("categories", widget=forms.CheckboxSelectMultiple),
FieldPanel("organizers", widget=forms.SelectMultiple),
FieldPanel("pig", heading="Bakgrunnsgris"),
FieldPanel("pig", heading="Gris"),
FieldPanel(
"facebook_url",
heading="Facebook-lenke",