Show "expired" in invite index (#5838)
* Show "expired" in invite index * "Force expire" -> "Deactivate"
This commit is contained in:
		
							parent
							
								
									eeaec39888
								
							
						
					
					
						commit
						15fab79cfa
					
				
					 4 changed files with 21 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue