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)
%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')