740f8a95a9
* 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
16 lines
586 B
Plaintext
16 lines
586 B
Plaintext
%tr
|
|
%td
|
|
.name-tag
|
|
= image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar'
|
|
%span.username= invite.user.account.username
|
|
%td
|
|
= invite.uses
|
|
= " / #{invite.max_uses}" unless invite.max_uses.nil?
|
|
%td
|
|
- if invite.expires_at.nil?
|
|
∞
|
|
- else
|
|
= l invite.expires_at
|
|
%td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code)
|
|
%td= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete if policy(invite).destroy?
|