mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-23 09:16:29 -06:00
dfa892d2a2
2. In server(web) mode, update all the saved server credentials when user password is changed. Fixes #3377
108 lines
3.0 KiB
Python
108 lines
3.0 KiB
Python
##########################################################################
|
|
#
|
|
# pgAdmin 4 - PostgreSQL Tools
|
|
#
|
|
# Copyright (C) 2013 - 2019, The pgAdmin Development Team
|
|
# This software is released under the PostgreSQL Licence
|
|
#
|
|
##########################################################################
|
|
|
|
from werkzeug.exceptions import HTTPException
|
|
from werkzeug.http import HTTP_STATUS_CODES
|
|
from flask_babelex import gettext as _
|
|
from flask import request
|
|
|
|
from pgadmin.utils.ajax import service_unavailable
|
|
|
|
|
|
class ConnectionLost(HTTPException):
|
|
"""
|
|
Exception
|
|
"""
|
|
|
|
def __init__(self, _server_id, _database_name, _conn_id):
|
|
self.sid = _server_id
|
|
self.db = _database_name
|
|
self.conn_id = _conn_id
|
|
HTTPException.__init__(self)
|
|
|
|
@property
|
|
def name(self):
|
|
return HTTP_STATUS_CODES.get(503, 'Service Unavailable')
|
|
|
|
def get_response(self, environ=None):
|
|
return service_unavailable(
|
|
_("Connection to the server has been lost."),
|
|
info="CONNECTION_LOST",
|
|
data={
|
|
'sid': self.sid,
|
|
'database': self.db,
|
|
'conn_id': self.conn_id
|
|
}
|
|
)
|
|
|
|
def __str__(self):
|
|
return "Connection (id #{2}) lost for the server (#{0}) on " \
|
|
"database ({1})".format(self.sid, self.db, self.conn_id)
|
|
|
|
def __repr__(self):
|
|
return "Connection (id #{2}) lost for the server (#{0}) on " \
|
|
"database ({1})".format(self.sid, self.db, self.conn_id)
|
|
|
|
|
|
class SSHTunnelConnectionLost(HTTPException):
|
|
"""
|
|
Exception when connection to SSH tunnel is lost
|
|
"""
|
|
|
|
def __init__(self, _tunnel_host):
|
|
self.tunnel_host = _tunnel_host
|
|
HTTPException.__init__(self)
|
|
|
|
@property
|
|
def name(self):
|
|
return HTTP_STATUS_CODES.get(503, 'Service Unavailable')
|
|
|
|
def get_response(self, environ=None):
|
|
return service_unavailable(
|
|
_("Connection to the SSH Tunnel for host '{0}' has been lost. "
|
|
"Reconnect to the database server.").format(self.tunnel_host),
|
|
info="SSH_TUNNEL_CONNECTION_LOST",
|
|
data={
|
|
'tunnel_host': self.tunnel_host
|
|
}
|
|
)
|
|
|
|
def __str__(self):
|
|
return "Connection to the SSH Tunnel for host '{0}' has been lost. " \
|
|
"Reconnect to the database server".format(self.tunnel_host)
|
|
|
|
def __repr__(self):
|
|
return "Connection to the SSH Tunnel for host '{0}' has been lost. " \
|
|
"Reconnect to the database server".format(self.tunnel_host)
|
|
|
|
|
|
class CryptKeyMissing(HTTPException):
|
|
"""
|
|
Exception
|
|
"""
|
|
|
|
def __init__(self):
|
|
HTTPException.__init__(self)
|
|
|
|
@property
|
|
def name(self):
|
|
return HTTP_STATUS_CODES.get(503, 'Service Unavailable')
|
|
|
|
def get_response(self, environ=None):
|
|
return service_unavailable(
|
|
_("Crypt key is missing."),
|
|
info="CRYPTKEY_MISSING",
|
|
)
|
|
|
|
def __str__(self):
|
|
return "Crypt key is missing."
|
|
|
|
def __repr__(self):
|
|
return "Crypt key is missing."
|