mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-03-19 11:32:09 +00:00
* perf: remove call client old- method via ?next=client * feat: add 2 decorators for login-get and login-callback-get to set next_page and get next_page from session * perf: code style * perf: handling the next parameter propagation issue in third-party authentication flows * perf: request.GET.dict() to copy() * perf: style import --------- Co-authored-by: Bai <baijiangjie@gmail.com>
34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
from django.utils.translation import gettext_lazy as _
|
|
from common.utils import FlashMessageUtil
|
|
|
|
|
|
class FlashMessageMixin:
|
|
@staticmethod
|
|
def get_response(redirect_url='', title='', msg='', m_type='message', interval=5):
|
|
message_data = {
|
|
'title': title, 'interval': interval,
|
|
'redirect_url': redirect_url,
|
|
}
|
|
if m_type == 'error':
|
|
message_data['error'] = msg
|
|
else:
|
|
message_data['message'] = msg
|
|
return FlashMessageUtil.gen_and_redirect_to(message_data)
|
|
|
|
def get_success_response(self, redirect_url, title, msg, **kwargs):
|
|
return self.get_response(redirect_url, title, msg, m_type='success', **kwargs)
|
|
|
|
def get_failed_response(self, redirect_url, title, msg, interval=10):
|
|
return self.get_response(redirect_url, title, msg, 'error', interval)
|
|
|
|
def get_verify_state_failed_response(self, redirect_uri):
|
|
msg = _(
|
|
"For your safety, automatic redirection login is not supported on the client."
|
|
" If you need to open it in the client, please log in again")
|
|
return self.get_failed_response(redirect_uri, msg, msg)
|
|
|
|
def verify_state_with_session_key(self, session_key):
|
|
return self.request.GET.get('state') == self.request.session.get(session_key)
|