Browse Source

Show "expired" in invite index (#5838)

* Show "expired" in invite index

* "Force expire" -> "Deactivate"
master
Yamagishi Kazutoshi 7 years ago
committed by Eugen Rochko
parent
commit
15fab79cfa
4 changed files with 21 additions and 8 deletions
  1. +5
    -1
      app/models/invite.rb
  2. +7
    -3
      app/views/admin/invites/_invite.html.haml
  3. +7
    -3
      app/views/invites/_invite.html.haml
  4. +2
    -1
      config/locales/en.yml

+ 5
- 1
app/models/invite.rb View File

@ -27,13 +27,17 @@ class Invite < ApplicationRecord
end end
def valid_for_use? def valid_for_use?
(max_uses.nil? || uses < max_uses) && (expires_at.nil? || expires_at >= Time.now.utc)
(max_uses.nil? || uses < max_uses) && !expired?
end end
def expire! def expire!
touch(:expires_at) touch(:expires_at)
end end
def expired?
!expires_at.nil? && expires_at < Time.now.utc
end
private private
def set_code def set_code

+ 7
- 3
app/views/admin/invites/_invite.html.haml View File

@ -7,9 +7,13 @@
= invite.uses = invite.uses
= " / #{invite.max_uses}" unless invite.max_uses.nil? = " / #{invite.max_uses}" unless invite.max_uses.nil?
%td %td
- if invite.expires_at.nil?
- if invite.expired?
= t('invites.expired')
- else - else
= l invite.expires_at
- if invite.expires_at.nil?
- else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= 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 '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? %td= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete if policy(invite).destroy?

+ 7
- 3
app/views/invites/_invite.html.haml View File

@ -3,9 +3,13 @@
= invite.uses = invite.uses
= " / #{invite.max_uses}" unless invite.max_uses.nil? = " / #{invite.max_uses}" unless invite.max_uses.nil?
%td %td
- if invite.expires_at.nil?
- if invite.expired?
= t('invites.expired')
- else - else
= l invite.expires_at
- if invite.expires_at.nil?
- else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= 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 '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? %td= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete if policy(invite).destroy?

+ 2
- 1
config/locales/en.yml View File

@ -432,7 +432,8 @@ en:
upload: Upload upload: Upload
in_memoriam_html: In Memoriam. in_memoriam_html: In Memoriam.
invites: invites:
delete: Delete
delete: Deactivate
expired: Expired
expires_in: expires_in:
'1800': 30 minutes '1800': 30 minutes
'21600': 6 hours '21600': 6 hours

Loading…
Cancel
Save