add support for choosing a pig for events

This commit is contained in:
2024-05-23 02:46:39 +02:00
parent 969b8d0aaf
commit fccef30270
12 changed files with 178 additions and 20 deletions

View File

@ -0,0 +1,26 @@
# Generated by Django 5.0.6 on 2024-05-23 00:30
import wagtail.blocks
import wagtail.fields
import wagtail.images.blocks
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('events', '0027_alter_eventpage_body'),
]
operations = [
migrations.AddField(
model_name='eventpage',
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='', max_length=32),
),
migrations.AlterField(
model_name='eventpage',
name='body',
field=wagtail.fields.StreamField([('paragraph', wagtail.blocks.RichTextBlock(label='Rik tekst')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Bilde')), ('image_format', wagtail.blocks.ChoiceBlock(choices=[('fullwidth', 'Fullbredde'), ('bleed', 'Utfallende'), ('original', 'Uendret størrelse')], icon='cup', label='Bildeformat')), ('text', wagtail.blocks.CharBlock(label='Tekst', max_length=512, required=False))], label='Bilde')), ('image_slider', wagtail.blocks.StructBlock([('images', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Bilde')), ('text', wagtail.blocks.CharBlock(label='Tekst', max_length=512, required=False))]), label='Bilder', min_num=1))], label='Bildegalleri')), ('horizontal_rule', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('deepBrick', 'Dyp tegl'), ('neufPink', 'Griserosa'), ('goldenOrange', 'Gyllen oransje'), ('goldenBeige', 'Gyllen beige'), ('chateauBlue', 'Slottsblå')], label='Farge', required=False))], label='Skillelinje')), ('featured', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Tittel', max_length=64, required=True)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link'], label='Tekst', required=True)), ('featured_page', wagtail.blocks.PageChooserBlock(header='Fremhevet side', required=True)), ('link_text', wagtail.blocks.CharBlock(default='Les mer', help_text='Lenketeksten som tar deg videre til siden. Tips: Ikke start med "Trykk her"', label='Lenketekst', max_length=64, required=True)), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('left', 'Venstre'), ('right', 'Høyre')], label='Bildeplassering')), ('featured_image_override', wagtail.images.blocks.ImageChooserBlock(header='Overstyr bilde', help_text='Bildet som er tilknyttet undersiden du vil fremheve, vil automatisk brukes. Om det mangler eller du vil overstyre hvilket bilde som et brukes, kan du velge et her.', required=False))], label='Fremhevet underside'))], default=[('paragraph', '')]),
),
]

View File

@ -164,6 +164,23 @@ class EventPage(Page):
blank=True,
)
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"),
]
pig = models.CharField(max_length=32, choices=PIG_CHOICES, default="", blank=True)
ticket_url = models.URLField(
blank=True,
max_length=512,
@ -197,6 +214,7 @@ class EventPage(Page):
FieldPanel("body"),
FieldPanel("categories", widget=forms.CheckboxSelectMultiple),
FieldPanel("organizers", widget=forms.SelectMultiple),
FieldPanel("pig", heading="Bakgrunnsgris"),
FieldPanel(
"facebook_url",
heading="Facebook-lenke",
@ -223,6 +241,7 @@ class EventPage(Page):
graphql_fields = [
GraphQLImage("featured_image"),
GraphQLStreamfield("body"),
GraphQLString("pig"),
GraphQLString("ticket_url"),
GraphQLString("facebook_url"),
GraphQLInt("price_regular"),