diff --git a/.gitignore b/.gitignore index c11be92c..dcd8acd0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,4 @@ .DS_Store /pipeline-env/ **/__pycache__/** - -*.backup \ No newline at end of file +*.backup diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py index 4a434627..c3ed6675 100644 --- a/core/migrations/0001_initial.py +++ b/core/migrations/0001_initial.py @@ -1,13 +1,16 @@ -# Generated by Django 2.1.4 on 2018-12-25 20:16 +# Generated by Django 2.2.1 on 2020-04-15 16:24 +import core.models from django.conf import settings from django.db import migrations, models import django.db.models.deletion import modelcluster.fields import taggit.managers +import wagtail.contrib.routable_page.models import wagtail.core.blocks import wagtail.core.fields import wagtail.core.models +import wagtail.embeds.blocks import wagtail.images.blocks import wagtail.images.models import wagtail.search.index @@ -19,487 +22,313 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ("taggit", "0002_auto_20150616_2121"), - ("wagtailcore", "0041_group_collection_permissions_verbose_name_plural"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'), + ('taggit', '0002_auto_20150616_2121'), ] operations = [ migrations.CreateModel( - name="ArticleAuthor", + name='ArchivesPage', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ) + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('body', wagtail.core.fields.RichTextField(blank=True, null=True)), ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( - name="ArticleAuthorRelationship", + name='ArticlePage', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ) + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('headline', wagtail.core.fields.RichTextField()), + ('subdeck', wagtail.core.fields.RichTextField(blank=True, null=True)), + ('body', wagtail.core.fields.StreamField([('paragraph', wagtail.core.blocks.RichTextBlock()), ('photo', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock()), ('caption', wagtail.core.blocks.RichTextBlock(features=['italic'], required=False)), ('size', wagtail.core.blocks.ChoiceBlock(choices=[('small', 'Small'), ('medium', 'Medium'), ('large', 'Large')], help_text='Width of image in article.'))])), ('photo_gallery', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock()), ('caption', wagtail.core.blocks.RichTextBlock(features=['italic'], required=False))]), icon='image')), ('embed', wagtail.core.blocks.StructBlock([('embed', wagtail.embeds.blocks.EmbedBlock(help_text='URL to the content to embed.')), ('size', wagtail.core.blocks.ChoiceBlock(choices=[('small', 'Small'), ('medium', 'Medium'), ('large', 'Large')], help_text='Width of video in article.'))]))], blank=True)), + ('summary', wagtail.core.fields.RichTextField(blank=True, help_text='Displayed on the home page or other places to provide a taste of what the article is about.', null=True)), + ('featured_caption', wagtail.core.fields.RichTextField(blank=True, null=True)), ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( - name="ArticlePage", + name='ArticlesIndexPage', fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ("headline", wagtail.core.fields.RichTextField()), - ("subdeck", wagtail.core.fields.RichTextField(blank=True, null=True)), - ( - "body", - wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock( - "core.Photo" - ) - ), - ), - ] - ), - ), - ( - "summary", - wagtail.core.fields.RichTextField( - blank=True, - help_text="Displayed on the home page or other places to provide a taste of what the article is about.", - null=True, - ), - ), + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ], - options={"abstract": False}, - bases=("wagtailcore.page",), + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( - name="ArticlesIndexPage", + name='CandidatePage', fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('rcs_id', models.CharField(max_length=255)), + ('election_site_id', models.IntegerField()), + ('bio', wagtail.core.fields.RichTextField(blank=True, max_length=3000, null=True)), ], - options={"abstract": False}, - bases=("wagtailcore.page",), + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( - name="Contributor", + name='Contributor', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ( - "article_author", - models.OneToOneField( - on_delete=django.db.models.deletion.PROTECT, - to="core.ArticleAuthor", - ), - ), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('rich_name', wagtail.core.fields.RichTextField(blank=True, max_length=255, null=True)), ], + bases=(wagtail.search.index.Indexed, models.Model), ), migrations.CreateModel( - name="CustomImage", + name='CustomImage', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255, verbose_name="title")), - ( - "file", - models.ImageField( - height_field="height", - upload_to=wagtail.images.models.get_upload_to, - verbose_name="file", - width_field="width", - ), - ), - ("width", models.IntegerField(editable=False, verbose_name="width")), - ("height", models.IntegerField(editable=False, verbose_name="height")), - ( - "created_at", - models.DateTimeField( - auto_now_add=True, db_index=True, verbose_name="created at" - ), - ), - ("focal_point_x", models.PositiveIntegerField(blank=True, null=True)), - ("focal_point_y", models.PositiveIntegerField(blank=True, null=True)), - ( - "focal_point_width", - models.PositiveIntegerField(blank=True, null=True), - ), - ( - "focal_point_height", - models.PositiveIntegerField(blank=True, null=True), - ), - ("file_size", models.PositiveIntegerField(editable=False, null=True)), - ( - "file_hash", - models.CharField(blank=True, editable=False, max_length=40), - ), - ( - "collection", - models.ForeignKey( - default=wagtail.core.models.get_root_collection_id, - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="wagtailcore.Collection", - verbose_name="collection", - ), - ), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255, verbose_name='title')), + ('file', models.ImageField(height_field='height', upload_to=wagtail.images.models.get_upload_to, verbose_name='file', width_field='width')), + ('width', models.IntegerField(editable=False, verbose_name='width')), + ('height', models.IntegerField(editable=False, verbose_name='height')), + ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='created at')), + ('focal_point_x', models.PositiveIntegerField(blank=True, null=True)), + ('focal_point_y', models.PositiveIntegerField(blank=True, null=True)), + ('focal_point_width', models.PositiveIntegerField(blank=True, null=True)), + ('focal_point_height', models.PositiveIntegerField(blank=True, null=True)), + ('file_size', models.PositiveIntegerField(editable=False, null=True)), + ('file_hash', models.CharField(blank=True, editable=False, max_length=40)), + ('collection', models.ForeignKey(default=wagtail.core.models.get_root_collection_id, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='wagtailcore.Collection', verbose_name='collection')), + ('photographer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='images', to='core.Contributor')), + ('tags', taggit.managers.TaggableManager(blank=True, help_text=None, through='taggit.TaggedItem', to='taggit.Tag', verbose_name='tags')), + ('uploaded_by_user', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='uploaded by user')), ], - options={"abstract": False}, + options={ + 'abstract': False, + }, bases=(wagtail.search.index.Indexed, models.Model), ), migrations.CreateModel( - name="CustomRendition", + name='Election', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("filter_spec", models.CharField(db_index=True, max_length=255)), - ( - "file", - models.ImageField( - height_field="height", - upload_to=wagtail.images.models.get_rendition_upload_to, - width_field="width", - ), - ), - ("width", models.IntegerField(editable=False)), - ("height", models.IntegerField(editable=False)), - ( - "focal_point_key", - models.CharField( - blank=True, default="", editable=False, max_length=16 - ), - ), - ( - "image", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="renditions", - to="core.CustomImage", - ), - ), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('election_site_id', models.IntegerField(default=-1)), ], + bases=(wagtail.search.index.Indexed, models.Model), ), migrations.CreateModel( - name="Kicker", + name='ElectionIndexPage', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255)), + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('electionName', models.CharField(max_length=255)), + ('electionID', models.IntegerField()), + ('panels', wagtail.core.fields.StreamField([('three_cards', wagtail.core.blocks.StructBlock([('cards', wagtail.core.blocks.StructBlock([('office', wagtail.snippets.blocks.SnippetChooserBlock(core.models.Office))]))]))], null=True)), ], + options={ + 'abstract': False, + }, + bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), ), migrations.CreateModel( - name="MigrationInformation", + name='Kicker', fields=[ - ("link", models.URLField(db_index=True)), - ( - "guid", - models.CharField(max_length=255, primary_key=True, serialize=False), - ), - ( - "article", - models.OneToOneField( - on_delete=django.db.models.deletion.CASCADE, - to="core.ArticlePage", - ), - ), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), ], ), migrations.CreateModel( - name="Photo", + name='Office', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("caption", wagtail.core.fields.RichTextField(blank=True, null=True)), - ( - "image", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('elections_site_id', models.IntegerField()), + ('election_in', models.IntegerField()), ], + bases=(wagtail.search.index.Indexed, models.Model), ), migrations.CreateModel( - name="Position", + name='Position', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=100)), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=100)), ], ), migrations.CreateModel( - name="StaffIndexPage", + name='StaffIndexPage', fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ], - options={"abstract": False}, - bases=("wagtailcore.page",), + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), ), migrations.CreateModel( - name="StaffPage", + name='StaffPage', fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ("first_name", models.CharField(max_length=100)), - ("last_name", models.CharField(max_length=100)), - ("biography", wagtail.core.fields.RichTextField(blank=True, null=True)), - ( - "email_address", - models.EmailField(blank=True, max_length=254, null=True), - ), - ( - "article_author", - models.OneToOneField( - on_delete=django.db.models.deletion.PROTECT, - to="core.ArticleAuthor", - ), - ), - ( - "photo", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('first_name', models.CharField(max_length=100)), + ('last_name', models.CharField(max_length=100)), + ('biography', wagtail.core.fields.RichTextField(blank=True, null=True)), + ('email_address', models.EmailField(blank=True, max_length=254, null=True)), + ('contributor', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='staff_page', to='core.Contributor')), + ('photo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.CustomImage')), ], - options={"abstract": False}, - bases=("wagtailcore.page",), + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), ), migrations.CreateModel( - name="StaticPage", + name='StaticPage', fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ("body", wagtail.core.fields.RichTextField()), + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('body', wagtail.core.fields.RichTextField(blank=True, null=True)), ], - options={"abstract": False}, - bases=("wagtailcore.page",), + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), ), migrations.CreateModel( - name="Term", + name='UnionTimeline', fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ("date_started", models.DateField()), - ("date_ended", models.DateField(blank=True, null=True)), - ( - "person", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.PROTECT, - related_name="terms", - to="core.StaffPage", - ), - ), - ( - "position", - models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, - related_name="terms", - to="core.Position", - ), - ), + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('events', wagtail.core.fields.StreamField([('event', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.RichTextBlock(default='', required=True)), ('date', wagtail.core.blocks.RichTextBlock(default='', required=True)), ('body', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('phrase', wagtail.core.blocks.TextBlock()), ('definition', wagtail.core.blocks.TextBlock(required=False))]))), ('featured_image', wagtail.images.blocks.ImageChooserBlock(required=False))]))])), ], - options={"ordering": ["sort_order"], "abstract": False}, + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), ), - migrations.AddField( - model_name="customimage", - name="photographer", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="images", - to="core.StaffPage", - ), + migrations.CreateModel( + name='Term', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort_order', models.IntegerField(blank=True, editable=False, null=True)), + ('date_started', models.DateField(blank=True, null=True)), + ('date_ended', models.DateField(blank=True, null=True)), + ('acting', models.BooleanField(default=False)), + ('de_facto', models.BooleanField(default=False)), + ('person', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.PROTECT, related_name='terms', to='core.StaffPage')), + ('position', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='terms', to='core.Position')), + ], + options={ + 'ordering': ['sort_order'], + 'abstract': False, + }, ), - migrations.AddField( - model_name="customimage", - name="tags", - field=taggit.managers.TaggableManager( - blank=True, - help_text=None, - through="taggit.TaggedItem", - to="taggit.Tag", - verbose_name="tags", - ), + migrations.CreateModel( + name='OfficesOrderable', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort_order', models.IntegerField(blank=True, editable=False, null=True)), + ('office', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Office')), + ], + options={ + 'ordering': ['sort_order'], + 'abstract': False, + }, ), - migrations.AddField( - model_name="customimage", - name="uploaded_by_user", - field=models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - verbose_name="uploaded by user", - ), + migrations.CreateModel( + name='NomCountOrderable', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort_order', models.IntegerField(blank=True, editable=False, null=True)), + ('count', models.IntegerField(default=0)), + ('required', models.IntegerField(default=100)), + ('office', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.Office')), + ('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='nom_counts', to='core.CandidatePage')), + ], + options={ + 'ordering': ['sort_order'], + 'abstract': False, + }, ), - migrations.AddField( - model_name="articlepage", - name="featured_photo", - field=models.ForeignKey( - blank=True, - help_text="Shown at the top of the article and on the home page.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.Photo", - ), + migrations.CreateModel( + name='NomCount', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('count', models.IntegerField(default=0)), + ('office', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.Office')), + ], + bases=(wagtail.search.index.Indexed, models.Model), + ), + migrations.CreateModel( + name='MigrationInformation', + fields=[ + ('link', models.URLField(db_index=True)), + ('guid', models.CharField(max_length=255, primary_key=True, serialize=False)), + ('article', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='core.ArticlePage')), + ], + ), + migrations.CreateModel( + name='CandidateRelatedArticles', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort_order', models.IntegerField(blank=True, editable=False, null=True)), + ('article', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='core.ArticlePage')), + ('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='related_articles', to='core.CandidatePage')), + ], + options={ + 'ordering': ['sort_order'], + 'abstract': False, + }, ), migrations.AddField( - model_name="articlepage", - name="kicker", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.Kicker", - ), + model_name='candidatepage', + name='image', + field=models.ForeignKey(blank=True, help_text='Candidate image', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.CustomImage'), ), migrations.AddField( - model_name="articleauthorrelationship", - name="article", - field=modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="authors", - to="core.ArticlePage", - ), + model_name='articlepage', + name='featured_image', + field=models.ForeignKey(blank=True, help_text='Shown at the top of the article and on the home page.', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.CustomImage'), ), migrations.AddField( - model_name="articleauthorrelationship", - name="author", - field=models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, - related_name="articles", - to="core.ArticleAuthor", - ), + model_name='articlepage', + name='kicker', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.Kicker'), ), - migrations.AlterUniqueTogether( - name="customrendition", - unique_together={("image", "filter_spec", "focal_point_key")}, + migrations.CreateModel( + name='UnionTimelineAuthorRelationship', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('author', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='timeline', to='core.Contributor')), + ('timeline', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='authors', to='core.UnionTimeline')), + ], + options={ + 'unique_together': {('timeline', 'author')}, + }, ), - migrations.AlterUniqueTogether( - name="articleauthorrelationship", unique_together={("article", "author")} + migrations.CreateModel( + name='CustomRendition', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('filter_spec', models.CharField(db_index=True, max_length=255)), + ('file', models.ImageField(height_field='height', upload_to=wagtail.images.models.get_rendition_upload_to, width_field='width')), + ('width', models.IntegerField(editable=False)), + ('height', models.IntegerField(editable=False)), + ('focal_point_key', models.CharField(blank=True, default='', editable=False, max_length=16)), + ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='renditions', to='core.CustomImage')), + ], + options={ + 'unique_together': {('image', 'filter_spec', 'focal_point_key')}, + }, + ), + migrations.CreateModel( + name='ArticleAuthorRelationship', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('article', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='authors', to='core.ArticlePage')), + ('author', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='articles', to='core.Contributor')), + ], + options={ + 'unique_together': {('article', 'author')}, + }, ), ] diff --git a/core/migrations/0001_squashed_0019_auto_20190505_0310.py b/core/migrations/0001_squashed_0019_auto_20190505_0310.py deleted file mode 100644 index afc2529c..00000000 --- a/core/migrations/0001_squashed_0019_auto_20190505_0310.py +++ /dev/null @@ -1,885 +0,0 @@ -# Generated by Django 2.2.1 on 2019-05-05 16:57 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields -import taggit.managers -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.core.models -import wagtail.embeds.blocks -import wagtail.images.blocks -import wagtail.images.models -import wagtail.search.index -import wagtail.snippets.blocks - - -class Migration(migrations.Migration): - - replaces = [ - ("core", "0001_initial"), - ("core", "0002_auto_20181225_2045"), - ("core", "0003_auto_20181225_2047"), - ("core", "0004_auto_20181225_2058"), - ("core", "0005_auto_20181225_2103"), - ("core", "0006_auto_20190426_1633"), - ("core", "0007_auto_20190429_1739"), - ("core", "0008_auto_20190429_1807"), - ("core", "0009_auto_20190429_1920"), - ("core", "0010_auto_20190429_2122"), - ("core", "0011_delete_photo"), - ("core", "0012_auto_20190430_0213"), - ("core", "0013_auto_20190430_0308"), - ("core", "0014_auto_20190430_1628"), - ("core", "0015_auto_20190501_1640"), - ("core", "0016_auto_20190501_1716"), - ("core", "0017_auto_20190501_1738"), - ("core", "0018_auto_20190502_1335"), - ("core", "0019_auto_20190505_0310"), - ] - - initial = True - - dependencies = [ - ("taggit", "0002_auto_20150616_2121"), - ("wagtailcore", "0041_group_collection_permissions_verbose_name_plural"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name="ArticleAuthor", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255, null=True)), - ], - ), - migrations.CreateModel( - name="ArticlePage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ("headline", wagtail.core.fields.RichTextField()), - ("subdeck", wagtail.core.fields.RichTextField(blank=True, null=True)), - ( - "body", - wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock( - "core.Photo" - ) - ), - ), - ] - ), - ), - ( - "summary", - wagtail.core.fields.RichTextField( - blank=True, - help_text="Displayed on the home page or other places to provide a taste of what the article is about.", - null=True, - ), - ), - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="ArticlesIndexPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="CustomImage", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255, verbose_name="title")), - ( - "file", - models.ImageField( - height_field="height", - upload_to=wagtail.images.models.get_upload_to, - verbose_name="file", - width_field="width", - ), - ), - ("width", models.IntegerField(editable=False, verbose_name="width")), - ("height", models.IntegerField(editable=False, verbose_name="height")), - ( - "created_at", - models.DateTimeField( - auto_now_add=True, db_index=True, verbose_name="created at" - ), - ), - ("focal_point_x", models.PositiveIntegerField(blank=True, null=True)), - ("focal_point_y", models.PositiveIntegerField(blank=True, null=True)), - ( - "focal_point_width", - models.PositiveIntegerField(blank=True, null=True), - ), - ( - "focal_point_height", - models.PositiveIntegerField(blank=True, null=True), - ), - ("file_size", models.PositiveIntegerField(editable=False, null=True)), - ( - "file_hash", - models.CharField(blank=True, editable=False, max_length=40), - ), - ( - "collection", - models.ForeignKey( - default=wagtail.core.models.get_root_collection_id, - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="wagtailcore.Collection", - verbose_name="collection", - ), - ), - ], - options={"abstract": False}, - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.CreateModel( - name="Kicker", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=255)), - ], - ), - migrations.CreateModel( - name="MigrationInformation", - fields=[ - ("link", models.URLField(db_index=True)), - ( - "guid", - models.CharField(max_length=255, primary_key=True, serialize=False), - ), - ( - "article", - models.OneToOneField( - on_delete=django.db.models.deletion.CASCADE, - to="core.ArticlePage", - ), - ), - ], - ), - migrations.CreateModel( - name="Position", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("title", models.CharField(max_length=100)), - ], - ), - migrations.CreateModel( - name="StaffIndexPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="StaffPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ("first_name", models.CharField(max_length=100)), - ("last_name", models.CharField(max_length=100)), - ("biography", wagtail.core.fields.RichTextField(blank=True, null=True)), - ( - "email_address", - models.EmailField(blank=True, max_length=254, null=True), - ), - ( - "photo", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="StaticPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ("body", wagtail.core.fields.RichTextField(blank=True, null=True)), - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="Term", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ("date_started", models.DateField()), - ("date_ended", models.DateField(blank=True, null=True)), - ( - "person", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.PROTECT, - related_name="terms", - to="core.StaffPage", - ), - ), - ( - "position", - models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, - related_name="terms", - to="core.Position", - ), - ), - ("acting", models.BooleanField(default=False)), - ("de_facto", models.BooleanField(default=False)), - ], - options={"ordering": ["sort_order"], "abstract": False}, - ), - migrations.AddField( - model_name="customimage", - name="photographer", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="images", - to="core.StaffPage", - ), - ), - migrations.AddField( - model_name="customimage", - name="tags", - field=taggit.managers.TaggableManager( - blank=True, - help_text=None, - through="taggit.TaggedItem", - to="taggit.Tag", - verbose_name="tags", - ), - ), - migrations.AddField( - model_name="customimage", - name="uploaded_by_user", - field=models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - verbose_name="uploaded by user", - ), - ), - migrations.AddField( - model_name="articlepage", - name="kicker", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.Kicker", - ), - ), - migrations.CreateModel( - name="CustomRendition", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("filter_spec", models.CharField(db_index=True, max_length=255)), - ( - "file", - models.ImageField( - height_field="height", - upload_to=wagtail.images.models.get_rendition_upload_to, - width_field="width", - ), - ), - ("width", models.IntegerField(editable=False)), - ("height", models.IntegerField(editable=False)), - ( - "focal_point_key", - models.CharField( - blank=True, default="", editable=False, max_length=16 - ), - ), - ( - "image", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="renditions", - to="core.CustomImage", - ), - ), - ], - options={"unique_together": {("image", "filter_spec", "focal_point_key")}}, - ), - migrations.CreateModel( - name="ArticleAuthorRelationship", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "article", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="authors", - to="core.ArticlePage", - ), - ), - ( - "author", - models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, - related_name="articles", - to="core.ArticleAuthor", - ), - ), - ], - options={"unique_together": {("article", "author")}}, - ), - migrations.AddField( - model_name="articleauthor", - name="staff_page", - field=models.OneToOneField( - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.StaffPage", - ), - ), - migrations.RenameModel(old_name="ArticleAuthor", new_name="Contributor"), - migrations.AlterField( - model_name="customimage", - name="photographer", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="images", - to="core.Contributor", - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ("caption", wagtail.core.blocks.RichTextBlock()), - ], - icon="image", - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ("caption", wagtail.core.blocks.RichTextBlock()), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - migrations.AddField( - model_name="articlepage", - name="featured_caption", - field=wagtail.core.fields.RichTextField(blank=True, null=True), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["bold", "italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - migrations.AddField( - model_name="articlepage", - name="featured_image", - field=models.ForeignKey( - blank=True, - help_text="Shown at the top of the article and on the home page.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["bold", "italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.core.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["bold", "italic"], required=False - ), - ), - ] - ), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.core.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ] - ), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.core.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ] - ), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ], - blank=True, - ), - ), - migrations.AlterField( - model_name="contributor", - name="name", - field=models.CharField(default="", max_length=255), - preserve_default=False, - ), - migrations.AddField( - model_name="contributor", - name="rich_name", - field=wagtail.core.fields.RichTextField( - blank=True, max_length=255, null=True - ), - ), - migrations.RemoveField(model_name="contributor", name="staff_page"), - migrations.AddField( - model_name="staffpage", - name="contributor", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="staff_page", - to="core.Contributor", - ), - ), - ] diff --git a/core/migrations/0002_archivespage.py b/core/migrations/0002_archivespage.py deleted file mode 100644 index f99f49f5..00000000 --- a/core/migrations/0002_archivespage.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 2.2.1 on 2019-05-09 16:57 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("wagtailcore", "0041_group_collection_permissions_verbose_name_plural"), - ("core", "0001_squashed_0019_auto_20190505_0310"), - ] - - operations = [ - migrations.CreateModel( - name="ArchivesPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ) - ] diff --git a/core/migrations/0002_auto_20181225_2045.py b/core/migrations/0002_auto_20181225_2045.py deleted file mode 100644 index 4f74fd6e..00000000 --- a/core/migrations/0002_auto_20181225_2045.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 2.1.4 on 2018-12-25 20:45 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0001_initial")] - - operations = [ - migrations.RemoveField(model_name="contributor", name="article_author"), - migrations.AddField( - model_name="articleauthor", - name="name", - field=models.CharField(max_length=255, null=True), - ), - migrations.AddField( - model_name="articleauthor", - name="staff_page", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.StaffPage", - ), - ), - migrations.DeleteModel(name="Contributor"), - ] diff --git a/core/migrations/0003_auto_20181225_2047.py b/core/migrations/0003_auto_20181225_2047.py deleted file mode 100644 index e7483adb..00000000 --- a/core/migrations/0003_auto_20181225_2047.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 2.1.4 on 2018-12-25 20:47 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0002_auto_20181225_2045")] - - operations = [ - migrations.AlterField( - model_name="articleauthor", - name="staff_page", - field=models.OneToOneField( - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.StaffPage", - ), - ) - ] diff --git a/core/migrations/0003_auto_20190511_0230.py b/core/migrations/0003_auto_20190511_0230.py deleted file mode 100644 index 576bfc74..00000000 --- a/core/migrations/0003_auto_20190511_0230.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 2.2.1 on 2019-05-11 02:30 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0002_archivespage")] - - operations = [ - migrations.AlterField( - model_name="term", - name="date_started", - field=models.DateField(blank=True, null=True), - ) - ] diff --git a/core/migrations/0004_archivespage_body.py b/core/migrations/0004_archivespage_body.py deleted file mode 100644 index 420de648..00000000 --- a/core/migrations/0004_archivespage_body.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.2.1 on 2019-05-11 15:30 - -from django.db import migrations -import wagtail.core.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0003_auto_20190511_0230")] - - operations = [ - migrations.AddField( - model_name="archivespage", - name="body", - field=wagtail.core.fields.RichTextField(blank=True, null=True), - ) - ] diff --git a/core/migrations/0004_auto_20181225_2058.py b/core/migrations/0004_auto_20181225_2058.py deleted file mode 100644 index 61c03cad..00000000 --- a/core/migrations/0004_auto_20181225_2058.py +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Django 2.1.4 on 2018-12-25 20:58 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0003_auto_20181225_2047")] - - operations = [ - migrations.RenameModel(old_name="ArticleAuthor", new_name="Contributor"), - migrations.RemoveField(model_name="staffpage", name="article_author"), - ] diff --git a/core/migrations/0005_auto_20181225_2103.py b/core/migrations/0005_auto_20181225_2103.py deleted file mode 100644 index 3e41e707..00000000 --- a/core/migrations/0005_auto_20181225_2103.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.1.4 on 2018-12-25 21:03 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0004_auto_20181225_2058")] - - operations = [ - migrations.AlterField( - model_name="customimage", - name="photographer", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="images", - to="core.Contributor", - ), - ) - ] diff --git a/core/migrations/0005_electionindexpage.py b/core/migrations/0005_electionindexpage.py deleted file mode 100644 index 7f001dd8..00000000 --- a/core/migrations/0005_electionindexpage.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-30 23:52 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("wagtailcore", "0041_group_collection_permissions_verbose_name_plural"), - ("core", "0004_archivespage_body"), - ] - - operations = [ - migrations.CreateModel( - name="ElectionIndexPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ) - ] diff --git a/core/migrations/0006_auto_20190426_1633.py b/core/migrations/0006_auto_20190426_1633.py deleted file mode 100644 index 512c21c1..00000000 --- a/core/migrations/0006_auto_20190426_1633.py +++ /dev/null @@ -1,46 +0,0 @@ -# Generated by Django 2.1.8 on 2019-04-26 16:33 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks -import wagtail.snippets.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0005_auto_20181225_2103")] - - operations = [ - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ) - ] diff --git a/core/migrations/0006_candidate.py b/core/migrations/0006_candidate.py deleted file mode 100644 index c73c2530..00000000 --- a/core/migrations/0006_candidate.py +++ /dev/null @@ -1,43 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 00:18 - -from django.db import migrations, models -import wagtail.core.fields -import wagtail.search.index - - -class Migration(migrations.Migration): - - dependencies = [("core", "0005_electionindexpage")] - - operations = [ - migrations.CreateModel( - name="Candidate", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ("rcs_id", models.CharField(max_length=255)), - ( - "rich_name", - wagtail.core.fields.RichTextField( - blank=True, max_length=255, null=True - ), - ), - ("nominations", models.IntegerField()), - ( - "bio", - wagtail.core.fields.RichTextField( - blank=True, max_length=3000, null=True - ), - ), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ) - ] diff --git a/core/migrations/0007_auto_20190429_1739.py b/core/migrations/0007_auto_20190429_1739.py deleted file mode 100644 index 73b15704..00000000 --- a/core/migrations/0007_auto_20190429_1739.py +++ /dev/null @@ -1,55 +0,0 @@ -# Generated by Django 2.2 on 2019-04-29 17:39 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks -import wagtail.snippets.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0006_auto_20190426_1633")] - - operations = [ - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ("caption", wagtail.core.blocks.RichTextBlock()), - ], - icon="image", - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ) - ] diff --git a/core/migrations/0007_auto_20200131_0036.py b/core/migrations/0007_auto_20200131_0036.py deleted file mode 100644 index dc5c2ad8..00000000 --- a/core/migrations/0007_auto_20200131_0036.py +++ /dev/null @@ -1,52 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 00:36 - -from django.db import migrations, models -import django.db.models.deletion -import wagtail.search.index - - -class Migration(migrations.Migration): - - dependencies = [("core", "0006_candidate")] - - operations = [ - migrations.CreateModel( - name="Office", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ("req_nominations", models.IntegerField()), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.AddField( - model_name="candidate", - name="position", - field=models.CharField(default="", max_length=255), - preserve_default=False, - ), - migrations.AddField( - model_name="candidate", - name="reqd_nominations", - field=models.IntegerField(default=0), - preserve_default=False, - ), - migrations.AddField( - model_name="candidate", - name="contributor", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.Office", - ), - ), - ] diff --git a/core/migrations/0008_auto_20190429_1807.py b/core/migrations/0008_auto_20190429_1807.py deleted file mode 100644 index 2214bdda..00000000 --- a/core/migrations/0008_auto_20190429_1807.py +++ /dev/null @@ -1,54 +0,0 @@ -# Generated by Django 2.2 on 2019-04-29 18:07 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks -import wagtail.snippets.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0007_auto_20190429_1739")] - - operations = [ - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ("caption", wagtail.core.blocks.RichTextBlock()), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ) - ] diff --git a/core/migrations/0008_auto_20200131_0038.py b/core/migrations/0008_auto_20200131_0038.py deleted file mode 100644 index edf49f7b..00000000 --- a/core/migrations/0008_auto_20200131_0038.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 00:38 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0007_auto_20200131_0036")] - - operations = [ - migrations.RemoveField(model_name="candidate", name="contributor"), - migrations.AlterField( - model_name="candidate", - name="position", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="office", - to="core.Office", - ), - ), - ] diff --git a/core/migrations/0009_auto_20190429_1920.py b/core/migrations/0009_auto_20190429_1920.py deleted file mode 100644 index f3ace972..00000000 --- a/core/migrations/0009_auto_20190429_1920.py +++ /dev/null @@ -1,86 +0,0 @@ -# Generated by Django 2.2 on 2019-04-29 19:20 - -from django.db import migrations, models -import django.db.models.deletion -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks -import wagtail.snippets.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0008_auto_20190429_1807")] - - operations = [ - migrations.AddField( - model_name="articlepage", - name="featured_caption", - field=wagtail.core.fields.RichTextField(blank=True, null=True), - ), - migrations.AddField( - model_name="articlepage", - name="featured_image", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["bold", "italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.snippets.blocks.SnippetChooserBlock("core.Photo"), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ), - ] diff --git a/core/migrations/0009_auto_20200131_0045.py b/core/migrations/0009_auto_20200131_0045.py deleted file mode 100644 index d02b289d..00000000 --- a/core/migrations/0009_auto_20200131_0045.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 00:45 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0008_auto_20200131_0038")] - - operations = [ - migrations.AlterField( - model_name="candidate", - name="position", - field=models.ForeignKey( - blank=True, - default="", - on_delete=django.db.models.deletion.PROTECT, - related_name="office", - to="core.Office", - ), - preserve_default=False, - ) - ] diff --git a/core/migrations/0010_auto_20190429_2122.py b/core/migrations/0010_auto_20190429_2122.py deleted file mode 100644 index d3449cd8..00000000 --- a/core/migrations/0010_auto_20190429_2122.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.2 on 2019-04-29 21:22 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0009_auto_20190429_1920")] - - operations = [ - migrations.RemoveField(model_name="articlepage", name="featured_photo"), - migrations.AlterField( - model_name="articlepage", - name="featured_image", - field=models.ForeignKey( - blank=True, - help_text="Shown at the top of the article and on the home page.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), - ] diff --git a/core/migrations/0010_auto_20200131_0051.py b/core/migrations/0010_auto_20200131_0051.py deleted file mode 100644 index d214d1ad..00000000 --- a/core/migrations/0010_auto_20200131_0051.py +++ /dev/null @@ -1,58 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 00:51 - -from django.db import migrations, models -import django.db.models.deletion -import wagtail.search.index - - -class Migration(migrations.Migration): - - dependencies = [("core", "0009_auto_20200131_0045")] - - operations = [ - migrations.RemoveField(model_name="candidate", name="nominations"), - migrations.RemoveField(model_name="candidate", name="reqd_nominations"), - migrations.AlterField( - model_name="candidate", - name="position", - field=models.CharField(max_length=255), - ), - migrations.CreateModel( - name="RunningFor", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("nominations", models.IntegerField()), - ("reqd_nominations", models.IntegerField()), - ( - "office", - models.ForeignKey( - blank=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="offices", - to="core.Office", - ), - ), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.AddField( - model_name="candidate", - name="runningFor", - field=models.ForeignKey( - blank=True, - default="", - on_delete=django.db.models.deletion.PROTECT, - related_name="offices", - to="core.RunningFor", - ), - preserve_default=False, - ), - ] diff --git a/core/migrations/0011_auto_20200131_0053.py b/core/migrations/0011_auto_20200131_0053.py deleted file mode 100644 index e801ee55..00000000 --- a/core/migrations/0011_auto_20200131_0053.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 00:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0010_auto_20200131_0051")] - - operations = [ - migrations.RemoveField(model_name="candidate", name="runningFor"), - migrations.AddField( - model_name="office", - name="elections_site_id", - field=models.IntegerField(default=10), - preserve_default=False, - ), - migrations.DeleteModel(name="RunningFor"), - ] diff --git a/core/migrations/0011_delete_photo.py b/core/migrations/0011_delete_photo.py deleted file mode 100644 index ea8e75b2..00000000 --- a/core/migrations/0011_delete_photo.py +++ /dev/null @@ -1,10 +0,0 @@ -# Generated by Django 2.2 on 2019-04-29 22:51 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0010_auto_20190429_2122")] - - operations = [migrations.DeleteModel(name="Photo")] diff --git a/core/migrations/0012_auto_20190430_0213.py b/core/migrations/0012_auto_20190430_0213.py deleted file mode 100644 index 36c28b69..00000000 --- a/core/migrations/0012_auto_20190430_0213.py +++ /dev/null @@ -1,82 +0,0 @@ -# Generated by Django 2.2 on 2019-04-30 02:13 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0011_delete_photo")] - - operations = [ - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["bold", "italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.core.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["bold", "italic"], required=False - ), - ), - ] - ), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ) - ] diff --git a/core/migrations/0012_auto_20200131_0237.py b/core/migrations/0012_auto_20200131_0237.py deleted file mode 100644 index 197c6a80..00000000 --- a/core/migrations/0012_auto_20200131_0237.py +++ /dev/null @@ -1,51 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 02:37 - -from django.db import migrations, models -import django.db.models.deletion -import wagtail.search.index - - -class Migration(migrations.Migration): - - dependencies = [("core", "0011_auto_20200131_0053")] - - operations = [ - migrations.CreateModel( - name="Election", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=255)), - ("election_site_id", models.IntegerField(default=-1)), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.RemoveField(model_name="candidate", name="position"), - migrations.AddField( - model_name="candidate", - name="election_in", - field=models.ForeignKey( - default="", - on_delete=django.db.models.deletion.PROTECT, - to="core.Election", - ), - preserve_default=False, - ), - migrations.AddField( - model_name="office", - name="election_in", - field=models.ForeignKey( - default="", - on_delete=django.db.models.deletion.PROTECT, - to="core.Election", - ), - preserve_default=False, - ), - ] diff --git a/core/migrations/0013_auto_20190430_0308.py b/core/migrations/0013_auto_20190430_0308.py deleted file mode 100644 index dd2128b7..00000000 --- a/core/migrations/0013_auto_20190430_0308.py +++ /dev/null @@ -1,82 +0,0 @@ -# Generated by Django 2.2 on 2019-04-30 03:08 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0012_auto_20190430_0213")] - - operations = [ - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.core.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ] - ), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ] - ), - ) - ] diff --git a/core/migrations/0013_electionindexpage_featured_articles.py b/core/migrations/0013_electionindexpage_featured_articles.py deleted file mode 100644 index 49bdad7e..00000000 --- a/core/migrations/0013_electionindexpage_featured_articles.py +++ /dev/null @@ -1,76 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 02:49 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0012_auto_20200131_0237")] - - operations = [ - migrations.AddField( - model_name="electionindexpage", - name="featured_articles", - field=wagtail.core.fields.StreamField( - [ - ( - "one_column_candidate", - wagtail.core.blocks.StructBlock( - [ - ( - "column", - wagtail.core.blocks.StructBlock( - [ - ( - "article", - wagtail.core.blocks.PageChooserBlock( - page_type=["core.ArticlePage"] - ), - ), - ( - "headline", - wagtail.core.blocks.RichTextBlock( - help_text="Optional. Will override the article's headline.", - required=False, - ), - ), - ] - ), - ) - ] - ), - ), - ( - "one_column_article", - wagtail.core.blocks.StructBlock( - [ - ( - "column", - wagtail.core.blocks.StructBlock( - [ - ( - "article", - wagtail.core.blocks.PageChooserBlock( - page_type=["core.ArticlePage"] - ), - ), - ( - "headline", - wagtail.core.blocks.RichTextBlock( - help_text="Optional. Will override the article's headline.", - required=False, - ), - ), - ] - ), - ) - ] - ), - ), - ], - null=True, - ), - ) - ] diff --git a/core/migrations/0014_auto_20190430_1628.py b/core/migrations/0014_auto_20190430_1628.py deleted file mode 100644 index 1a38c6a5..00000000 --- a/core/migrations/0014_auto_20190430_1628.py +++ /dev/null @@ -1,88 +0,0 @@ -# Generated by Django 2.2 on 2019-04-30 16:28 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0013_auto_20190430_0308")] - - operations = [ - migrations.AlterField( - model_name="articlepage", - name="body", - field=wagtail.core.fields.StreamField( - [ - ("paragraph", wagtail.core.blocks.RichTextBlock()), - ( - "photo", - wagtail.core.blocks.StructBlock( - [ - ("image", wagtail.images.blocks.ImageChooserBlock()), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ( - "size", - wagtail.core.blocks.ChoiceBlock( - choices=[ - ("small", "Small"), - ("medium", "Medium"), - ("large", "Large"), - ], - help_text="Width of image in article.", - ), - ), - ] - ), - ), - ( - "photo_gallery", - wagtail.core.blocks.ListBlock( - wagtail.core.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock(), - ), - ( - "caption", - wagtail.core.blocks.RichTextBlock( - features=["italic"], required=False - ), - ), - ] - ), - icon="image", - ), - ), - ( - "embed", - wagtail.core.blocks.StructBlock( - [ - ( - "embed", - wagtail.embeds.blocks.EmbedBlock( - help_text="URL to the content to embed." - ), - ) - ] - ), - ), - ], - blank=True, - ), - ), - migrations.AlterField( - model_name="staticpage", - name="body", - field=wagtail.core.fields.RichTextField(blank=True, null=True), - ), - ] diff --git a/core/migrations/0014_auto_20200131_0252.py b/core/migrations/0014_auto_20200131_0252.py deleted file mode 100644 index d3ad8688..00000000 --- a/core/migrations/0014_auto_20200131_0252.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 02:52 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0013_electionindexpage_featured_articles")] - - operations = [ - migrations.RemoveField( - model_name="electionindexpage", name="featured_articles" - ), - migrations.AddField( - model_name="electionindexpage", - name="electionID", - field=models.ForeignKey( - default=1, - on_delete=django.db.models.deletion.PROTECT, - to="core.Election", - ), - preserve_default=False, - ), - ] diff --git a/core/migrations/0015_auto_20190501_1640.py b/core/migrations/0015_auto_20190501_1640.py deleted file mode 100644 index be98f8e0..00000000 --- a/core/migrations/0015_auto_20190501_1640.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.2 on 2019-05-01 16:40 - -from django.db import migrations, models -import wagtail.core.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0014_auto_20190430_1628")] - - operations = [ - migrations.AddField( - model_name="contributor", - name="rich_name", - field=wagtail.core.fields.RichTextField(max_length=255, null=True), - ), - migrations.AlterField( - model_name="contributor", - name="name", - field=models.CharField(default="", max_length=255), - preserve_default=False, - ), - ] diff --git a/core/migrations/0015_candidatepage_officesorderable.py b/core/migrations/0015_candidatepage_officesorderable.py deleted file mode 100644 index 4f4a2f18..00000000 --- a/core/migrations/0015_candidatepage_officesorderable.py +++ /dev/null @@ -1,78 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 03:19 - -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ("wagtailcore", "0041_group_collection_permissions_verbose_name_plural"), - ("core", "0014_auto_20200131_0252"), - ] - - operations = [ - migrations.CreateModel( - name="CandidatePage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ), - ( - "candidate", - models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, to="core.Candidate" - ), - ), - ( - "offices", - models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, to="core.Office" - ), - ), - ], - options={"abstract": False}, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="OfficesOrderable", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ( - "office", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="core.Office" - ), - ), - ( - "page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - to="core.CandidatePage", - ), - ), - ], - options={"ordering": ["sort_order"], "abstract": False}, - ), - ] diff --git a/core/migrations/0016_auto_20190501_1716.py b/core/migrations/0016_auto_20190501_1716.py deleted file mode 100644 index 2bc0bf76..00000000 --- a/core/migrations/0016_auto_20190501_1716.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 2.2 on 2019-05-01 17:16 - -from django.db import migrations, models -import django.db.models.deletion -import wagtail.core.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0015_auto_20190501_1640")] - - operations = [ - migrations.AlterField( - model_name="contributor", - name="rich_name", - field=wagtail.core.fields.RichTextField( - blank=True, max_length=255, null=True - ), - ), - migrations.AlterField( - model_name="contributor", - name="staff_page", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.StaffPage", - ), - ), - ] diff --git a/core/migrations/0016_auto_20200131_0323.py b/core/migrations/0016_auto_20200131_0323.py deleted file mode 100644 index e023e795..00000000 --- a/core/migrations/0016_auto_20200131_0323.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 03:23 - -from django.db import migrations -import django.db.models.deletion -import modelcluster.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0015_candidatepage_officesorderable")] - - operations = [ - migrations.AlterField( - model_name="officesorderable", - name="page", - field=modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="offices_in", - to="core.CandidatePage", - ), - ) - ] diff --git a/core/migrations/0017_auto_20190501_1738.py b/core/migrations/0017_auto_20190501_1738.py deleted file mode 100644 index fc6ac2f1..00000000 --- a/core/migrations/0017_auto_20190501_1738.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.2 on 2019-05-01 17:38 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0016_auto_20190501_1716")] - - operations = [ - migrations.RemoveField(model_name="contributor", name="staff_page"), - migrations.AddField( - model_name="staffpage", - name="contributor", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.Contributor", - ), - ), - ] diff --git a/core/migrations/0017_candidatepage_nominations.py b/core/migrations/0017_candidatepage_nominations.py deleted file mode 100644 index dbd6fd74..00000000 --- a/core/migrations/0017_candidatepage_nominations.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 03:26 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0016_auto_20200131_0323")] - - operations = [ - migrations.AddField( - model_name="candidatepage", - name="nominations", - field=models.IntegerField(default=5), - preserve_default=False, - ) - ] diff --git a/core/migrations/0018_auto_20190502_1335.py b/core/migrations/0018_auto_20190502_1335.py deleted file mode 100644 index 052ebc31..00000000 --- a/core/migrations/0018_auto_20190502_1335.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.2 on 2019-05-02 13:35 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0017_auto_20190501_1738")] - - operations = [ - migrations.AlterField( - model_name="staffpage", - name="contributor", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="staff_page", - to="core.Contributor", - ), - ) - ] diff --git a/core/migrations/0018_remove_candidatepage_offices.py b/core/migrations/0018_remove_candidatepage_offices.py deleted file mode 100644 index 399cecaf..00000000 --- a/core/migrations/0018_remove_candidatepage_offices.py +++ /dev/null @@ -1,10 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 03:28 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0017_candidatepage_nominations")] - - operations = [migrations.RemoveField(model_name="candidatepage", name="offices")] diff --git a/core/migrations/0019_auto_20190505_0310.py b/core/migrations/0019_auto_20190505_0310.py deleted file mode 100644 index 1f749805..00000000 --- a/core/migrations/0019_auto_20190505_0310.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.2 on 2019-05-05 03:10 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0018_auto_20190502_1335")] - - operations = [ - migrations.AddField( - model_name="term", name="acting", field=models.BooleanField(default=False) - ), - migrations.AddField( - model_name="term", name="de_facto", field=models.BooleanField(default=False) - ), - ] diff --git a/core/migrations/0019_auto_20200131_2107.py b/core/migrations/0019_auto_20200131_2107.py deleted file mode 100644 index 71ad3318..00000000 --- a/core/migrations/0019_auto_20200131_2107.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 21:07 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0018_remove_candidatepage_offices")] - - operations = [ - migrations.AddField( - model_name="electionindexpage", - name="electionName", - field=models.CharField(default="test", max_length=255), - preserve_default=False, - ), - migrations.AlterField( - model_name="electionindexpage", - name="electionID", - field=models.IntegerField(), - ), - ] diff --git a/core/migrations/0020_auto_20200131_2115.py b/core/migrations/0020_auto_20200131_2115.py deleted file mode 100644 index b61eadc2..00000000 --- a/core/migrations/0020_auto_20200131_2115.py +++ /dev/null @@ -1,53 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 21:15 - -from django.db import migrations, models -import django.db.models.deletion -import wagtail.core.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0019_auto_20200131_2107")] - - operations = [ - migrations.RemoveField(model_name="candidate", name="bio"), - migrations.RemoveField(model_name="candidate", name="name"), - migrations.RemoveField(model_name="candidate", name="rcs_id"), - migrations.RemoveField(model_name="candidatepage", name="candidate"), - migrations.AddField( - model_name="candidatepage", - name="bio", - field=wagtail.core.fields.RichTextField( - blank=True, max_length=3000, null=True - ), - ), - migrations.AddField( - model_name="candidatepage", - name="election_site_id", - field=models.IntegerField(default=1), - preserve_default=False, - ), - migrations.AddField( - model_name="candidatepage", - name="image", - field=models.ForeignKey( - blank=True, - help_text="Candidate image", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.CustomImage", - ), - ), - migrations.AddField( - model_name="candidatepage", - name="name", - field=models.CharField(default="Joey", max_length=255), - preserve_default=False, - ), - migrations.AddField( - model_name="candidatepage", - name="rcs_id", - field=models.CharField(default="lyonj4", max_length=255), - preserve_default=False, - ), - ] diff --git a/core/migrations/0021_officesorderable_electionpage.py b/core/migrations/0021_officesorderable_electionpage.py deleted file mode 100644 index a01ed645..00000000 --- a/core/migrations/0021_officesorderable_electionpage.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 21:46 - -from django.db import migrations -import django.db.models.deletion -import modelcluster.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0020_auto_20200131_2115")] - - operations = [ - migrations.AddField( - model_name="officesorderable", - name="electionPage", - field=modelcluster.fields.ParentalKey( - default=546, - on_delete=django.db.models.deletion.CASCADE, - related_name="election_offices", - to="core.ElectionIndexPage", - ), - preserve_default=False, - ) - ] diff --git a/core/migrations/0022_auto_20200131_2247.py b/core/migrations/0022_auto_20200131_2247.py deleted file mode 100644 index 31b24274..00000000 --- a/core/migrations/0022_auto_20200131_2247.py +++ /dev/null @@ -1,70 +0,0 @@ -# Generated by Django 2.2.9 on 2020-01-31 22:47 - -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields -import wagtail.search.index - - -class Migration(migrations.Migration): - - dependencies = [("core", "0021_officesorderable_electionpage")] - - operations = [ - migrations.CreateModel( - name="NomCount", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("count", models.IntegerField(default=0)), - ( - "office", - models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, to="core.Office" - ), - ), - ], - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.RemoveField(model_name="officesorderable", name="page"), - migrations.CreateModel( - name="NomCountOrderable", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ( - "NomCount", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="core.NomCount" - ), - ), - ( - "page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="nom_counts", - to="core.CandidatePage", - ), - ), - ], - options={"ordering": ["sort_order"], "abstract": False}, - ), - ] diff --git a/core/migrations/0023_auto_20200201_2030.py b/core/migrations/0023_auto_20200201_2030.py deleted file mode 100644 index 036e7a08..00000000 --- a/core/migrations/0023_auto_20200201_2030.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-01 20:30 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0022_auto_20200131_2247")] - - operations = [ - migrations.RemoveField(model_name="nomcountorderable", name="NomCount"), - migrations.AddField( - model_name="nomcountorderable", - name="count", - field=models.IntegerField(default=0), - ), - migrations.AddField( - model_name="nomcountorderable", - name="office", - field=models.ForeignKey( - default=3, on_delete=django.db.models.deletion.PROTECT, to="core.Office" - ), - preserve_default=False, - ), - ] diff --git a/core/migrations/0024_remove_candidatepage_nominations.py b/core/migrations/0024_remove_candidatepage_nominations.py deleted file mode 100644 index 3ab8d0c4..00000000 --- a/core/migrations/0024_remove_candidatepage_nominations.py +++ /dev/null @@ -1,12 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-01 20:45 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0023_auto_20200201_2030")] - - operations = [ - migrations.RemoveField(model_name="candidatepage", name="nominations") - ] diff --git a/core/migrations/0025_electionindexpage_panels.py b/core/migrations/0025_electionindexpage_panels.py deleted file mode 100644 index e6d12528..00000000 --- a/core/migrations/0025_electionindexpage_panels.py +++ /dev/null @@ -1,42 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-02 03:17 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0024_remove_candidatepage_nominations")] - - operations = [ - migrations.AddField( - model_name="electionindexpage", - name="panels", - field=wagtail.core.fields.StreamField( - [ - ( - "three_cards", - wagtail.core.blocks.StructBlock( - [ - ( - "cards", - wagtail.core.blocks.StructBlock( - [ - ( - "candidate", - wagtail.core.blocks.PageChooserBlock( - page_type=["core.Office"] - ), - ) - ] - ), - ) - ] - ), - ) - ], - null=True, - ), - ) - ] diff --git a/core/migrations/0026_auto_20200202_0329.py b/core/migrations/0026_auto_20200202_0329.py deleted file mode 100644 index 82df96ff..00000000 --- a/core/migrations/0026_auto_20200202_0329.py +++ /dev/null @@ -1,44 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-02 03:29 - -import core.models -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.snippets.blocks - - -class Migration(migrations.Migration): - - dependencies = [("core", "0025_electionindexpage_panels")] - - operations = [ - migrations.AlterField( - model_name="electionindexpage", - name="panels", - field=wagtail.core.fields.StreamField( - [ - ( - "three_cards", - wagtail.core.blocks.StructBlock( - [ - ( - "cards", - wagtail.core.blocks.StructBlock( - [ - ( - "office", - wagtail.snippets.blocks.SnippetChooserBlock( - core.models.Office - ), - ) - ] - ), - ) - ] - ), - ) - ], - null=True, - ), - ) - ] diff --git a/core/migrations/0027_auto_20200202_1822.py b/core/migrations/0027_auto_20200202_1822.py deleted file mode 100644 index 8553bbbe..00000000 --- a/core/migrations/0027_auto_20200202_1822.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-02 18:22 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0026_auto_20200202_0329")] - - operations = [ - migrations.AddField( - model_name="nomcountorderable", - name="required", - field=models.IntegerField(default=100), - ), - migrations.DeleteModel(name="Candidate"), - ] diff --git a/core/migrations/0028_auto_20200202_1832.py b/core/migrations/0028_auto_20200202_1832.py deleted file mode 100644 index 5a3c03f6..00000000 --- a/core/migrations/0028_auto_20200202_1832.py +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-02 18:32 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0027_auto_20200202_1822")] - - operations = [ - migrations.RemoveField(model_name="office", name="req_nominations"), - migrations.RemoveField(model_name="officesorderable", name="electionPage"), - ] diff --git a/core/migrations/0029_remove_candidatepage_name.py b/core/migrations/0029_remove_candidatepage_name.py deleted file mode 100644 index 3d41c59c..00000000 --- a/core/migrations/0029_remove_candidatepage_name.py +++ /dev/null @@ -1,10 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 18:05 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0028_auto_20200202_1832")] - - operations = [migrations.RemoveField(model_name="candidatepage", name="name")] diff --git a/core/migrations/0030_candidatepage_related_articles.py b/core/migrations/0030_candidatepage_related_articles.py deleted file mode 100644 index 30dad96f..00000000 --- a/core/migrations/0030_candidatepage_related_articles.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 18:37 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0029_remove_candidatepage_name")] - - operations = [ - migrations.AddField( - model_name="candidatepage", - name="related_articles", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="+", - to="core.ArticlePage", - ), - ) - ] diff --git a/core/migrations/0031_auto_20200215_1843.py b/core/migrations/0031_auto_20200215_1843.py deleted file mode 100644 index 463a3415..00000000 --- a/core/migrations/0031_auto_20200215_1843.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 18:43 - -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0030_candidatepage_related_articles")] - - operations = [ - migrations.RemoveField(model_name="candidatepage", name="related_articles"), - migrations.CreateModel( - name="CandidateRelatedAuthors", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ( - "page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="related_articles", - to="core.ArticlePage", - ), - ), - ], - options={"ordering": ["sort_order"], "abstract": False}, - ), - ] diff --git a/core/migrations/0032_auto_20200215_1845.py b/core/migrations/0032_auto_20200215_1845.py deleted file mode 100644 index 6b032287..00000000 --- a/core/migrations/0032_auto_20200215_1845.py +++ /dev/null @@ -1,50 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 18:45 - -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields - - -class Migration(migrations.Migration): - - dependencies = [("core", "0031_auto_20200215_1843")] - - operations = [ - migrations.CreateModel( - name="CandidateRelatedArticles", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ( - "article", - models.ForeignKey( - blank=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="+", - to="core.ArticlePage", - ), - ), - ( - "page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="related_articles", - to="core.CandidatePage", - ), - ), - ], - options={"ordering": ["sort_order"], "abstract": False}, - ), - migrations.DeleteModel(name="CandidateRelatedAuthors"), - ] diff --git a/core/migrations/0033_office_description.py b/core/migrations/0033_office_description.py deleted file mode 100644 index 0c2d0bd1..00000000 --- a/core/migrations/0033_office_description.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 20:29 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0032_auto_20200215_1845")] - - operations = [ - migrations.AddField( - model_name="office", - name="description", - field=models.CharField(default="", max_length=255), - preserve_default=False, - ) - ] diff --git a/core/migrations/0034_remove_office_election_in.py b/core/migrations/0034_remove_office_election_in.py deleted file mode 100644 index 14b5dee5..00000000 --- a/core/migrations/0034_remove_office_election_in.py +++ /dev/null @@ -1,10 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 20:30 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("core", "0033_office_description")] - - operations = [migrations.RemoveField(model_name="office", name="election_in")] diff --git a/core/migrations/0035_auto_20200215_2037.py b/core/migrations/0035_auto_20200215_2037.py deleted file mode 100644 index fb47e019..00000000 --- a/core/migrations/0035_auto_20200215_2037.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 20:37 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("core", "0034_remove_office_election_in")] - - operations = [ - migrations.RemoveField(model_name="office", name="description"), - migrations.AddField( - model_name="office", - name="election_in", - field=models.ForeignKey( - default=1, - on_delete=django.db.models.deletion.PROTECT, - to="core.Election", - ), - preserve_default=False, - ), - ] diff --git a/core/migrations/0036_auto_20200215_2042.py b/core/migrations/0036_auto_20200215_2042.py deleted file mode 100644 index 4770d16f..00000000 --- a/core/migrations/0036_auto_20200215_2042.py +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by Django 2.2.9 on 2020-02-15 20:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("core", "0035_auto_20200215_2037")] - - operations = [ - migrations.AlterField( - model_name="office", name="election_in", field=models.IntegerField() - ) - ] diff --git a/core/migrations/0037_auto_20200326_1525.py b/core/migrations/0037_auto_20200326_1525.py deleted file mode 100644 index 249c26b1..00000000 --- a/core/migrations/0037_auto_20200326_1525.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 2.2.9 on 2020-03-26 15:25 - -from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields -import wagtail.embeds.blocks -import wagtail.images.blocks - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0036_auto_20200215_2042'), - ] - - operations = [ - migrations.AlterField( - model_name='articlepage', - name='body', - field=wagtail.core.fields.StreamField([('paragraph', wagtail.core.blocks.RichTextBlock()), ('photo', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock()), ('caption', wagtail.core.blocks.RichTextBlock(features=['italic'], required=False)), ('size', wagtail.core.blocks.ChoiceBlock(choices=[('small', 'Small'), ('medium', 'Medium'), ('large', 'Large')], help_text='Width of image in article.'))])), ('photo_gallery', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock()), ('caption', wagtail.core.blocks.RichTextBlock(features=['italic'], required=False))]), icon='image')), ('embed', wagtail.core.blocks.StructBlock([('embed', wagtail.embeds.blocks.EmbedBlock(help_text='URL to the content to embed.')), ('size', wagtail.core.blocks.ChoiceBlock(choices=[('small', 'Small'), ('medium', 'Medium'), ('large', 'Large')], help_text='Width of video in article.'))]))], blank=True), - ), - ] diff --git a/core/models.py b/core/models.py index 99af0056..61baa0bf 100644 --- a/core/models.py +++ b/core/models.py @@ -30,6 +30,9 @@ URLBlock, StructValue, ChoiceBlock, + IntegerBlock, + StreamBlock, + TextBlock, ) from wagtail.core.fields import RichTextField, StreamField from wagtail.core.models import Page, Orderable @@ -376,6 +379,56 @@ class GalleryPhotoBlock(StructBlock): caption = RichTextBlock(features=["italic"], required=False) +class UnionEvent(StructBlock): + title = RichTextBlock(required=True, default="") + date = RichTextBlock(required=True, default="") + body = ListBlock( + StructBlock( + [("phrase", TextBlock()), ("definition", TextBlock(required=False))] + ) + ) + featured_image = ImageChooserBlock(required=False) + + def get_text_html(self): + """Get the HTML that represents paragraphs within the article as a string.""" + builder = "" + for block in event.body: + builder += str(block.value.phrase) + return builder + + def get_plain_text(self): + builder = "" + soup = BeautifulSoup(self.get_text_html(), "html.parser") + for para in soup.findAll("p"): + builder += para.text + builder += " " + return builder[:-1] + + +class UnionTimeline(Page): + events = StreamField([("event", UnionEvent())]) + + content_panels = [ + InlinePanel( + "authors", + panels=[AutocompletePanel("author", target_model="core.Contributor")], + label="Author", + ), + StreamFieldPanel("events"), + ] + + def get_context(self, request): + context = super().get_context(request) + context["authors"] = self.get_authors() + return context + + def get_authors(self): + return [r.author for r in self.authors.select_related("author")] + + def get_author_names(self): + return [a.name for a in self.get_authors()] + + class ArticlePage(RoutablePageMixin, Page): headline = RichTextField(features=["italic"]) subdeck = RichTextField(features=["italic"], null=True, blank=True) @@ -591,7 +644,7 @@ def get_meta_tags(self): class ArticlesIndexPage(RoutablePageMixin, Page): - subpage_types = ["ArticlePage"] + subpage_types = ["ArticlePage", "UnionTimeline"] @route(r"^(\d{4})\/(\d{2})\/(.*)\/$") def post_by_date(self, request, year, month, slug, *args, **kwargs): @@ -633,6 +686,20 @@ class Meta: unique_together = [("article", "author")] +class UnionTimelineAuthorRelationship(models.Model): + timeline = ParentalKey( + UnionTimeline, related_name="authors", on_delete=models.CASCADE + ) + author = models.ForeignKey( + Contributor, related_name="timeline", on_delete=models.PROTECT + ) + + panels = [SnippetChooserPanel("author")] + + class Meta: + unique_together = [("timeline", "author")] + + class ArchivesPage(RoutablePageMixin, Page): body = RichTextField(blank=True, null=True) content_panels = Page.content_panels + [FieldPanel("body")] diff --git a/core/templates/core/union_timeline.html b/core/templates/core/union_timeline.html new file mode 100644 index 00000000..c6072e35 --- /dev/null +++ b/core/templates/core/union_timeline.html @@ -0,0 +1,142 @@ +{% extends "base.html" %} + +{% load wagtailcore_tags wagtailimages_tags %} + +{% block body_class %}template-uniontimeline{% endblock %} + +{% block content %} + + +