diff --git a/exhibits/migrations/0014_alter_exhibitpage_body.py b/exhibits/migrations/0014_alter_exhibitpage_body.py new file mode 100644 index 0000000..cd01afa --- /dev/null +++ b/exhibits/migrations/0014_alter_exhibitpage_body.py @@ -0,0 +1,205 @@ +# Generated by Django 5.0.9 on 2024-10-17 21:49 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("exhibits", "0013_alter_exhibitpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="exhibitpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("interviews", 8), + ("archival_footage", 9), + ("photographs", 10), + ("original_footage", 11), + ("programs", 12), + ("related_content", 13), + ("credits", 14), + ("heading", 15), + ("text", 16), + ("image", 17), + ("subheading", 15), + ("html", 18), + ], + block_lookup={ + 0: ( + "wagtail.blocks.TextBlock", + (), + { + "help_text": "AAPB record IDs, separated by whitespace", + "required": True, + }, + ), + 1: ( + "wagtail.blocks.TextBlock", + (), + {"help_text": "Special collections IDs", "required": False}, + ), + 2: ( + "wagtail.blocks.BooleanBlock", + (), + { + "default": True, + "help_text": "Show asset title(s) for this block", + "required": False, + }, + ), + 3: ( + "wagtail.blocks.BooleanBlock", + (), + { + "default": True, + "help_text": "Show asset thumbnail(s) for this block", + "required": False, + }, + ), + 4: ( + "wagtail.blocks.BooleanBlock", + (), + { + "default": True, + "help_text": "Include title in sidebar", + "required": False, + }, + ), + 5: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["italic"], + "help_text": "The title of this group", + "max_length": 1024, + "required": False, + }, + ), + 6: ( + "ov_collections.blocks.DurationBlock", + (), + {"help_text": "Start time for the group", "required": False}, + ), + 7: ( + "ov_collections.blocks.DurationBlock", + (), + {"help_text": "End time for the group", "required": False}, + ), + 8: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "openquote", "label": "Interviews"}, + ), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "clipboard-list", "label": "Archival Footage"}, + ), + 10: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "copy", "label": "Photographs"}, + ), + 11: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "doc-full-inverse", "label": "Original Footage"}, + ), + 12: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "desktop", "label": "Programs"}, + ), + 13: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "table", "label": "Related Content"}, + ), + 14: ("wagtail.blocks.RichTextBlock", (), {"icon": "form"}), + 15: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["italic"], + "form_classname": "title", + "icon": "title", + }, + ), + 16: ("exhibits.models.RichTextFootnotesBlock", (), {}), + 17: ("wagtail.images.blocks.ImageChooserBlock", (), {}), + 18: ("wagtail.blocks.RawHTMLBlock", (), {"label": "HTML"}), + }, + ), + ), + ] diff --git a/ov_collections/blocks.py b/ov_collections/blocks.py index 0eeadb5..87e39b6 100644 --- a/ov_collections/blocks.py +++ b/ov_collections/blocks.py @@ -99,11 +99,15 @@ class AAPBRecordsBlock(StructBlock): special_collections = TextBlock(required=False, help_text='Special collections IDs') show_title = BooleanBlock( - required=False, help_text='Show asset title(s)', default=True + required=False, help_text='Show asset title(s) for this block', default=True ) show_thumbnail = BooleanBlock( - required=False, help_text='Show asset thumbnail(s)', default=True + required=False, help_text='Show asset thumbnail(s) for this block', default=True + ) + + show_sidebar = BooleanBlock( + required=False, help_text='Include title in sidebar', default=True ) title = RichTextBlock( diff --git a/ov_collections/migrations/0016_alter_collection_content.py b/ov_collections/migrations/0016_alter_collection_content.py new file mode 100644 index 0000000..b1f7a1f --- /dev/null +++ b/ov_collections/migrations/0016_alter_collection_content.py @@ -0,0 +1,204 @@ +# Generated by Django 5.0.9 on 2024-10-17 21:49 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("ov_collections", "0015_alter_collection_content"), + ] + + operations = [ + migrations.AlterField( + model_name="collection", + name="content", + field=wagtail.fields.StreamField( + [ + ("interviews", 8), + ("archival_footage", 9), + ("photographs", 10), + ("original_footage", 11), + ("programs", 12), + ("related_content", 13), + ("credits", 14), + ("heading", 15), + ("text", 16), + ("image", 17), + ("html", 18), + ], + block_lookup={ + 0: ( + "wagtail.blocks.TextBlock", + (), + { + "help_text": "AAPB record IDs, separated by whitespace", + "required": True, + }, + ), + 1: ( + "wagtail.blocks.TextBlock", + (), + {"help_text": "Special collections IDs", "required": False}, + ), + 2: ( + "wagtail.blocks.BooleanBlock", + (), + { + "default": True, + "help_text": "Show asset title(s) for this block", + "required": False, + }, + ), + 3: ( + "wagtail.blocks.BooleanBlock", + (), + { + "default": True, + "help_text": "Show asset thumbnail(s) for this block", + "required": False, + }, + ), + 4: ( + "wagtail.blocks.BooleanBlock", + (), + { + "default": True, + "help_text": "Include title in sidebar", + "required": False, + }, + ), + 5: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["italic"], + "help_text": "The title of this group", + "max_length": 1024, + "required": False, + }, + ), + 6: ( + "ov_collections.blocks.DurationBlock", + (), + {"help_text": "Start time for the group", "required": False}, + ), + 7: ( + "ov_collections.blocks.DurationBlock", + (), + {"help_text": "End time for the group", "required": False}, + ), + 8: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "openquote", "label": "Interviews"}, + ), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "clipboard-list", "label": "Archival Footage"}, + ), + 10: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "copy", "label": "Photographs"}, + ), + 11: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "doc-full-inverse", "label": "Original Footage"}, + ), + 12: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "desktop", "label": "Programs"}, + ), + 13: ( + "wagtail.blocks.StructBlock", + [ + [ + ("guids", 0), + ("special_collections", 1), + ("show_title", 2), + ("show_thumbnail", 3), + ("show_sidebar", 4), + ("title", 5), + ("start_time", 6), + ("end_time", 7), + ] + ], + {"icon": "table", "label": "Related Content"}, + ), + 14: ("wagtail.blocks.RichTextBlock", (), {"icon": "form"}), + 15: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["italic"], + "form_classname": "title", + "icon": "title", + }, + ), + 16: ("wagtail.blocks.RichTextBlock", (), {}), + 17: ("wagtail.images.blocks.ImageChooserBlock", (), {}), + 18: ("wagtail.blocks.RawHTMLBlock", (), {"label": "HTML"}), + }, + ), + ), + ] diff --git a/pyproject.toml b/pyproject.toml index 850b7dc..554d2fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,6 +36,8 @@ lock-dev = { shell = 'pdm lock -G dev,test,cli' } lock-prod = { shell = 'pdm lock -G production -L pdm-locks/pdm.prod.lock' } lock-docs = { shell = 'pdm lock -G docs -L pdm-locks/pdm.doc.lock' } locks = { composite = ['lock-dev', 'lock-prod', 'lock-docs'] } +makemigrations = { shell = 'python manage.py makemigrations' } +migrate = { shell = 'python manage.py migrate' } [project.optional-dependencies] cli = [