64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module Admin::SettingsHelper
 | 
						|
  def captcha_available?
 | 
						|
    ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present?
 | 
						|
  end
 | 
						|
 | 
						|
  def login_activity_title(activity)
 | 
						|
    t(
 | 
						|
      "login_activities.#{login_activity_key(activity)}",
 | 
						|
      method: login_activity_method(activity),
 | 
						|
      ip: login_activity_ip(activity),
 | 
						|
      browser: login_activity_browser(activity)
 | 
						|
    )
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def login_activity_key(activity)
 | 
						|
    activity.success? ? 'successful_sign_in_html' : 'failed_sign_in_html'
 | 
						|
  end
 | 
						|
 | 
						|
  def login_activity_method(activity)
 | 
						|
    content_tag(
 | 
						|
      :span,
 | 
						|
      login_activity_method_string(activity),
 | 
						|
      class: 'target'
 | 
						|
    )
 | 
						|
  end
 | 
						|
 | 
						|
  def login_activity_ip(activity)
 | 
						|
    content_tag(
 | 
						|
      :span,
 | 
						|
      activity.ip,
 | 
						|
      class: 'target'
 | 
						|
    )
 | 
						|
  end
 | 
						|
 | 
						|
  def login_activity_browser(activity)
 | 
						|
    content_tag(
 | 
						|
      :span,
 | 
						|
      login_activity_browser_description(activity),
 | 
						|
      class: 'target',
 | 
						|
      title: activity.user_agent
 | 
						|
    )
 | 
						|
  end
 | 
						|
 | 
						|
  def login_activity_method_string(activity)
 | 
						|
    if activity.omniauth?
 | 
						|
      t("auth.providers.#{activity.provider}")
 | 
						|
    else
 | 
						|
      t("login_activities.authentication_methods.#{activity.authentication_method}")
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def login_activity_browser_description(activity)
 | 
						|
    t(
 | 
						|
      'sessions.description',
 | 
						|
      browser: t(activity.browser, scope: 'sessions.browsers', default: activity.browser.to_s),
 | 
						|
      platform: t(activity.platform, scope: 'sessions.platforms', default: activity.platform.to_s)
 | 
						|
    )
 | 
						|
  end
 | 
						|
end
 |