- Invite flow: admin issue/revoke on join requests, public single-use claim links (hash-only tokens, 7-day expiry, no state reveal), claim creates the Member account and marks the request accepted - Gallery: admin status page plus resync endpoint; sync refreshes thumbnails whose content changed; tools/gallery contract and checker - Docs: public content page, admin-only operator runbook, api.md invite/gallery sections, all routes in the live API docs, docs reachability gate test - Screenshots cover the new pages; version 1.0.18
10 lines
531 B
HTML
10 lines
531 B
HTML
<!-- retoor <retoor@molodetz.nl> -->
|
|
{% extends "admin/base_admin.html" %}
|
|
{% block admin_content %}
|
|
<h1>Invite issued</h1>
|
|
<p>Send this link to <strong>{{ join.name }}</strong> ({{ join.contact }}). It is shown once and expires {{ local_dt(expires_at) }}.</p>
|
|
<div class="notice"><p><code>{{ claim_url }}</code></p></div>
|
|
<p class="muted">Issuing a new invite revokes this one. The request flips to accepted when the link is claimed.</p>
|
|
<p><a class="button ghost" href="/admin/joins">Back to join requests</a></p>
|
|
{% endblock %}
|