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
11 lines
406 B
Text
11 lines
406 B
Text
%tr
|
|
%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?
|