Gab Social. All are welcome.
This commit is contained in:
14
app/views/invites/_form.html.haml
Normal file
14
app/views/invites/_form.html.haml
Normal file
@@ -0,0 +1,14 @@
|
||||
= simple_form_for(@invite, url: controller.is_a?(Admin::InvitesController) ? admin_invites_path : invites_path) do |f|
|
||||
= render 'shared/error_messages', object: @invite
|
||||
|
||||
.fields-row
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
= f.input :max_uses, wrapper: :with_label, collection: [1, 5, 10, 25, 50, 100], label_method: lambda { |num| I18n.t('invites.max_uses', count: num) }, prompt: I18n.t('invites.max_uses_prompt')
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
= f.input :expires_in, wrapper: :with_label, collection: [30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week].map(&:to_i), label_method: lambda { |i| I18n.t("invites.expires_in.#{i}") }, prompt: I18n.t('invites.expires_in_prompt')
|
||||
|
||||
.fields-group
|
||||
= f.input :autofollow, wrapper: :with_label
|
||||
|
||||
.actions
|
||||
= f.button :button, t('invites.generate'), type: :submit
|
||||
25
app/views/invites/_invite.html.haml
Normal file
25
app/views/invites/_invite.html.haml
Normal file
@@ -0,0 +1,25 @@
|
||||
%tr
|
||||
%td
|
||||
.input-copy
|
||||
.input-copy__wrapper
|
||||
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
|
||||
%button{ type: :button }= t('generic.copy')
|
||||
|
||||
- if invite.valid_for_use?
|
||||
%td
|
||||
= fa_icon 'user fw'
|
||||
= invite.uses
|
||||
= " / #{invite.max_uses}" unless invite.max_uses.nil?
|
||||
%td
|
||||
- if invite.expires_at.nil?
|
||||
∞
|
||||
- else
|
||||
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
|
||||
= l invite.expires_at
|
||||
- else
|
||||
%td{ colspan: 2 }
|
||||
= t('invites.expired')
|
||||
|
||||
%td
|
||||
- if invite.valid_for_use? && policy(invite).destroy?
|
||||
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
|
||||
20
app/views/invites/index.html.haml
Normal file
20
app/views/invites/index.html.haml
Normal file
@@ -0,0 +1,20 @@
|
||||
- content_for :page_title do
|
||||
= t('invites.title')
|
||||
|
||||
- if policy(:invite).create?
|
||||
%p= t('invites.prompt')
|
||||
|
||||
= render 'form'
|
||||
|
||||
%hr.spacer/
|
||||
|
||||
.simple_form
|
||||
%table.table.table--invites
|
||||
%thead
|
||||
%tr
|
||||
%th
|
||||
%th= t('invites.table.uses')
|
||||
%th= t('invites.table.expires_at')
|
||||
%th
|
||||
%tbody
|
||||
= render @invites
|
||||
Reference in New Issue
Block a user