Files
devplacepy/devplacepy/templates/admin_trash.html
T
retoor 15bd4ad87c
DevPlace CI / test (push) Failing after 25m18s
feat: add backup CLI commands, AI correction/modifier services, and timezone-aware date display
- Add `devplace backups` CLI subcommands (list, run, prune, clear) with job enqueueing and orphan cleanup
- Introduce `BACKUPS_DIR` and `BACKUP_STAGING_DIR` config paths for backup storage
- Implement `schedule_correction` and `schedule_modification` calls in content creation, comment creation, and comment editing flows
- Add `DEFAULT_CORRECTION_PROMPT` and `DEFAULT_MODIFIER_PROMPT` config constants for AI content processing
- Document timezone-aware date display using `local_dt`/`dt_ago` Jinja globals with client-side `Intl` localization
- Update README with AI content correction/modifier support in direct messages via `@ai` inline instructions
- Add `track_action(user["uid"], "vote")` call on upvote in `apply_vote`
2026-06-16 03:32:19 +00:00

56 lines
2.0 KiB
HTML

{% extends "admin_base.html" %}
{% block admin_content %}
<div class="admin-toolbar">
<h2>Trash</h2>
<span class="admin-count">{{ pagination.total }} soft-deleted</span>
</div>
<nav class="admin-tabs">
{% for tab in tables %}
<a href="/admin/trash?table={{ tab['key'] }}" class="admin-tab {% if tab['active'] %}active{% endif %}">
{{ tab['label'] }} <span class="admin-tab-count">{{ tab['count'] }}</span>
</a>
{% endfor %}
</nav>
<table class="admin-table">
<thead>
<tr>
<th>Item</th>
<th>Removed</th>
<th>Removed by</th>
<th class="admin-table-actions">Actions</th>
</tr>
</thead>
<tbody>
{% for item in items %}
<tr>
<td>
{% if item['target_url'] %}
<a href="{{ item['target_url'] }}">{{ item['label'] }}</a>
{% else %}
{{ item['label'] }}
{% endif %}
</td>
<td>{{ local_dt(item['deleted_at']) }}</td>
<td>{{ item['deleted_by'] or 'system' }}</td>
<td class="admin-table-actions">
<form method="POST" action="/admin/trash/{{ item['table'] }}/{{ item['uid'] }}/restore" class="admin-inline-form">
<button type="submit" class="admin-btn admin-btn-sm"><span class="icon">&#x267B;&#xFE0F;</span> Restore</button>
</form>
<form method="POST" action="/admin/trash/{{ item['table'] }}/{{ item['uid'] }}/purge" class="admin-inline-form">
<button type="submit" class="admin-btn admin-btn-sm" data-confirm-danger data-confirm="Permanently delete this item and everything removed with it? This cannot be undone."><span class="icon">&#x1F5D1;&#xFE0F;</span> Purge</button>
</form>
</td>
</tr>
{% else %}
<tr>
<td colspan="4" class="empty-state">Trash is empty.</td>
</tr>
{% endfor %}
</tbody>
</table>
{% include "_pagination.html" %}
{% endblock %}