{% comment %} Vendor Concentration home dashboard panel — Phase 20. Per-currency top-vendor share, with a threshold flag for currencies where a single vendor exceeds the configured concentration percentage (default 50%, configurable via PLUGINS_CONFIG.vendor_concentration_threshold_pct). Context variables (from homepage.py get_vendor_concentration): - vendor_concentration.rows: list of {currency, top_vendor, top_vendor_pct, total_burn, flagged} - vendor_concentration.threshold_pct_label: "50%" or similar Why amber (not red) for flagged rows: Concentration risk is a *signal*, not a *fire*. Amber matches the semantic weight of "you should think about this" without the alarm-bell connotation red carries. {% endcomment %} {% load helpers %} {% if vendor_concentration.rows and perms.nautobot_contract_models.view_contract %} {% for row in vendor_concentration.rows %}
{{ row.top_vendor.name }} {% if row.flagged %} risk {% endif %} {{ row.top_vendor_pct_label }} of {{ row.currency }} burn
Top vendor in {{ row.currency }} · {{ row.total_burn }} {{ row.currency }}/mo total
{% endfor %} {% elif perms.nautobot_contract_models.view_contract %}
No active contracts to evaluate.
{% else %}
No permission
{% endif %}