{% extends "base.html" %} {% import 'components/macros.html' as ui %} {% block title %}Registered Shops - Server Admin{% endblock %} {% block head_extra %} {% endblock %} {% block content %}
All registered shops across the server.
System readiness: {{ 'Ready' if system_readiness and system_readiness.ok else 'Needs Attention' }} {% if system_readiness %} Version {{ system_readiness.version }} {% endif %}
Offline continuity: Pending {{ offline_summary.pending }}, Failed {{ offline_summary.failed }}, Conflicts {{ offline_summary.conflicts }}, Recovered {{ offline_summary.recovered }}.
{% endif %} {% if latest_backups %}Latest backups:
Status: {{ self_healing_health.status|replace('_', ' ')|title }} | Last check: {{ self_healing_health.checked_at }}
{% if self_healing_health.guidance %}No local self-healing report is required for this PostgreSQL deployment. Use Readiness Check, backups, and Render/PostgreSQL recovery controls as the production source of truth.
{% else %}No health report yet. Create a trusted backup after confirming all shops are visible.
{% endif %} {% endif %} {% if server_agent_notifications %}Historical notices are kept for audit. Recheck the linked page after deployment before treating an old notice as active.
{% for notice in server_agent_notifications %}{{ notice.message }}
{% if notice.guidance %}{{ notice.guidance }}{% endif %}
{{ ai_admin_report.summary }}
{{ event.message }}
Shop {{ event.shop_id or 'n/a' }}{% if event.username %} | User {{ event.username }}{% endif %}{% if event.route %} | {{ event.route }}{% endif %}{{ event.method }} {{ event.path }}{% if event.shop_id %} | Shop {{ event.shop_id }}{% endif %}{% if event.user_id %} | User {{ event.user_id }}{% endif %}
{% if event.detail %}{{ event.detail }}
{% endif %} {% if event.ip %}Source: {{ event.ip }}{% endif %}Attempts: {{ task.attempts }}/{{ task.max_attempts }} | Updated: {{ task.updated_at }}
{% if task.error %}{{ task.error }}
{% endif %}| ID | Name | Code | Status | Verified | Admins | Actions |
|---|---|---|---|---|---|---|
| {{ shop.id }} | {{ shop.name }} | {{ shop.code }} | {{ shop.status or 'pending' }} | {{ 'Yes' if shop.verified else 'No' }} | {{ shop.admin_count }} | Manage |
No shops registered yet.
{% endif %} Back to Admin {% endblock %}