Trip invite links (#1143): each trip can have one rotating invite link in its Share panel. An existing, logged-in user who opens /join/<token> is added to the trip as a member; an anonymous visitor is sent to the login page and returned to the invite afterwards — there is no registration from this link. Reading, rotating or disabling the link all require the share_manage permission. Admin invite trip binding (#1402): the admin create-invite dialog can now bind a registration invite to a trip. Someone who registers via that link is auto-added to the trip as a member (password and OIDC paths), inside the same atomic step that consumes the invite. Adds a trip_invite_tokens table and a nullable invite_tokens.trip_id, a shared owner-safe/idempotent add-by-id helper, the manage + join endpoints, the JoinTripPage and Share-panel section, the admin trip picker, and the new i18n keys across every locale. Wiki updated. Discussion #1143
3.5 KiB
Admin — Users and Invites
The Users tab in the Admin Panel lets you view all registered users, manage their accounts, and create invite links so new people can register without open registration.
User list
The user table shows every registered account with the following columns:
| Column | Description |
|---|---|
| User | Avatar, username, and an always-visible presence dot (green = online, grey = offline) |
| Account email address | |
| Role | Badge showing admin or user |
| Created | Account creation date |
| Last Login | Date and time of most recent login |
| Actions | Edit and delete buttons |
Your own account row is highlighted. You cannot delete your own account.
User actions
Edit a user
Click the pencil icon on any row to open the edit form. You can change:
- Username
- Email address
- Role — toggle between
userandadmin - Password — set a new password; must be at least 8 characters
Click Save to apply changes.
Delete a user
Click the trash icon and confirm. Deletion is permanent. The user's account is removed from the database along with their data (cascade behavior is enforced at the database level).
You cannot delete your own account while logged in as that user.
Creating a user directly
Click Create User (top-right of the Users tab) to create an account without an invite link. You set the username, email, password, and role at creation time.
Invite links
Invite links let a specific number of people register themselves. This is useful when open registration is disabled.
Creating an invite
Click Create Invite (invite links section, below the user table). Configure:
- Max uses — how many times the link can be used before it expires:
1×,2×,3×,4×,5×, or∞(unlimited). Defaults to1×. - Expiry — how long the link remains valid:
1d,3d,7d,14d, or∞(no expiry). Defaults to7d. - Add to trip (optional) — bind the invite to a trip. Anyone who registers through the link is automatically added to that trip as a member. Defaults to No trip (a plain registration invite). The selector only appears when at least one trip exists.
After creation the link is copied to your clipboard automatically. Share it with the intended recipient. The URL format is:
<APP_URL>/register?invite=<token>
Invite list
Existing invites are listed below the creation button. Each row shows:
- The invite token (truncated, monospace)
- A status badge —
active,used up, orexpired - Usage —
used / max(orused / ∞for unlimited) - Expiry date, if set
- Adds to — the bound trip, if the invite is trip-bound
- Created by — the admin who generated the link
- A copy link button (only shown for active invites)
- A delete (revoke) button
Revoking an invite immediately invalidates it; anyone following the link after revocation will receive an error.
Permissions
The Users tab also hosts the Permissions panel at the bottom, which controls what roles can perform which actions. See Admin-Permissions for details.

