with aria role. #}
+
+ {% block content-related-extra %}{% endblock %}
+
{% donation_snippet %}
About the foundation
diff --git a/djangoproject/templates/flatpages/foundation.html b/djangoproject/templates/flatpages/foundation.html
index e1a3b864e7..90186fb0ef 100644
--- a/djangoproject/templates/flatpages/foundation.html
+++ b/djangoproject/templates/flatpages/foundation.html
@@ -1,5 +1,5 @@
{% extends "base_foundation.html" %}
-
+{% load fundraising_extras %}
{% block og_title %}{{ flatpage.title }}{% endblock %}
{% block title %}{{ flatpage.title }}{% endblock %}
@@ -8,3 +8,7 @@
{{ flatpage.title }}
{{ flatpage.content }}
{% endblock %}
+
+{% block content-related-extra %}
+ {% gold_corporate_members %}
+{% endblock %}
diff --git a/djangoproject/templates/fundraising/includes/gold_corporate_members.html b/djangoproject/templates/fundraising/includes/gold_corporate_members.html
new file mode 100644
index 0000000000..ad7cb298fa
--- /dev/null
+++ b/djangoproject/templates/fundraising/includes/gold_corporate_members.html
@@ -0,0 +1,22 @@
+{% if members %}
+
+
Gold Members
+ {% for obj in members %}
+
+ {% endfor %}
+
+{% endif %}
diff --git a/fundraising/templatetags/fundraising_extras.py b/fundraising/templatetags/fundraising_extras.py
index 2d78ef9ea9..b5dbbe5fc6 100644
--- a/fundraising/templatetags/fundraising_extras.py
+++ b/fundraising/templatetags/fundraising_extras.py
@@ -118,3 +118,10 @@ def top_corporate_members():
members = CorporateMember.objects.by_membership_level()
return {"members": members["diamond"] + members["platinum"]}
+
+
+@register.inclusion_tag("fundraising/includes/gold_corporate_members.html")
+def gold_corporate_members():
+ members = CorporateMember.objects.by_membership_level()
+
+ return {"members": members["gold"]}
diff --git a/fundraising/tests/test_templatetags.py b/fundraising/tests/test_templatetags.py
index 421187797e..b5ebb8779e 100644
--- a/fundraising/tests/test_templatetags.py
+++ b/fundraising/tests/test_templatetags.py
@@ -17,6 +17,7 @@
from ..templatetags.fundraising_extras import (
display_django_heroes,
donation_form_with_heart,
+ gold_corporate_members,
top_corporate_members,
)
@@ -167,3 +168,51 @@ def test_with_diamond_members_and_platinum_members(self):
expected = [member_5, member_4, member_6, member_2, member_1, member_3]
self.assertEqual(members, expected)
+
+
+class TestGoldCorporateMembers(TestCase):
+ past_date = date(2000, 1, 1)
+ future_date = date(3000, 1, 1)
+
+ def test_with_no_gold_members(self):
+ members = gold_corporate_members()["members"]
+ self.assertEqual(members, [])
+
+ def test_with_gold_members(self):
+ member_1 = CorporateMember.objects.create(membership_level=3)
+ member_2 = CorporateMember.objects.create(membership_level=3)
+ member_3 = CorporateMember.objects.create(membership_level=3)
+
+ member_1.invoice_set.create(amount=4, expiration_date=self.future_date)
+ member_2.invoice_set.create(amount=8, expiration_date=self.future_date)
+ member_3.invoice_set.create(amount=2, expiration_date=self.future_date)
+
+ members = gold_corporate_members()["members"]
+
+ self.assertEqual(members, [member_2, member_1, member_3])
+
+ def test_with_gold_members_and_other_members(self):
+ member_1 = CorporateMember.objects.create(membership_level=3)
+ member_2 = CorporateMember.objects.create(membership_level=3)
+ member_3 = CorporateMember.objects.create(membership_level=4)
+
+ member_1.invoice_set.create(amount=4, expiration_date=self.future_date)
+ member_2.invoice_set.create(amount=8, expiration_date=self.future_date)
+ member_3.invoice_set.create(amount=2, expiration_date=self.future_date)
+
+ members = gold_corporate_members()["members"]
+ self.assertEqual(members, [member_2, member_1])
+ self.assertNotIn(member_3, members)
+
+ def test_with_gold_members_and_expired_invoice(self):
+ member_1 = CorporateMember.objects.create(membership_level=3)
+ member_2 = CorporateMember.objects.create(membership_level=3)
+ member_3 = CorporateMember.objects.create(membership_level=4)
+
+ member_1.invoice_set.create(amount=4, expiration_date=self.future_date)
+ member_2.invoice_set.create(amount=8, expiration_date=self.future_date)
+ member_3.invoice_set.create(amount=2, expiration_date=self.past_date)
+
+ members = gold_corporate_members()["members"]
+ self.assertEqual(members, [member_2, member_1])
+ self.assertNotIn(member_3, members)