From 4432a0814976f283f6b8dfee942c188fb32a4f24 Mon Sep 17 00:00:00 2001
From: Todd Dembrey <todd.dembrey@torchbox.com>
Date: Fri, 12 Jan 2018 15:40:25 +0000
Subject: [PATCH] Add related pages to the fund page

---
 .../migrations/0004_fundpagerelatedpage.py    | 31 +++++++++++++++++++
 opentech/public/funds/models.py               |  5 +++
 2 files changed, 36 insertions(+)
 create mode 100644 opentech/public/funds/migrations/0004_fundpagerelatedpage.py

diff --git a/opentech/public/funds/migrations/0004_fundpagerelatedpage.py b/opentech/public/funds/migrations/0004_fundpagerelatedpage.py
new file mode 100644
index 000000000..4d654100a
--- /dev/null
+++ b/opentech/public/funds/migrations/0004_fundpagerelatedpage.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.8 on 2018-01-12 15:39
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import modelcluster.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('wagtailcore', '0040_page_draft_title'),
+        ('public_funds', '0003_icon_and_related_pages'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='FundPageRelatedPage',
+            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', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
+                ('source_page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='related_pages', to='public_funds.FundPage')),
+            ],
+            options={
+                'ordering': ['sort_order'],
+                'abstract': False,
+            },
+        ),
+    ]
diff --git a/opentech/public/funds/models.py b/opentech/public/funds/models.py
index 8e01ca148..48448fb0e 100644
--- a/opentech/public/funds/models.py
+++ b/opentech/public/funds/models.py
@@ -22,6 +22,10 @@ from opentech.public.utils.models import (
 from .blocks import FundBlock
 
 
+class FundPageRelatedPage(RelatedPage):
+    source_page = ParentalKey('FundPage', related_name='related_pages')
+
+
 class FundPage(BasePage):
     subpage_types = []
     parent_page_types = ['FundIndex']
@@ -40,6 +44,7 @@ class FundPage(BasePage):
         FieldPanel('introduction'),
         PageChooserPanel('fund_type', 'funds.FundType'),
         StreamFieldPanel('body'),
+        InlinePanel('related_pages', label="Related pages"),
     ]
 
 
-- 
GitLab