atr/blueprints/admin/templates/data-browser.html (90 lines of code) (raw):

{% extends "layouts/base-admin.html" %} {% block title %} Data browser ~ ATR {% endblock title %} {% block description %} Browse all records in the database. {% endblock description %} {% block stylesheets %} {{ super() }} <style> .page-model-nav { margin: 1rem 0; padding: 0.5rem; background: #f5f5f5; border-radius: 4px; } .page-model-nav a { margin-right: 1rem; padding: 0.25rem 0.5rem; text-decoration: none; color: #333; } .page-model-nav a.active { background: #333; color: white; border-radius: 2px; } .page-record { border: 1px solid #ddd; padding: 1rem; margin-bottom: 1rem; border-radius: 4px; } .page-record pre { background: #f5f5f5; padding: 0.5rem; border-radius: 2px; overflow-x: auto; } .page-record-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; } .page-record-meta { color: #666; font-size: 0.9em; } .page-no-records { color: #666; font-style: italic; } </style> {% endblock stylesheets %} {% block content %} <h1>Data browser</h1> <p>Browse all records in the database.</p> <div class="page-model-nav"> {% for model_name in models %} <a href="{{ url_for('admin.admin_data', model=model_name) }}" {% if model == model_name %}class="active"{% endif %}>{{ model_name }}</a> {% endfor %} </div> {% if records %} <div> {% for record in records %} <div class="page-record"> <div class="page-record-header"> {% set primary_key = "Unknown primary key" %} {% if "id" in record %} {% set primary_key = record["id"] %} {% elif "name" in record %} {% set primary_key = record["name"] %} {% elif "fingerprint" in record %} {% set primary_key = record["fingerprint"] %} {% elif "key" in record %} {% set primary_key = record["key"] %} {% endif %} <h3>{{ primary_key }}</h3> <span class="page-record-meta">{{ model }}</span> </div> <pre>{{ record | tojson(indent=2) }}</pre> </div> {% endfor %} </div> {% else %} <p class="page-no-records">No records found for {{ model }}.</p> {% endif %} {% endblock content %}