commit: 15fab79cfa5b732e9d7816f162272d72cf06c733
parent: eeaec39888f66bf312ac9a4c58f315ffd8f874f2
Author: Yamagishi Kazutoshi <ykzts@desire.sh>
Date: Tue, 28 Nov 2017 23:41:02 +0900
Show "expired" in invite index (#5838)
* Show "expired" in invite index
* "Force expire" -> "Deactivate"
Diffstat:
4 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/app/models/invite.rb b/app/models/invite.rb
@@ -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
diff --git a/app/views/admin/invites/_invite.html.haml b/app/views/admin/invites/_invite.html.haml
@@ -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?
diff --git a/app/views/invites/_invite.html.haml b/app/views/invites/_invite.html.haml
@@ -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?
diff --git a/config/locales/en.yml b/config/locales/en.yml
@@ -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