{% extends "admin_base.html" %} {% import "macros/admin_management_header.html" as mh %} {% import "macros/dashboard_widget_info.html" as dw_info %} {% import "components/platform_settings/settings_macros.html" as settings_macros %} {% macro god_configuration_link(href, label, role="") %} {{ label }} {% endmacro %} {% macro god_configuration_subsection_links(role="") %} {% for pane in god_config_panes %} {{ self::god_configuration_link(href="#god-configuration-" ~ pane.id, label=pane.label, role=role) }} {% endfor %} {{ self::god_configuration_link(href="#god-configuration-generalConfig", label="General Configuration", role=role) }} {{ self::god_configuration_link(href="#god-configuration-contactInfo", label="Contact Information", role=role) }} {{ self::god_configuration_link(href="#god-configuration-socialMedia", label="Social Media", role=role) }} {{ self::god_configuration_link(href="#god-configuration-seoSettings", label="Search, Social & AEO", role=role) }} {{ self::god_configuration_link(href="#god-configuration-legalCompliance", label="Legal & Compliance", role=role) }} {{ self::god_configuration_link(href="#god-configuration-desktopNavigation", label="Desktop Menu Layout", role=role) }} {{ self::god_configuration_link(href="#god-configuration-mobileNavigation", label="Mobile Navigation", role=role) }} {% if available_widgets | length > 0 %} {{ self::god_configuration_link(href="#god-configuration-dashboardWidgets", label="Dashboard Widgets", role=role) }} {% endif %} {% for plugin in plugins %} {{ self::god_configuration_link(href="#god-configuration-settings-" ~ plugin.name, label=plugin.name | title, role=role) }} {% endfor %} {% endmacro %} {% block page_title %}God Mode · {{ god.name }}{% endblock %} {% block admin_topbar_tools %}
{% endblock %} {% block admin_content %} {% set tn = god.name %}Primary host {{ god.domain }} {% if god.owner_email %} · Owner {{ god.owner_email }}{% endif %}
High-leverage moves. Everything posts in-page via fetch; actions complete without leaving this page.
SSO into this tenant. Choose target identity and role filter from the operator panel.
Slip the subscription cliff by thirty days.
Pick a runway; we add days from current validity (or today).
Disable the tenant without deleting data — or wake it back up.
{% if god.status == 'active' %} {% else %} {% endif %}Repair manifest dependencies for active plugins in the tenant database.
Force the WASM runtime to refresh its active-plugin cache for this shard.
Bump the per-tenant PWA cache version — forces installed PWA clients to drop their old cache and re-fetch assets on next launch.
Force all clients of this tenant to erase localStorage and browser cache on their next page load. Authenticated users remain logged in — only their localStorage and cache storage are cleared.
Clear this tenant’s report generation history so frequency caps (e.g. 2 per hour) start fresh for all admins.
When on, this tenant skips server page-render cache, sends no-store HTTP headers, and the PWA service worker never serves from Cache Storage. Flip off when finished debugging.
Delete all tenant data and users, resetting to a fresh database. Plugins remain active.
Deletes the row and the on-disk folder. No undo.
Tip: actions complete in-place — you stay on God Mode and nothing reloads.
Audit tenant admins, transfer ownership, revoke platform-operator standing access, and permanently remove deactivated admins when safe — without impersonating into tenant Users.
Loading access roster…
| User | Role | Status | Flags | Actions |
|---|---|---|---|---|
| Loading… | ||||
Tenant and user pricing, gateway keys, active plugins. Marketplace on/off saves immediately.
Idle
Perpetual access; customer payments use the config gateway and checkout on {{ config_tenant }}.{{ domain_name | default(value='…') }} (PSP allowlist that host only). Locks billing profile, renewal policy, and payment-gateway Extension settings while on.
{% if god_billing_summary.has_billing_profile and not god_billing_summary.is_perpetual %} Charges for the next prepay period ({{ god_billing_summary.billing_period_days }} days) on profile {{ god_billing_summary.profile_name }}. One-time plugin fees are charged once per tenant on first prepay; each renewal bills only the {{ god_billing_summary.billing_period_days }}-day recurring fees. {% if god_billing_summary.uses_active_plugins_billing %} Plugin fees follow manifest pricing for activated plugins only. {% else %} Plugin fees follow the billing profile catalog (not limited to activated plugins). {% endif %} {% elif god_billing_summary.is_perpetual %} Perpetual / free profile — no prepay period charge. Manifest fees below are informational. {% else %} No billing profile — perpetual access. Manifest fees below are informational. {% endif %}
| Plugin | One-time | Daily | Days | Period subtotal |
|---|---|---|---|---|
| {{ row.name }} | {% if row.one_time_status == "purchased" %} Paid {% elif row.one_time_status == "waived" %} Waived {% elif row.one_time_manifest > 0 %} {{ currency_symbol }}{{ row.one_time_fee | price }} {% else %} — {% endif %} | {{ currency_symbol }}{{ row.daily_fee | price }} | {% if row.period_days > 0 %}{{ row.period_days }}{% else %}—{% endif %} | {{ currency_symbol }}{{ row.line_total | price }} |
| {% if god_billing_summary.plugin_one_time_charge_total > 0 %}First prepay total ({{ god_billing_summary.billing_period_days }} days){% else %}Renewal prepay total ({{ god_billing_summary.billing_period_days }} days){% endif %} | {{ currency_symbol }}{{ god_billing_summary.total_per_period | price }} | |||
No billable plugins are active for this tenant.
{% endif %}Active plugins with a marketplace one-time charge. Waived plugins bill daily fees only on renewal and prepay.
| Plugin | One-time | Status | Action |
|---|---|---|---|
| {{ row.name }} | {{ currency_symbol }}{{ row.one_time_fee | price }} | {% if row.status == "waived" %} Waived {% elif row.status == "purchased" %} Purchased {% else %} Due {% endif %} | {% if row.status == "waived" %} {% elif row.status == "due" %} {% else %} — {% endif %} |
Branding, system settings, and extension settings for {{ tn }} — without leaving God Mode.
Maps rows in custom_domains. Removing does not tear down DNS — you still own the nameserver story.
No custom domains mapped yet.
{% else %} {% for d in god.custom_domains %}Restore specific tables for this tenant from a snapshot on the server. Select a snapshot and the tables to restore.
No snapshots containing a backup for this tenant were found on the server.
{% endif %}Read-only breadcrumbs for infra archaeology.
Created {{ god.created_at | date_in_tz(timezone=timezone, format='%d %b %Y %H:%M') }}