diff --git a/opentech/forms/migrations/0002_formpage_header_image.py b/opentech/forms/migrations/0002_formpage_header_image.py new file mode 100644 index 0000000000000000000000000000000000000000..2bd9e02028cde7d91fe3f36f81f255e213c1869e --- /dev/null +++ b/opentech/forms/migrations/0002_formpage_header_image.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.8 on 2018-01-05 15:03 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('images', '0001_initial'), + ('forms', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='formpage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + ] diff --git a/opentech/forms/models.py b/opentech/forms/models.py index baceb3b6b108e9f61a7932038f513835c54f94f9..0ca50f6cd36cf1865ddc1b5bf75a9c0f734feb3d 100644 --- a/opentech/forms/models.py +++ b/opentech/forms/models.py @@ -2,7 +2,6 @@ from django.db import models from modelcluster.fields import ParentalKey -from wagtail.wagtailcore.models import Page from wagtail.wagtailcore.fields import RichTextField from wagtail.wagtailadmin.edit_handlers import ( FieldPanel, FieldRowPanel, @@ -27,11 +26,11 @@ class FormPage(WagtailCaptchaEmailForm, BasePage): thank_you_text = RichTextField(blank=True, help_text="Text displayed to the user on successful submission of the form") action_text = models.CharField(max_length=32, blank=True, help_text="Form action text. Defaults to \"Submit\"") - search_fields = Page.search_fields + [ + search_fields = BasePage.search_fields + [ index.SearchField('introduction'), ] - content_panels = Page.content_panels + [ + content_panels = BasePage.content_panels + [ FieldPanel('introduction'), InlinePanel('form_fields', label="Form fields"), FieldPanel('action_text'), diff --git a/opentech/home/migrations/0003_homepage_header_image.py b/opentech/home/migrations/0003_homepage_header_image.py new file mode 100644 index 0000000000000000000000000000000000000000..8059999f94553a032ea490220562bd3bb6ab0c9f --- /dev/null +++ b/opentech/home/migrations/0003_homepage_header_image.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.8 on 2018-01-05 15:03 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('images', '0001_initial'), + ('home', '0002_create_homepage'), + ] + + operations = [ + migrations.AddField( + model_name='homepage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + ] diff --git a/opentech/home/models.py b/opentech/home/models.py index 66b29108b18bf064a3d96874a168083d36637635..f99f2b6e57b3b47857e600e9119b8c1f23189588 100644 --- a/opentech/home/models.py +++ b/opentech/home/models.py @@ -1,7 +1,6 @@ from django.db import models from wagtail.wagtailadmin.edit_handlers import FieldPanel -from wagtail.wagtailcore.models import Page from wagtail.wagtailsearch import index from wagtail.wagtailsnippets.edit_handlers import SnippetChooserPanel @@ -15,11 +14,11 @@ class HomePage(BasePage): strapline = models.CharField(blank=True, max_length=255) call_to_action = models.ForeignKey('utils.CallToActionSnippet', blank=True, null=True, on_delete=models.SET_NULL, related_name='+') - search_fields = Page.search_fields + [ + search_fields = BasePage.search_fields + [ index.SearchField('strapline'), ] - content_panels = Page.content_panels + [ + content_panels = BasePage.content_panels + [ FieldPanel('strapline'), SnippetChooserPanel('call_to_action'), ] diff --git a/opentech/news/migrations/0002_add_header_image.py b/opentech/news/migrations/0002_add_header_image.py new file mode 100644 index 0000000000000000000000000000000000000000..1cce5bc5f0661af95fbc6a3c95ef5e57989a664d --- /dev/null +++ b/opentech/news/migrations/0002_add_header_image.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.8 on 2018-01-05 15:03 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('images', '0001_initial'), + ('news', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='newsindex', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + migrations.AddField( + model_name='newspage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + ] diff --git a/opentech/news/models.py b/opentech/news/models.py index 4dae687ff622f26cb8b5afb39784d7168f2e55aa..978efefa0e2dbdbea2fb2d94920385a9be667155 100644 --- a/opentech/news/models.py +++ b/opentech/news/models.py @@ -5,7 +5,6 @@ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from modelcluster.fields import ParentalKey -from wagtail.wagtailcore.models import Page from wagtail.wagtailcore.fields import StreamField from wagtail.wagtailadmin.edit_handlers import ( StreamFieldPanel, FieldPanel, InlinePanel @@ -62,12 +61,12 @@ class NewsPage(BasePage): introduction = models.TextField(blank=True) body = StreamField(StoryBlock()) - search_fields = Page.search_fields + [ + search_fields = BasePage.search_fields + [ index.SearchField('introduction'), index.SearchField('body') ] - content_panels = Page.content_panels + [ + content_panels = BasePage.content_panels + [ FieldPanel('publication_date'), FieldPanel('introduction'), StreamFieldPanel('body'), diff --git a/opentech/people/migrations/0002_add_header_image.py b/opentech/people/migrations/0002_add_header_image.py new file mode 100644 index 0000000000000000000000000000000000000000..ead04a815be630142e7e1d66f39656dae1d89ce4 --- /dev/null +++ b/opentech/people/migrations/0002_add_header_image.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.8 on 2018-01-05 15:03 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('images', '0001_initial'), + ('people', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='personindexpage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + migrations.AddField( + model_name='personpage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + ] diff --git a/opentech/people/models.py b/opentech/people/models.py index 2f99acbeb1c95b656b818deefe887ae9f6de4ccb..af91d665a7849423b6ef4958235354ee727bfa3d 100644 --- a/opentech/people/models.py +++ b/opentech/people/models.py @@ -5,7 +5,6 @@ from django.conf import settings from modelcluster.fields import ParentalKey -from wagtail.wagtailcore.models import Page from wagtail.wagtailcore.fields import StreamField from wagtail.wagtailadmin.edit_handlers import ( FieldPanel, @@ -97,7 +96,7 @@ class PersonPage(BasePage): biography = StreamField(StoryBlock(), blank=True) email = models.EmailField(blank=True) - content_panels = Page.content_panels + [ + content_panels = BasePage.content_panels + [ MultiFieldPanel([ FieldPanel('first_name'), FieldPanel('last_name'), diff --git a/opentech/standardpages/migrations/0002_add_header_image.py b/opentech/standardpages/migrations/0002_add_header_image.py new file mode 100644 index 0000000000000000000000000000000000000000..25aede1e6ab241ad7680c19d10ebf71bb84295f1 --- /dev/null +++ b/opentech/standardpages/migrations/0002_add_header_image.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.8 on 2018-01-05 15:03 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('images', '0001_initial'), + ('standardpages', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='indexpage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + migrations.AddField( + model_name='informationpage', + name='header_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='images.CustomImage'), + ), + ] diff --git a/opentech/standardpages/models.py b/opentech/standardpages/models.py index 5f206e1f8e6ecafefb56353cdf7842550c71ae9d..754aa1fca94e2e860922b80489286b70ef86041a 100644 --- a/opentech/standardpages/models.py +++ b/opentech/standardpages/models.py @@ -9,7 +9,6 @@ from wagtail.wagtailadmin.edit_handlers import ( ) from wagtail.wagtailcore.fields import StreamField -from wagtail.wagtailcore.models import Page from wagtail.wagtailsearch import index from opentech.utils.blocks import StoryBlock @@ -27,12 +26,12 @@ class InformationPage(BasePage): introduction = models.TextField(blank=True) body = StreamField(StoryBlock()) - search_fields = Page.search_fields + [ + search_fields = BasePage.search_fields + [ index.SearchField('introduction'), index.SearchField('body'), ] - content_panels = Page.content_panels + [ + content_panels = BasePage.content_panels + [ FieldPanel('introduction'), StreamFieldPanel('body'), InlinePanel('related_pages', label="Related pages"), @@ -42,11 +41,11 @@ class InformationPage(BasePage): class IndexPage(BasePage): introduction = models.TextField(blank=True) - content_panels = Page.content_panels + [ + content_panels = BasePage.content_panels + [ FieldPanel('introduction'), ] - search_fields = Page.search_fields + [ + search_fields = BasePage.search_fields + [ index.SearchField('introduction'), ] diff --git a/opentech/templates/base.html b/opentech/templates/base.html index 137faddc17d64de5d7cc2b6d9790adb1890b448d..691d4eafca87a86a1e5186aea25c1daf1e488682 100644 --- a/opentech/templates/base.html +++ b/opentech/templates/base.html @@ -69,7 +69,8 @@ {% wagtailuserbar %} {# {% if page.header_image %} #} - <!-- <header class="header header--standard header--has-bg-image" style="background-image:url('')"> --> + {% image page.header_image original as header_image %} + <header class="header header--standard header--has-bg-image" style="background-image:url('{{ header_image.url }}')"> {# {% else %} #} <header class="header header--standard"> {# {% endif %} #} @@ -167,4 +168,3 @@ {% block extra_js %}{% endblock %} </body> </html> - diff --git a/opentech/utils/models.py b/opentech/utils/models.py index 07ff50bc228abbe11947e02416deb1b6d5168325..e863bc647596ca37a989bcbc648aed79f2ac2935 100644 --- a/opentech/utils/models.py +++ b/opentech/utils/models.py @@ -239,9 +239,22 @@ class SystemMessagesSettings(BaseSetting): class BasePage(SocialFields, ListingFields, Page): show_in_menus_default = True + header_image = models.ForeignKey( + 'images.CustomImage', + null=True, + blank=True, + on_delete=models.SET_NULL, + related_name='+' + ) + class Meta: abstract = True + + content_panels = Page.content_panels + [ + ImageChooserPanel('header_image') + ] + promote_panels = ( Page.promote_panels + SocialFields.promote_panels +