Add consumable invites (#5814)

* Add consumable invites

* Add UI for generating invite codes

* Add tests

* Display max uses and expiration in invites table, delete invite

* Remove unused column and redundant validator

- Default follows not used, probably bad idea
- InviteCodeValidator is redundant because RegistrationsController
  checks invite code validity

* Add admin setting to disable invites

* Add admin UI for invites, configurable role for invite creation

- Admin UI that lists everyone's invites, always available
- Admin setting min_invite_role to control who can invite people
- Non-admin invite UI only visible if users are allowed to

* Do not remove invites from database, expire them instantly
This commit is contained in:
Eugen Rochko
2017-11-27 16:07:59 +01:00
committed by GitHub
parent 0ea4478b68
commit 740f8a95a9
28 changed files with 439 additions and 5 deletions

View File

@ -231,6 +231,8 @@ en:
reset: Reset
search: Search
title: Known instances
invites:
title: Invites
reports:
action_taken_by: Action taken by
are_you_sure: Are you sure?
@ -269,6 +271,9 @@ en:
deletion:
desc_html: Allow anyone to delete their account
title: Open account deletion
min_invite_role:
disabled: No one
title: Allow invitations by
open:
desc_html: Allow anyone to create an account
title: Open registration
@ -424,6 +429,25 @@ en:
muting: Muting list
upload: Upload
in_memoriam_html: In Memoriam.
invites:
delete: Delete
expires_in:
'1800': 30 minutes
'21600': 6 hours
'3600': 1 hour
'43200': 12 hours
'86400': 1 day
expires_in_prompt: Never
generate: Generate
max_uses:
one: 1 use
other: "%{count} uses"
max_uses_prompt: No limit
prompt: Generate and share links with others to grant access to this instance
table:
expires_at: Expires
uses: Uses
title: Invite people
landing_strip_html: "<strong>%{name}</strong> is a user on %{link_to_root_path}. You can follow them or interact with them if you have an account anywhere in the fediverse."
landing_strip_signup_html: If you don't, you can <a href="%{sign_up_path}">sign up here</a>.
media_attachments:

View File

@ -30,10 +30,12 @@ en:
data: Data
display_name: Display name
email: E-mail address
expires_in: Expire after
filtered_languages: Filtered languages
header: Header
locale: Language
locked: Lock account
max_uses: Max number of uses
new_password: New password
note: Bio
otp_attempt: Two-factor code