diff --git a/src/fellchensammlung/models.py b/src/fellchensammlung/models.py
index 87608a7..38a5834 100644
--- a/src/fellchensammlung/models.py
+++ b/src/fellchensammlung/models.py
@@ -193,6 +193,17 @@ class RescueOrganization(models.Model):
def adoption_notices(self):
return AdoptionNotice.objects.filter(organization=self)
+ @property
+ def adoption_notices_in_hierarchy(self, adoption_notices=None):
+ """
+ Shows all adoption notices of this rescue organization and all child organizations.
+ """
+ adoption_notices_discovered = list(self.adoption_notices)
+ if self.child_organizations:
+ for child in self.child_organizations:
+ adoption_notices_discovered.extend(child.adoption_notices_in_hierarchy)
+ return adoption_notices_discovered
+
@property
def position(self):
if self.location:
@@ -233,6 +244,7 @@ class RescueOrganization(models.Model):
self.exclude_from_check = True
self.save()
+ @property
def child_organizations(self):
return RescueOrganization.objects.filter(parent_org=self)
diff --git a/src/fellchensammlung/templates/fellchensammlung/details/detail-rescue-organization.html b/src/fellchensammlung/templates/fellchensammlung/details/detail-rescue-organization.html
index 02d9e54..305d6ab 100644
--- a/src/fellchensammlung/templates/fellchensammlung/details/detail-rescue-organization.html
+++ b/src/fellchensammlung/templates/fellchensammlung/details/detail-rescue-organization.html
@@ -76,7 +76,7 @@
{% translate 'Vermittlungen der Organisation' %}
{% if org.adoption_notices %}
- {% for adoption_notice in org.adoption_notices %}
+ {% for adoption_notice in org.adoption_notices_in_hierarchy %}
{% include "fellchensammlung/partials/partial-adoption-notice-minimal.html" %}
{% endfor %}
{% else %}
diff --git a/src/fellchensammlung/templates/fellchensammlung/partials/partial-adoption-notice-minimal.html b/src/fellchensammlung/templates/fellchensammlung/partials/partial-adoption-notice-minimal.html
index cc691de..8f78b56 100644
--- a/src/fellchensammlung/templates/fellchensammlung/partials/partial-adoption-notice-minimal.html
+++ b/src/fellchensammlung/templates/fellchensammlung/partials/partial-adoption-notice-minimal.html
@@ -15,13 +15,24 @@
-
-
- {% if adoption_notice.location %}
- {{ adoption_notice.location }}
- {% else %}
- {{ adoption_notice.location_string }}
- {% endif %}
+ {% if adoption_notice.organization %}
+
+ {% else %}
+
+
+ {% if adoption_notice.location %}
+ {{ adoption_notice.location }}
+ {% else %}
+ {{ adoption_notice.location_string }}
+ {% endif %}
+
+ {% endif %}
{% include "fellchensammlung/partials/sex-overview.html" %}