feat: Update investor report generation and HTML template to include fund details and improve data handling
This commit is contained in:
+38
-31
@@ -161,13 +161,6 @@
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="text-xs text-gray-600">DACH Region:</p>
|
||||
<p class="font-semibold text-gray-900">
|
||||
{{ investor.geographic_focus or 'N/A' }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="text-xs text-gray-600">AUM (EUR million):</p>
|
||||
<p class="font-semibold text-gray-900">
|
||||
@@ -179,33 +172,47 @@
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<p class="text-xs text-gray-600 mb-1">
|
||||
Investment Stage:
|
||||
</p>
|
||||
<p class="text-sm font-semibold text-gray-900">
|
||||
{% if investor.investment_stages %} {{
|
||||
investor.investment_stages | join(', ') }} {% else
|
||||
%} N/A {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<p class="text-xs text-gray-600 mb-1">
|
||||
Est. Investment Size:
|
||||
</p>
|
||||
<p class="text-sm font-semibold text-gray-900">
|
||||
{% if investor.check_size_lower and
|
||||
investor.check_size_upper %} €{{
|
||||
'{:,.0f}'.format(investor.check_size_lower /
|
||||
1000000) }}M - €{{
|
||||
'{:,.0f}'.format(investor.check_size_upper /
|
||||
1000000) }}M {% elif investor.check_size_lower %}
|
||||
€{{ '{:,.0f}'.format(investor.check_size_lower /
|
||||
1000000) }}M+ {% else %} N/A {% endif %}
|
||||
<div>
|
||||
<p class="text-xs text-gray-600 mb-1">Number of Funds:</p>
|
||||
<p class="font-semibold text-gray-900">
|
||||
{{ investor.funds | length if investor.funds else 'N/A' }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<h3 class="text-xs font-bold text-gray-900 uppercase mb-2">
|
||||
Fund Details
|
||||
</h3>
|
||||
{% if investor.funds %}
|
||||
{% for fund in investor.funds %}
|
||||
<div class="mb-3 pb-3 border-b border-gray-200">
|
||||
<p class="text-sm font-semibold text-gray-900 mb-1">
|
||||
{{ fund.fund_name or 'Fund ' + loop.index|string }}
|
||||
</p>
|
||||
<div class="text-xs text-gray-700 space-y-1">
|
||||
{% if fund.fund_size %}
|
||||
<p>Fund Size: €{{ '{:,.0f}'.format(fund.fund_size / 1000000) }}M</p>
|
||||
{% endif %}
|
||||
{% if fund.check_size_lower and fund.check_size_upper %}
|
||||
<p>Check Size: €{{ '{:,.0f}'.format(fund.check_size_lower / 1000000) }}M - €{{ '{:,.0f}'.format(fund.check_size_upper / 1000000) }}M</p>
|
||||
{% endif %}
|
||||
{% if fund.geographic_focus %}
|
||||
<p>Geography: {{ fund.geographic_focus }}</p>
|
||||
{% endif %}
|
||||
{% if fund.investment_stages %}
|
||||
<p>Stages: {{ fund.investment_stages | join(', ') }}</p>
|
||||
{% endif %}
|
||||
{% if fund.sectors %}
|
||||
<p>Sectors: {{ fund.sectors[:3] | join(', ') }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<p class="text-xs text-gray-500">No fund information available</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user