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 %}