mirror of
https://github.com/fastogt/fastocloud_admin.git
synced 2025-03-09 23:38:52 +00:00
29 lines
861 B
Python
29 lines
861 B
Python
from flask import session
|
|
|
|
from pyfastocloud_models.provider.login.entry import ProviderUser
|
|
|
|
SERVER_POSITION_SESSION_FIELD = 'server_position'
|
|
|
|
|
|
class ProviderAdminUser(ProviderUser):
|
|
def login(self):
|
|
self.set_current_server_position(0)
|
|
super(ProviderAdminUser, self).login()
|
|
|
|
def logout(self):
|
|
session.pop(SERVER_POSITION_SESSION_FIELD)
|
|
super(ProviderAdminUser, self).logout()
|
|
|
|
def set_current_server_position(self, pos: int):
|
|
session[SERVER_POSITION_SESSION_FIELD] = pos
|
|
|
|
def get_current_server(self):
|
|
if not self.servers:
|
|
return None
|
|
|
|
server_settings = self.servers[session[SERVER_POSITION_SESSION_FIELD]]
|
|
if server_settings:
|
|
from app import servers_manager
|
|
return servers_manager.find_or_create_server(server_settings)
|
|
|
|
return None
|