* Add: #406 ユーザーのカスタムCSS * Fix lint * Fix lint * カスタムCSSの保存先を変更 * キャッシュを考慮して別URLに変更
This commit is contained in:
parent
5ffd7593f1
commit
665c632d66
28 changed files with 283 additions and 4 deletions
|
@ -78,7 +78,11 @@ class Auth::SessionsController < Devise::SessionsController
|
|||
end
|
||||
|
||||
def user_params
|
||||
params.require(:user).permit(:email, :password, :otp_attempt, credential: {})
|
||||
params.require(:user).permit(:email, :password, :otp_attempt, :disable_css, credential: {})
|
||||
end
|
||||
|
||||
def login_page_params
|
||||
params.permit(:with_options)
|
||||
end
|
||||
|
||||
def after_sign_in_path_for(resource)
|
||||
|
@ -113,6 +117,11 @@ class Auth::SessionsController < Devise::SessionsController
|
|||
truthy_param?(:continue)
|
||||
end
|
||||
|
||||
def with_login_options?
|
||||
login_page_params[:with_options] == '1'
|
||||
end
|
||||
helper_method :with_login_options?
|
||||
|
||||
def restart_session
|
||||
clear_attempt_from_session
|
||||
redirect_to new_user_session_path, alert: I18n.t('devise.failure.timeout')
|
||||
|
@ -151,6 +160,8 @@ class Auth::SessionsController < Devise::SessionsController
|
|||
sign_in(user)
|
||||
flash.delete(:notice)
|
||||
|
||||
disable_custom_css!(user) if disable_custom_css?
|
||||
|
||||
LoginActivity.create(
|
||||
user: user,
|
||||
success: true,
|
||||
|
@ -162,6 +173,15 @@ class Auth::SessionsController < Devise::SessionsController
|
|||
UserMailer.suspicious_sign_in(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later! if @login_is_suspicious
|
||||
end
|
||||
|
||||
def disable_custom_css?
|
||||
user_params[:disable_css].present? && user_params[:disable_css] != '0'
|
||||
end
|
||||
|
||||
def disable_custom_css!(user)
|
||||
user.settings['web.use_custom_css'] = false
|
||||
user.save!
|
||||
end
|
||||
|
||||
def suspicious_sign_in?(user)
|
||||
SuspiciousSignInDetector.new(user).suspicious?(request)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue