DMS/templates/admin.html
2025-05-01 00:24:26 +08:00

124 lines
5.3 KiB
HTML

{% extends "layout.html" %}
{% block content %}
<h2 class="mb-4"><i class="bi bi-shield-lock"></i> Admin Panel</h2>
<div class="row">
<div class="col-md-4">
<div class="card mb-4">
<div class="card-header bg-primary text-white">
<h5 class="mb-0"><i class="bi bi-file-earmark-text"></i> Document Statistics</h5>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center">
Total Documents
<span class="badge bg-primary rounded-pill">{{ doc_stats.total_documents }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Total Storage Used
<span class="badge bg-info rounded-pill">{{ (doc_stats.total_size / (1024*1024))|round(2) }} MB</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Active Contributors
<span class="badge bg-success rounded-pill">{{ doc_stats.total_contributors }}</span>
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4">
<div class="card-header bg-success text-white">
<h5 class="mb-0"><i class="bi bi-activity"></i> Activity Statistics</h5>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center">
Total Actions
<span class="badge bg-primary rounded-pill">{{ activity_stats.total_actions }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Active Users
<span class="badge bg-info rounded-pill">{{ activity_stats.active_users }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Accessed Documents
<span class="badge bg-success rounded-pill">{{ activity_stats.accessed_documents }}</span>
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4">
<div class="card-header bg-warning text-dark">
<h5 class="mb-0"><i class="bi bi-gear"></i> System Actions</h5>
</div>
<div class="card-body">
<div class="d-grid gap-2">
<button class="btn btn-outline-primary">
<i class="bi bi-arrow-repeat"></i> Rebuild Search Index
</button>
<button class="btn btn-outline-warning">
<i class="bi bi-trash"></i> Clear Expired Shares
</button>
<button class="btn btn-outline-danger">
<i class="bi bi-exclamation-triangle"></i> System Maintenance
</button>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header bg-info text-white">
<h5 class="mb-0"><i class="bi bi-people"></i> User Management</h5>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>Username</th>
<th>Email</th>
<th>Role</th>
<th>Created</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.username }}</td>
<td>{{ user.email }}</td>
<td>
<span class="badge bg-{{ 'danger' if user.role == 'admin' else 'primary' }}">
{{ user.role }}
</span>
</td>
<td>{{ user.created_at.split(' ')[0] }}</td>
<td>
<div class="btn-group btn-group-sm">
<button class="btn btn-outline-primary">
<i class="bi bi-pencil"></i> Edit
</button>
<button class="btn btn-outline-danger" {% if user.role == 'admin' %}disabled{% endif %}>
<i class="bi bi-trash"></i> Delete
</button>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endblock %}