diff --git a/fec/extend_admin/wagtailadmin/widgets/chooser.html b/fec/extend_admin/wagtailadmin/widgets/chooser.html index 832ed0bdd3..63cbeb1c4e 100644 --- a/fec/extend_admin/wagtailadmin/widgets/chooser.html +++ b/fec/extend_admin/wagtailadmin/widgets/chooser.html @@ -1,5 +1,5 @@ diff --git a/fec/fec/settings/base.py b/fec/fec/settings/base.py index 66afaff2bd..d4b3fb4e35 100644 --- a/fec/fec/settings/base.py +++ b/fec/fec/settings/base.py @@ -107,23 +107,36 @@ 'extend_admin', ) -MIDDLEWARE_CLASSES = ( +# MIDDLEWARE_CLASSES = ( +# 'django.contrib.sessions.middleware.SessionMiddleware', +# 'django.middleware.common.CommonMiddleware', +# 'django.middleware.csrf.CsrfViewMiddleware', +# 'django.contrib.auth.middleware.AuthenticationMiddleware', +# 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', +# 'fec.middleware.AddSecureHeaders', # custom response headers +# 'uaa_client.middleware.UaaRefreshMiddleware', +# 'django.contrib.messages.middleware.MessageMiddleware', +# 'django.middleware.clickjacking.XFrameOptionsMiddleware', +# 'django.middleware.security.SecurityMiddleware', + +# 'wagtail.core.middleware.SiteMiddleware', +# 'wagtail.contrib.redirects.middleware.RedirectMiddleware', + +# # logs +# 'audit_log.middleware.UserLoggingMiddleware', +# ) + +MIDDLEWARE = ( + 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', - 'fec.middleware.AddSecureHeaders', # custom response headers - 'uaa_client.middleware.UaaRefreshMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'django.middleware.security.SecurityMiddleware', - + 'fec.middleware.AddSecureHeaders', # custom response headers 'wagtail.core.middleware.SiteMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware', - - # logs - 'audit_log.middleware.UserLoggingMiddleware', ) CSRF_TRUSTED_ORIGINS = ["fec.gov", "app.cloud.gov"] diff --git a/fec/fec/templates/long_page.html b/fec/fec/templates/long_page.html index d8f4a7a9a6..2b0d8d5f7e 100644 --- a/fec/fec/templates/long_page.html +++ b/fec/fec/templates/long_page.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load wagtailcore_tags %} -{% load staticfiles %} +{% load static %} {% block body_class %}template-{{ self.get_verbose_name | slugify }}{% endblock %} {% block content %} diff --git a/fec/fec/tests/test_robots.py b/fec/fec/tests/test_robots.py index c41c91f8e3..93c360570c 100644 --- a/fec/fec/tests/test_robots.py +++ b/fec/fec/tests/test_robots.py @@ -1,7 +1,7 @@ import sys from django.test import TestCase from django.conf import settings -from django.core.urlresolvers import clear_url_caches +from django.urls import clear_url_caches from importlib import reload, import_module diff --git a/fec/fec/urls.py b/fec/fec/urls.py index e6bc22369e..3d90cc3081 100644 --- a/fec/fec/urls.py +++ b/fec/fec/urls.py @@ -69,4 +69,4 @@ urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # hide django-admin unless DEBUG=True - urlpatterns.insert(1, url(r'^django-admin/', include(admin.site.urls))) + urlpatterns.insert(1, url(r'^django-admin/', admin.site.urls)) diff --git a/fec/home/migrations/0001_initial.py b/fec/home/migrations/0001_initial.py index f992c50a9b..558c577c7c 100644 --- a/fec/home/migrations/0001_initial.py +++ b/fec/home/migrations/0001_initial.py @@ -3,6 +3,7 @@ from django.db import models, migrations +import django.db.models.deletion class Migration(migrations.Migration): @@ -18,7 +19,8 @@ class Migration(migrations.Migration): auto_created=True, primary_key=True, serialize=False, - to='wagtailcore.Page')), + to='wagtailcore.Page', + on_delete=django.db.models.deletion.SET_NULL)), ], options={ 'abstract': False, diff --git a/fec/home/migrations/0003_auto_20150819_0342.py b/fec/home/migrations/0003_auto_20150819_0342.py index 1012ebb1ea..2ff8ea106f 100644 --- a/fec/home/migrations/0003_auto_20150819_0342.py +++ b/fec/home/migrations/0003_auto_20150819_0342.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import models, migrations import wagtail.images.blocks import wagtail.core.fields @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='CustomPage', fields=[ - ('page_ptr', models.OneToOneField(serialize=False, primary_key=True, auto_created=True, parent_link=True, to='wagtailcore.Page')), + ('page_ptr', models.OneToOneField(serialize=False, primary_key=True, auto_created=True, parent_link=True, to='wagtailcore.Page', on_delete=django.db.models.deletion.SET_NULL)), ('author', models.CharField(max_length=255)), ('date', models.DateField(verbose_name='Post date')), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())))), @@ -31,7 +31,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='LandingPage', fields=[ - ('page_ptr', models.OneToOneField(serialize=False, primary_key=True, auto_created=True, parent_link=True, to='wagtailcore.Page')), + ('page_ptr', models.OneToOneField(serialize=False, primary_key=True, auto_created=True, parent_link=True, to='wagtailcore.Page', on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())))), ], options={ diff --git a/fec/home/migrations/0004_checklistpage.py b/fec/home/migrations/0004_checklistpage.py index a9107fff52..db1a387263 100644 --- a/fec/home/migrations/0004_checklistpage.py +++ b/fec/home/migrations/0004_checklistpage.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import models, migrations import wagtail.core.fields import wagtail.images.blocks @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ChecklistPage', fields=[ - ('page_ptr', models.OneToOneField(to='wagtailcore.Page', serialize=False, primary_key=True, parent_link=True, auto_created=True)), + ('page_ptr', models.OneToOneField(to='wagtailcore.Page', serialize=False, primary_key=True, parent_link=True, auto_created=True, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())))), ], options={ diff --git a/fec/home/migrations/0006_auto_20150819_0546.py b/fec/home/migrations/0006_auto_20150819_0546.py index 2c4f4d8908..b6279d3ec1 100644 --- a/fec/home/migrations/0006_auto_20150819_0546.py +++ b/fec/home/migrations/0006_auto_20150819_0546.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import models, migrations import wagtail.core.blocks import wagtail.core.fields @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='OptionsPage', fields=[ - ('page_ptr', models.OneToOneField(to='wagtailcore.Page', primary_key=True, auto_created=True, serialize=False, parent_link=True)), + ('page_ptr', models.OneToOneField(to='wagtailcore.Page', primary_key=True, auto_created=True, serialize=False, parent_link=True, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())))), ], options={ diff --git a/fec/home/migrations/0009_contactpage.py b/fec/home/migrations/0009_contactpage.py index cc63ba613a..681d7bb728 100644 --- a/fec/home/migrations/0009_contactpage.py +++ b/fec/home/migrations/0009_contactpage.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import migrations, models import wagtail.core.fields import wagtail.images.blocks @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ContactPage', fields=[ - ('page_ptr', models.OneToOneField(to='wagtailcore.Page', auto_created=True, primary_key=True, parent_link=True, serialize=False)), + ('page_ptr', models.OneToOneField(to='wagtailcore.Page', auto_created=True, primary_key=True, parent_link=True, serialize=False, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('html', wagtail.core.blocks.RawHTMLBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())), blank=True, null=True)), ], options={ diff --git a/fec/home/migrations/0010_calendarpage.py b/fec/home/migrations/0010_calendarpage.py index d60c57f12d..76ac6f53e8 100644 --- a/fec/home/migrations/0010_calendarpage.py +++ b/fec/home/migrations/0010_calendarpage.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import migrations, models import wagtail.images.blocks import wagtail.core.fields @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='CalendarPage', fields=[ - ('page_ptr', models.OneToOneField(to='wagtailcore.Page', parent_link=True, auto_created=True, serialize=False, primary_key=True)), + ('page_ptr', models.OneToOneField(to='wagtailcore.Page', parent_link=True, auto_created=True, serialize=False, primary_key=True, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('html', wagtail.core.blocks.RawHTMLBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())), blank=True, null=True)), ], options={ diff --git a/fec/home/migrations/0011_ssfchecklistpage.py b/fec/home/migrations/0011_ssfchecklistpage.py index 8c457a3f0c..c2bcb53780 100644 --- a/fec/home/migrations/0011_ssfchecklistpage.py +++ b/fec/home/migrations/0011_ssfchecklistpage.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import migrations, models import wagtail.core.fields import wagtail.core.blocks @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='SSFChecklistPage', fields=[ - ('page_ptr', models.OneToOneField(primary_key=True, auto_created=True, to='wagtailcore.Page', serialize=False, parent_link=True)), + ('page_ptr', models.OneToOneField(primary_key=True, auto_created=True, to='wagtailcore.Page', serialize=False, parent_link=True, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('html', wagtail.core.blocks.RawHTMLBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())), blank=True, null=True)), ], options={ diff --git a/fec/home/migrations/0012_partychecklistpage.py b/fec/home/migrations/0012_partychecklistpage.py index 0a0f44e7f6..235189bd41 100644 --- a/fec/home/migrations/0012_partychecklistpage.py +++ b/fec/home/migrations/0012_partychecklistpage.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import migrations, models import wagtail.core.fields import wagtail.core.blocks @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='PartyChecklistPage', fields=[ - ('page_ptr', models.OneToOneField(primary_key=True, auto_created=True, to='wagtailcore.Page', serialize=False, parent_link=True)), + ('page_ptr', models.OneToOneField(primary_key=True, auto_created=True, to='wagtailcore.Page', serialize=False, parent_link=True, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('html', wagtail.core.blocks.RawHTMLBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())), blank=True, null=True)), ], options={ diff --git a/fec/home/migrations/0014_nonconnectedchecklistpage.py b/fec/home/migrations/0014_nonconnectedchecklistpage.py index f8ba672ef1..e0ead58324 100644 --- a/fec/home/migrations/0014_nonconnectedchecklistpage.py +++ b/fec/home/migrations/0014_nonconnectedchecklistpage.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals - +import django.db.models.deletion from django.db import migrations, models import wagtail.core.fields import wagtail.core.blocks @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='NonconnectedChecklistPage', fields=[ - ('page_ptr', models.OneToOneField(auto_created=True, parent_link=True, primary_key=True, to='wagtailcore.Page', serialize=False)), + ('page_ptr', models.OneToOneField(auto_created=True, parent_link=True, primary_key=True, to='wagtailcore.Page', serialize=False, on_delete=django.db.models.deletion.SET_NULL)), ('body', wagtail.core.fields.StreamField((('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.core.blocks.RichTextBlock()), ('html', wagtail.core.blocks.RawHTMLBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())), blank=True, null=True)), ], options={ diff --git a/fec/home/migrations/0109_auto_20200206_1847.py b/fec/home/migrations/0109_auto_20200206_1847.py new file mode 100644 index 0000000000..726c56ef72 --- /dev/null +++ b/fec/home/migrations/0109_auto_20200206_1847.py @@ -0,0 +1,40 @@ +# Generated by Django 3.0.3 on 2020-02-06 23:47 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailcore', '0045_assign_unlock_grouppagepermission'), + ('home', '0108_fullwidthpage_citations'), + ] + + operations = [ + migrations.AlterField( + model_name='custompage', + name='page_ptr', + field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page'), + ), + migrations.AlterField( + model_name='digestpageauthors', + name='author', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='home.Author'), + ), + migrations.AlterField( + model_name='homepage', + name='page_ptr', + field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page'), + ), + migrations.AlterField( + model_name='pressreleasepageauthors', + name='author', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='home.Author'), + ), + migrations.AlterField( + model_name='recordpageauthors', + name='author', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='home.Author'), + ), + ] diff --git a/fec/home/models.py b/fec/home/models.py index 45f74e89e6..a859d8f955 100644 --- a/fec/home/models.py +++ b/fec/home/models.py @@ -11,8 +11,8 @@ from django.contrib.auth.models import User from django.contrib.auth import get_user_model -from audit_log.models.fields import LastUserField -from audit_log.models.managers import AuditLog +# from audit_log.models.fields import LastUserField +# from audit_log.models.managers import AuditLog from modelcluster.fields import ParentalKey from modelcluster.contrib.taggit import ClusterTaggableManager @@ -29,7 +29,7 @@ from wagtail.documents.edit_handlers import DocumentChooserPanel from wagtail.documents.models import Document -from django.utils.encoding import python_2_unicode_compatible +# from django.utils.encoding import python_2_unicode_compatible from wagtail.snippets.models import register_snippet from wagtail.search import index @@ -179,7 +179,7 @@ def log_user_save(sender, **kwargs): else: logger.info("User change: username {0} by instance {1}".format(kwargs.get('instance').get_username(), kwargs.get('instance'))) - audit_log = AuditLog() #currently not used, will attempt to use for future PR adding admin logging + # audit_log = AuditLog() #currently not used, will attempt to use for future PR adding admin logging @receiver(pre_delete, sender=PageRevision) @@ -255,7 +255,7 @@ class PageAuthors(models.Model): This is made concrete by mixing into a model with a ParentalKey, see RecordPageAuthors below. """ - author = models.ForeignKey(Author, related_name='+') + author = models.ForeignKey(Author, related_name='+', null=True, on_delete=models.SET_NULL) role = models.CharField(max_length=255, choices=constants.author_roles.items(), default='author') diff --git a/fec/home/templates/blocks/related-media.html b/fec/home/templates/blocks/related-media.html index 79d3df71fc..6c46027acc 100644 --- a/fec/home/templates/blocks/related-media.html +++ b/fec/home/templates/blocks/related-media.html @@ -1,6 +1,6 @@ {% load wagtailcore_tags %} {% load wagtailimages_tags %} -{% load staticfiles %} +{% load static %}
diff --git a/fec/home/templates/blocks/reporting-example-cards.html b/fec/home/templates/blocks/reporting-example-cards.html index 5aae06fa04..fc3242abb3 100644 --- a/fec/home/templates/blocks/reporting-example-cards.html +++ b/fec/home/templates/blocks/reporting-example-cards.html @@ -1,6 +1,6 @@ {% load wagtailcore_tags %} {% load wagtailimages_tags %} -{% load staticfiles %} +{% load static %}
{% for card in self.cards %} diff --git a/fec/home/templates/home/about_landing_page.html b/fec/home/templates/home/about_landing_page.html index 4904a5dd8b..15742f1661 100644 --- a/fec/home/templates/home/about_landing_page.html +++ b/fec/home/templates/home/about_landing_page.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load wagtailcore_tags %} -{% load staticfiles %} +{% load static %} {% load updates %} {% block body_class %}template-{{ self.get_verbose_name | slugify }}{% endblock %} diff --git a/fec/home/templates/home/alert_for_emergency_use_only.html b/fec/home/templates/home/alert_for_emergency_use_only.html index c36a66f733..70077c775d 100644 --- a/fec/home/templates/home/alert_for_emergency_use_only.html +++ b/fec/home/templates/home/alert_for_emergency_use_only.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load wagtailcore_tags %} -{% load staticfiles %} +{% load static %} {% load home_page %} {% load filters %} {% block body_class %}template-{{ self.get_verbose_name | slugify }}{% endblock %} diff --git a/fec/home/templates/home/calendar.html b/fec/home/templates/home/calendar.html index cebb4a5640..1abd7dcb9d 100644 --- a/fec/home/templates/home/calendar.html +++ b/fec/home/templates/home/calendar.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load wagtailcore_tags %} -{% load staticfiles %} +{% load static %} {% load filters %} {% load compress %} {% block body_class %}template-{{ self.get_verbose_name | slugify }}{% endblock %} diff --git a/fec/home/templates/home/candidate-and-committee-services/guides.html b/fec/home/templates/home/candidate-and-committee-services/guides.html index 4e922459d4..63a8d04f79 100644 --- a/fec/home/templates/home/candidate-and-committee-services/guides.html +++ b/fec/home/templates/home/candidate-and-committee-services/guides.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load wagtailcore_tags %} -{% load staticfiles %} +{% load static %} {% block content %}