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 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

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?

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?

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