intent/templates/orgs/invite.html
Alec Perkins 1af217f6fb Add accounts and organizations (Phase 1)
Sign-in via django-allauth: emailed one-time codes, GitHub, Discord,
and Forgejo instances as OpenID Connect apps registered in admin.
Regular users never have a password; sysadmins sign in only at
/admin/ and are redirected there from the normal sign-in.

Organizations at the URL root with owner and collaborator roles, a
per-member project-create grant, and invites by username or email.
Email invites carry a bearer token stored only as a hash. The last
owner can't leave, be removed or be demoted. Permission checks live
in intent/access.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 07:10:27 -04:00

20 lines
775 B
HTML

{% extends "base.html" %}
{% block title %}Invitation to {{ invite.org.name }} · Intent{% endblock %}
{% block content %}
<h1>Join {{ invite.org.name }}</h1>
{% if invite.is_open %}
<p>
{% if invite.invited_by %}{{ invite.invited_by.username }} invited you{% else %}You're invited{% endif %}
to join as {{ invite.get_role_display|lower }}. You'll join as <strong>{{ user.username }}</strong>.
</p>
<form method="post">
{% csrf_token %}
<button type="submit" name="action" value="accept">Accept</button>
<button type="submit" name="action" value="decline">Decline</button>
</form>
{% else %}
<p>This invitation is no longer valid. Ask an owner of {{ invite.org.name }} for a new one.</p>
{% endif %}
{% endblock %}