Fix not all of account's active IPs showing up in admin UI (#12909)
This commit is contained in:
		
							parent
							
								
									91e4955e08
								
							
						
					
					
						commit
						02063c245c
					
				| @ -290,6 +290,21 @@ class User < ApplicationRecord | ||||
|     setting_display_media == 'hide_all' | ||||
|   end | ||||
| 
 | ||||
|   def recent_ips | ||||
|     @recent_ips ||= begin | ||||
|       arr = [] | ||||
| 
 | ||||
|       session_activations.each do |session_activation| | ||||
|         arr << [session_activation.updated_at, session_activation.ip] | ||||
|       end | ||||
| 
 | ||||
|       arr << [current_sign_in_at, current_sign_in_ip] if current_sign_in_ip.present? | ||||
|       arr << [last_sign_in_at, last_sign_in_ip] if last_sign_in_ip.present? | ||||
| 
 | ||||
|       arr.sort_by(&:first).uniq(&:last).reverse! | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   protected | ||||
| 
 | ||||
|   def send_devise_notification(notification, *args) | ||||
|  | ||||
| @ -139,12 +139,12 @@ | ||||
|               %time.formatted{ datetime: @account.created_at.iso8601, title: l(@account.created_at) }= l @account.created_at | ||||
|             %td | ||||
| 
 | ||||
|           %tr | ||||
|             %th= t('admin.accounts.most_recent_ip') | ||||
|             %td= @account.user_current_sign_in_ip | ||||
|             %td | ||||
|               - if @account.user_current_sign_in_ip | ||||
|                 = table_link_to 'search', t('admin.accounts.search_same_ip'), admin_accounts_path(ip: @account.user_current_sign_in_ip) | ||||
|           - @account.user.recent_ips.each_with_index do |(_, ip), i| | ||||
|             %tr | ||||
|               - if i.zero? | ||||
|                 %th{ rowspan: @account.user.recent_ips.size }= t('admin.accounts.most_recent_ip') | ||||
|               %td= ip | ||||
|               %td= table_link_to 'search', t('admin.accounts.search_same_ip'), admin_accounts_path(ip: ip) | ||||
| 
 | ||||
|           %tr | ||||
|             %th= t('admin.accounts.most_recent_activity') | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user