Show "expired" in invite index (#5838)

* Show "expired" in invite index

* "Force expire" -> "Deactivate"
remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Yamagishi Kazutoshi 2017-11-28 23:41:02 +09:00 committed by Eugen Rochko
parent eeaec39888
commit 15fab79cfa
4 changed files with 21 additions and 8 deletions

View File

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

View File

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

View File

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

View File

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