{% extends "admin_base.html" %} {% import "macros/billing_profile_modal.html" as billing_macros %} {% import "macros/admin_management_header.html" as mh %} {% block page_title %}Billing Profiles{% endblock %} {% block admin_content %}
{{ mh::management_header_simple( title="Billing Profiles", subtitle="Define charging models for paid tenants (Fixed, Plugin-based, or Row-based).", actions_html='', wrapper_class="mb-5 flex flex-col justify-between gap-4 sm:flex-row sm:items-end", actions_class="flex flex-wrap gap-2" ) }}
{% for profile in profiles %} {% endfor %}
Name Fixed Fee Metered (Row-based) Perpetually Free Active Plugins Actions
{{ profile.name }}
ID: {{ profile.id }}
{{ currency_symbol }}{{ profile.fixed_fee | default(value=0.0) }} {% if profile.metered_tables | length > 0 %} {% for mt in profile.metered_tables %}
{{ mt.table_name }}: {{ currency_symbol }}{{ mt.fee_per_row }} / row (Min: {{ mt.min_rows }})
{% endfor %} {% else %} None {% endif %}
{% if profile.is_perpetually_free %} Yes {% else %} No {% endif %} {% if profile.charge_active_plugins_only %} Yes {% else %} No {% endif %} {% if profile.id != 1 and profile.id != 2 %}
{% endif %}
{{ billing_macros::billing_profile_modal( id="createProfileModal", form_id="profileForm", action="/admin/billing-profiles", tables=tables, plugins=plugins, currency_symbol=currency_symbol ) }} ", to="<\\/script>") | safe }}
{% endblock %} {% block scripts %} {% endblock %}