mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
1) Replace Flask-BabelEx with Flask-Babel. Fixes #6088
2) Upgrade Flask to version 2. Fixes #7010
This commit is contained in:
25
DEPENDENCIES
25
DEPENDENCIES
@@ -23,36 +23,35 @@ Python Dependencies
|
|||||||
|
|
||||||
Name Version Licence URL
|
Name Version Licence URL
|
||||||
---- ------- ------- ---
|
---- ------- ------- ---
|
||||||
Flask 1.1.4 BSD-3-Clause https://palletsprojects.com/p/flask/
|
Flask 2.0.2 BSD-3-Clause https://palletsprojects.com/p/flask
|
||||||
Flask-Gravatar 0.5.0 BSD https://github.com/zzzsochi/Flask-Gravatar/
|
Flask-Gravatar 0.5.0 BSD https://github.com/zzzsochi/Flask-Gravatar/
|
||||||
Flask-Login 0.5.0 MIT https://github.com/maxcountryman/flask-login
|
Flask-Login 0.5.0 MIT https://github.com/maxcountryman/flask-login
|
||||||
Flask-Mail 0.9.1 BSD https://github.com/rduplain/flask-mail
|
Flask-Mail 0.9.1 BSD https://github.com/rduplain/flask-mail
|
||||||
Flask-Migrate 2.7.0 MIT http://github.com/miguelgrinberg/flask-migrate/
|
Flask-Migrate 3.1.0 UNKNOWN https://github.com/miguelgrinberg/flask-migrate
|
||||||
Flask-SQLAlchemy 2.5.1 BSD-3-Clause https://github.com/pallets/flask-sqlalchemy
|
Flask-SQLAlchemy 2.5.1 BSD-3-Clause https://github.com/pallets/flask-sqlalchemy
|
||||||
Flask-WTF 0.15.1 BSD https://github.com/wtforms/flask-wtf
|
Flask-WTF 1.0.0 BSD-3-Clause https://github.com/wtforms/flask-wtf/
|
||||||
Flask-Compress 1.10.1 MIT https://github.com/colour-science/flask-compress
|
Flask-Compress 1.10.1 MIT https://github.com/colour-science/flask-compress
|
||||||
|
Flask-Paranoid 0.2.0 MIT http://github.com/miguelgrinberg/flask-paranoid/
|
||||||
|
Flask-Babel 2.0.0 BSD http://github.com/python-babel/flask-babel
|
||||||
|
Flask-Security-Too 4.1.2 MIT https://github.com/Flask-Middleware/flask-security
|
||||||
|
Flask-SocketIO 5.1.1 UNKNOWN https://github.com/miguelgrinberg/flask-socketio
|
||||||
|
WTForms 3.0.0 BSD-3-Clause https://wtforms.readthedocs.io/
|
||||||
passlib 1.7.4 BSD https://passlib.readthedocs.io
|
passlib 1.7.4 BSD https://passlib.readthedocs.io
|
||||||
pytz 2021.3 MIT http://pythonhosted.org/pytz
|
pytz 2021.3 MIT http://pythonhosted.org/pytz
|
||||||
simplejson 3.17.5 MIT License https://github.com/simplejson/simplejson
|
simplejson 3.17.6 MIT License https://github.com/simplejson/simplejson
|
||||||
six 1.16.0 MIT https://github.com/benjaminp/six
|
six 1.16.0 MIT https://github.com/benjaminp/six
|
||||||
speaklater3 1.4 UNKNOWN https://github.com/ThomasWaldmann/speaklater
|
speaklater3 1.4 UNKNOWN https://github.com/ThomasWaldmann/speaklater
|
||||||
sqlparse 0.4.2 BSD-3-Clause https://github.com/andialbrecht/sqlparse
|
sqlparse 0.4.2 BSD-3-Clause https://github.com/andialbrecht/sqlparse
|
||||||
WTForms 2.3.3 BSD-3-Clause https://wtforms.readthedocs.io/
|
|
||||||
Flask-Paranoid 0.2.0 MIT http://github.com/miguelgrinberg/flask-paranoid/
|
|
||||||
psutil 5.8.0 BSD https://github.com/giampaolo/psutil
|
psutil 5.8.0 BSD https://github.com/giampaolo/psutil
|
||||||
psycopg2 2.8.6 LGPL with exceptions https://psycopg.org/
|
psycopg2 2.8.6 LGPL with exceptions https://psycopg.org/
|
||||||
python-dateutil 2.8.2 Dual License https://github.com/dateutil/dateutil
|
python-dateutil 2.8.2 Dual License https://github.com/dateutil/dateutil
|
||||||
SQLAlchemy 1.3.24 MIT http://www.sqlalchemy.org
|
SQLAlchemy 1.4.27 MIT https://www.sqlalchemy.org
|
||||||
itsdangerous 1.1.0 BSD https://palletsprojects.com/p/itsdangerous/
|
|
||||||
Flask-Security-Too 4.1.2 MIT https://github.com/Flask-Middleware/flask-security
|
|
||||||
bcrypt 3.2.0 Apache License, Version 2.0 https://github.com/pyca/bcrypt/
|
bcrypt 3.2.0 Apache License, Version 2.0 https://github.com/pyca/bcrypt/
|
||||||
cryptography 3.4.8 BSD or Apache License, Version 2.0 https://github.com/pyca/cryptography
|
cryptography 3.4.8 BSD or Apache License, Version 2.0 https://github.com/pyca/cryptography
|
||||||
sshtunnel 0.4.0 MIT https://github.com/pahaz/sshtunnel
|
sshtunnel 0.4.0 MIT https://github.com/pahaz/sshtunnel
|
||||||
ldap3 2.9.1 LGPL v3 https://github.com/cannatag/ldap3
|
ldap3 2.9.1 LGPL v3 https://github.com/cannatag/ldap3
|
||||||
Flask-BabelEx 0.9.4 BSD http://github.com/mrjoes/flask-babelex
|
|
||||||
gssapi 1.6.14 LICENSE.txt https://github.com/pythongssapi/python-gssapi
|
gssapi 1.6.14 LICENSE.txt https://github.com/pythongssapi/python-gssapi
|
||||||
Flask-SocketIO 5.1.1 UNKNOWN https://github.com/miguelgrinberg/flask-socketio
|
eventlet 0.33.0 UNKNOWN http://eventlet.net
|
||||||
eventlet 0.31.0 UNKNOWN http://eventlet.net
|
|
||||||
httpagentparser 1.9.1 http://www.opensource.org/licenses/mit-license.php http://shon.github.com/httpagentparser
|
httpagentparser 1.9.1 http://www.opensource.org/licenses/mit-license.php http://shon.github.com/httpagentparser
|
||||||
user-agents 2.2.0 MIT https://github.com/selwin/python-user-agents
|
user-agents 2.2.0 MIT https://github.com/selwin/python-user-agents
|
||||||
pywinpty 1.1.1 Unknown Unknown
|
pywinpty 1.1.1 Unknown Unknown
|
||||||
@@ -62,7 +61,7 @@ requests 2.25.1
|
|||||||
NOTE: This report was generated using Python 3.9. Full information may not be
|
NOTE: This report was generated using Python 3.9. Full information may not be
|
||||||
shown for Python modules that are not required with this version.
|
shown for Python modules that are not required with this version.
|
||||||
|
|
||||||
35 dependencies listed.
|
34 dependencies listed.
|
||||||
|
|
||||||
Javascript Dependencies
|
Javascript Dependencies
|
||||||
=======================
|
=======================
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ New features
|
|||||||
Housekeeping
|
Housekeeping
|
||||||
************
|
************
|
||||||
|
|
||||||
|
| `Issue #6088 <https://redmine.postgresql.org/issues/6088>`_ - Replace Flask-BabelEx with Flask-Babel.
|
||||||
| `Issue #6984 <https://redmine.postgresql.org/issues/6984>`_ - Port Backup Global, Backup Server, and Backup object dialog in React.
|
| `Issue #6984 <https://redmine.postgresql.org/issues/6984>`_ - Port Backup Global, Backup Server, and Backup object dialog in React.
|
||||||
|
| `Issue #7010 <https://redmine.postgresql.org/issues/7010>`_ - Upgrade Flask to version 2.
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
*********
|
*********
|
||||||
@@ -23,4 +25,4 @@ Bug fixes
|
|||||||
| `Issue #6986 <https://redmine.postgresql.org/issues/6986>`_ - Fixed an issue where the user can't debug function with timestamp parameter.
|
| `Issue #6986 <https://redmine.postgresql.org/issues/6986>`_ - Fixed an issue where the user can't debug function with timestamp parameter.
|
||||||
| `Issue #6989 <https://redmine.postgresql.org/issues/6989>`_ - Fixed an issue where the Change Password menu option is missing for internal authentication source when more than one authentication source is defined.
|
| `Issue #6989 <https://redmine.postgresql.org/issues/6989>`_ - Fixed an issue where the Change Password menu option is missing for internal authentication source when more than one authentication source is defined.
|
||||||
| `Issue #7006 <https://redmine.postgresql.org/issues/7006>`_ - Ensure that Python 3.10 and the latest eventlet dependency should not break the application.
|
| `Issue #7006 <https://redmine.postgresql.org/issues/7006>`_ - Ensure that Python 3.10 and the latest eventlet dependency should not break the application.
|
||||||
| `Issue #7013 <https://redmine.postgresql.org/issues/7013>`_ - Fix an RPM build issue that could lead to a conflict with python3 at installation.
|
| `Issue #7013 <https://redmine.postgresql.org/issues/7013>`_ - Fix an RPM build issue that could lead to a conflict with python3 at installation.
|
||||||
|
|||||||
@@ -8,35 +8,34 @@
|
|||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Flask==1.*
|
Flask==2.*
|
||||||
Flask-Gravatar==0.*
|
Flask-Gravatar==0.*
|
||||||
Flask-Login==0.*
|
Flask-Login==0.*
|
||||||
Flask-Mail==0.*
|
Flask-Mail==0.*
|
||||||
Flask-Migrate==2.*
|
Flask-Migrate==3.*
|
||||||
Flask-SQLAlchemy==2.*
|
Flask-SQLAlchemy==2.*
|
||||||
Flask-WTF==0.*
|
Flask-WTF==1.*
|
||||||
Flask-Compress==1.*
|
Flask-Compress==1.*
|
||||||
|
Flask-Paranoid==0.*
|
||||||
|
Flask-Babel==2.*
|
||||||
|
Flask-Security-Too==4.*
|
||||||
|
Flask-SocketIO>=5.0.1
|
||||||
|
WTForms==3.*
|
||||||
passlib==1.*
|
passlib==1.*
|
||||||
pytz==2021.*
|
pytz==2021.*
|
||||||
simplejson==3.*
|
simplejson==3.*
|
||||||
six==1.*
|
six==1.*
|
||||||
speaklater3==1.*
|
speaklater3==1.*
|
||||||
sqlparse==0.*
|
sqlparse==0.*
|
||||||
WTForms==2.*
|
|
||||||
Flask-Paranoid==0.*
|
|
||||||
psutil==5.*
|
psutil==5.*
|
||||||
psycopg2==2.8.*
|
psycopg2==2.8.*
|
||||||
python-dateutil==2.*
|
python-dateutil==2.*
|
||||||
SQLAlchemy==1.3.*
|
SQLAlchemy==1.4.*
|
||||||
itsdangerous<=1.1.0
|
|
||||||
Flask-Security-Too==4.*
|
|
||||||
bcrypt==3.*
|
bcrypt==3.*
|
||||||
cryptography==3.*
|
cryptography==3.*
|
||||||
sshtunnel==0.*
|
sshtunnel==0.*
|
||||||
ldap3==2.*
|
ldap3==2.*
|
||||||
Flask-BabelEx==0.*
|
|
||||||
gssapi==1.6.*
|
gssapi==1.6.*
|
||||||
flask-socketio>=5.0.1
|
|
||||||
eventlet==0.33.0
|
eventlet==0.33.0
|
||||||
httpagentparser==1.9.*
|
httpagentparser==1.9.*
|
||||||
user-agents==2.2.0
|
user-agents==2.2.0
|
||||||
|
|||||||
@@ -209,8 +209,11 @@ def upgrade():
|
|||||||
os.urandom(32)).decode()
|
os.urandom(32)).decode()
|
||||||
db.engine.execute(sql)
|
db.engine.execute(sql)
|
||||||
|
|
||||||
sql = "INSERT INTO keys (name, value) VALUES ('SECRET_KEY', '%s')" % base64.urlsafe_b64encode(
|
if hasattr(config, 'SECRET_KEY'):
|
||||||
os.urandom(32)).decode()
|
sql = "INSERT INTO keys (name, value) VALUES ('SECRET_KEY', '%s')" % config.SECRET_KEY
|
||||||
|
else:
|
||||||
|
sql = "INSERT INTO keys (name, value) VALUES ('SECRET_KEY', '%s')" % base64.urlsafe_b64encode(
|
||||||
|
os.urandom(32)).decode()
|
||||||
db.engine.execute(sql)
|
db.engine.execute(sql)
|
||||||
|
|
||||||
# If SECURITY_PASSWORD_SALT is not in the config, but we're upgrading, then it must (unless the
|
# If SECURITY_PASSWORD_SALT is not in the config, but we're upgrading, then it must (unless the
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import sqlalchemy as sa
|
|||||||
from alembic import op
|
from alembic import op
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
from flask_security import Security, SQLAlchemyUserDatastore
|
from flask_security import Security, SQLAlchemyUserDatastore
|
||||||
from flask_security.utils import encrypt_password
|
from flask_security.utils import hash_password
|
||||||
from pgadmin.model import db, User, Role
|
from pgadmin.model import db, User, Role
|
||||||
from pgadmin.setup import get_version
|
from pgadmin.setup import get_version
|
||||||
from pgadmin.setup import user_info
|
from pgadmin.setup import user_info
|
||||||
@@ -116,14 +116,24 @@ VALUES(1, 1, 'Servers')
|
|||||||
os.urandom(32)
|
os.urandom(32)
|
||||||
).decode()
|
).decode()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
secret_key = getattr(
|
||||||
|
config, 'SECRET_KEY', base64.urlsafe_b64encode(
|
||||||
|
os.urandom(32)
|
||||||
|
).decode()
|
||||||
|
)
|
||||||
if current_app.extensions.get('security') is None:
|
if current_app.extensions.get('security') is None:
|
||||||
current_app.config['SECURITY_PASSWORD_SALT'] = current_salt
|
current_app.config['SECURITY_PASSWORD_SALT'] = current_salt
|
||||||
|
current_app.config['SECRET_KEY'] = secret_key
|
||||||
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
|
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
|
||||||
Security(current_app, user_datastore, register_blueprint=False)
|
Security(current_app, user_datastore, register_blueprint=False)
|
||||||
else:
|
else:
|
||||||
current_app.config['SECURITY_PASSWORD_SALT'] = current_salt
|
current_app.config['SECURITY_PASSWORD_SALT'] = current_salt
|
||||||
|
current_app.config['SECRET_KEY'] = secret_key
|
||||||
|
|
||||||
setattr(config, 'SECURITY_PASSWORD_SALT', current_salt)
|
setattr(config, 'SECURITY_PASSWORD_SALT', current_salt)
|
||||||
password = encrypt_password(password)
|
setattr(config, 'SECRET_KEY', secret_key)
|
||||||
|
password = hash_password(password)
|
||||||
|
|
||||||
db.engine.execute("""
|
db.engine.execute("""
|
||||||
INSERT INTO "user"
|
INSERT INTO "user"
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ from importlib import import_module
|
|||||||
from flask import Flask, abort, request, current_app, session, url_for
|
from flask import Flask, abort, request, current_app, session, url_for
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO
|
||||||
from werkzeug.exceptions import HTTPException
|
from werkzeug.exceptions import HTTPException
|
||||||
from flask_babelex import Babel, gettext
|
from flask_babel import Babel, gettext
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_login import user_logged_in, user_logged_out
|
from flask_login import user_logged_in, user_logged_out
|
||||||
from flask_mail import Mail
|
from flask_mail import Mail
|
||||||
from flask_paranoid import Paranoid
|
from flask_paranoid import Paranoid
|
||||||
@@ -78,17 +78,21 @@ class PgAdmin(Flask):
|
|||||||
super(PgAdmin, self).__init__(*args, **kwargs)
|
super(PgAdmin, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
def find_submodules(self, basemodule):
|
def find_submodules(self, basemodule):
|
||||||
for module_name in find_modules(basemodule, True):
|
try:
|
||||||
if module_name in self.config['MODULE_BLACKLIST']:
|
for module_name in find_modules(basemodule, True):
|
||||||
|
if module_name in self.config['MODULE_BLACKLIST']:
|
||||||
|
self.logger.info(
|
||||||
|
'Skipping blacklisted module: %s' % module_name
|
||||||
|
)
|
||||||
|
continue
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
'Skipping blacklisted module: %s' % module_name
|
'Examining potential module: %s' % module_name)
|
||||||
)
|
module = import_module(module_name)
|
||||||
continue
|
for key in list(module.__dict__.keys()):
|
||||||
self.logger.info('Examining potential module: %s' % module_name)
|
if isinstance(module.__dict__[key], PgAdminModule):
|
||||||
module = import_module(module_name)
|
yield module.__dict__[key]
|
||||||
for key in list(module.__dict__.keys()):
|
except Exception as _:
|
||||||
if isinstance(module.__dict__[key], PgAdminModule):
|
return []
|
||||||
yield module.__dict__[key]
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def submodules(self):
|
def submodules(self):
|
||||||
@@ -704,8 +708,9 @@ def create_app(app_name=None):
|
|||||||
##########################################################################
|
##########################################################################
|
||||||
for module in app.find_submodules('pgadmin'):
|
for module in app.find_submodules('pgadmin'):
|
||||||
app.logger.info('Registering blueprint module: %s' % module)
|
app.logger.info('Registering blueprint module: %s' % module)
|
||||||
app.register_blueprint(module)
|
if app.blueprints.get(module.name) is None:
|
||||||
app.register_logout_hook(module)
|
app.register_blueprint(module)
|
||||||
|
app.register_logout_hook(module)
|
||||||
|
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def limit_host_addr():
|
def limit_host_addr():
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
from flask import Response, render_template, __version__, url_for, request
|
from flask import Response, render_template, __version__, url_for, request
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import current_user, login_required
|
from flask_security import current_user, login_required
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
from pgadmin.utils.menu import MenuItem
|
from pgadmin.utils.menu import MenuItem
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import copy
|
|||||||
|
|
||||||
from flask import current_app, flash, Response, request, url_for, \
|
from flask import current_app, flash, Response, request, url_for, \
|
||||||
session, redirect
|
session, redirect
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security.views import _security
|
from flask_security.views import _security
|
||||||
from flask_security.utils import get_post_logout_redirect, \
|
from flask_security.utils import get_post_logout_redirect, \
|
||||||
get_post_login_redirect, logout_user
|
get_post_login_redirect, logout_user
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import six
|
|||||||
from flask import current_app, flash
|
from flask import current_app, flash
|
||||||
from flask_security import login_user
|
from flask_security import login_user
|
||||||
from abc import abstractmethod, abstractproperty
|
from abc import abstractmethod, abstractproperty
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
from .registry import AuthSourceRegistry
|
from .registry import AuthSourceRegistry
|
||||||
from pgadmin.model import User
|
from pgadmin.model import User
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import base64
|
|||||||
from os import environ, path, remove
|
from os import environ, path, remove
|
||||||
|
|
||||||
from werkzeug.datastructures import Headers, MultiDict
|
from werkzeug.datastructures import Headers, MultiDict
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask import request, Response, session,\
|
from flask import request, Response, session,\
|
||||||
current_app, render_template, flash, url_for
|
current_app, render_template, flash, url_for
|
||||||
from flask_security.views import _security
|
from flask_security.views import _security
|
||||||
@@ -53,10 +53,10 @@ if config.KRB_KTNAME and config.KRB_KTNAME != '<KRB5_KEYTAB_FILE>':
|
|||||||
|
|
||||||
|
|
||||||
class KerberosModule(PgAdminModule):
|
class KerberosModule(PgAdminModule):
|
||||||
def register(self, app, options, first_registration=False):
|
def register(self, app, options):
|
||||||
# Do not look for the sub_modules,
|
# Do not look for the sub_modules,
|
||||||
# instead call blueprint.register(...) directly
|
# instead call blueprint.register(...) directly
|
||||||
super(PgAdminModule, self).register(app, options, first_registration)
|
super(PgAdminModule, self).register(app, options)
|
||||||
|
|
||||||
def get_exposed_url_endpoints(self):
|
def get_exposed_url_endpoints(self):
|
||||||
return ['kerberos.login',
|
return ['kerberos.login',
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from ldap3 import Connection, Server, Tls, ALL, ALL_ATTRIBUTES, ANONYMOUS,\
|
|||||||
from ldap3.core.exceptions import LDAPSocketOpenError, LDAPBindError,\
|
from ldap3.core.exceptions import LDAPSocketOpenError, LDAPBindError,\
|
||||||
LDAPInvalidScopeError, LDAPAttributeError, LDAPInvalidFilterError,\
|
LDAPInvalidScopeError, LDAPAttributeError, LDAPInvalidFilterError,\
|
||||||
LDAPStartTLSError, LDAPSSLConfigurationError
|
LDAPStartTLSError, LDAPSSLConfigurationError
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from .internal import BaseAuthentication
|
from .internal import BaseAuthentication
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import config
|
|||||||
from authlib.integrations.flask_client import OAuth
|
from authlib.integrations.flask_client import OAuth
|
||||||
from flask import current_app, url_for, session, request,\
|
from flask import current_app, url_for, session, request,\
|
||||||
redirect, Flask, flash
|
redirect, Flask, flash
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_user, current_user
|
from flask_security import login_user, current_user
|
||||||
from flask_security.utils import get_post_logout_redirect, \
|
from flask_security.utils import get_post_logout_redirect, \
|
||||||
get_post_login_redirect, logout_user
|
get_post_login_redirect, logout_user
|
||||||
@@ -32,10 +32,10 @@ OAUTH2_AUTHORIZE = 'oauth2.authorize'
|
|||||||
|
|
||||||
|
|
||||||
class Oauth2Module(PgAdminModule):
|
class Oauth2Module(PgAdminModule):
|
||||||
def register(self, app, options, first_registration=False):
|
def register(self, app, options):
|
||||||
# Do not look for the sub_modules,
|
# Do not look for the sub_modules,
|
||||||
# instead call blueprint.register(...) directly
|
# instead call blueprint.register(...) directly
|
||||||
super(PgAdminModule, self).register(app, options, first_registration)
|
super(PgAdminModule, self).register(app, options)
|
||||||
|
|
||||||
def get_exposed_url_endpoints(self):
|
def get_exposed_url_endpoints(self):
|
||||||
return [OAUTH2_AUTHORIZE,
|
return [OAUTH2_AUTHORIZE,
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import string
|
|||||||
import config
|
import config
|
||||||
from flask import request, current_app, session, Response, render_template, \
|
from flask import request, current_app, session, Response, render_template, \
|
||||||
url_for
|
url_for
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_user
|
from flask_security import login_user
|
||||||
from .internal import BaseAuthentication
|
from .internal import BaseAuthentication
|
||||||
from pgadmin.model import User
|
from pgadmin.model import User
|
||||||
@@ -27,10 +27,10 @@ from os import environ, path, remove
|
|||||||
|
|
||||||
|
|
||||||
class WebserverModule(PgAdminModule):
|
class WebserverModule(PgAdminModule):
|
||||||
def register(self, app, options, first_registration=False):
|
def register(self, app, options):
|
||||||
# Do not look for the sub_modules,
|
# Do not look for the sub_modules,
|
||||||
# instead call blueprint.register(...) directly
|
# instead call blueprint.register(...) directly
|
||||||
super(PgAdminModule, self).register(app, options, first_registration)
|
super(PgAdminModule, self).register(app, options)
|
||||||
|
|
||||||
def get_exposed_url_endpoints(self):
|
def get_exposed_url_endpoints(self):
|
||||||
return ['webserver.login',
|
return ['webserver.login',
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import six
|
|||||||
import time
|
import time
|
||||||
from flask import current_app, render_template, url_for, make_response, \
|
from flask import current_app, render_template, url_for, make_response, \
|
||||||
flash, Response, request, after_this_request, redirect, session
|
flash, Response, request, after_this_request, redirect, session
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_gravatar import Gravatar
|
from flask_gravatar import Gravatar
|
||||||
from flask_login import current_user, login_required
|
from flask_login import current_user, login_required
|
||||||
from flask_security.changeable import change_user_password
|
from flask_security.changeable import change_user_password
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from abc import ABCMeta, abstractmethod
|
|||||||
|
|
||||||
import six
|
import six
|
||||||
from flask import url_for, render_template
|
from flask import url_for, render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser import BrowserPluginModule
|
from pgadmin.browser import BrowserPluginModule
|
||||||
from pgadmin.browser.utils import PGChildModule
|
from pgadmin.browser.utils import PGChildModule
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#
|
#
|
||||||
##########################################################################
|
##########################################################################
|
||||||
import sys
|
import sys
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.utils.constants import PREF_LABEL_DISPLAY,\
|
from pgadmin.utils.constants import PREF_LABEL_DISPLAY,\
|
||||||
PREF_LABEL_KEYBOARD_SHORTCUTS, PREF_LABEL_TABS_SETTINGS, \
|
PREF_LABEL_KEYBOARD_SHORTCUTS, PREF_LABEL_TABS_SETTINGS, \
|
||||||
PREF_LABEL_OPTIONS, QT_DEFAULT_PLACEHOLDER
|
PREF_LABEL_OPTIONS, QT_DEFAULT_PLACEHOLDER
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from abc import ABCMeta, abstractmethod
|
|||||||
|
|
||||||
import six
|
import six
|
||||||
from flask import request, jsonify, render_template
|
from flask import request, jsonify, render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import current_user, login_required
|
from flask_security import current_user, login_required
|
||||||
from pgadmin.browser import BrowserPluginModule
|
from pgadmin.browser import BrowserPluginModule
|
||||||
from pgadmin.browser.utils import NodeView
|
from pgadmin.browser.utils import NodeView
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import simplejson as json
|
|||||||
import pgadmin.browser.server_groups as sg
|
import pgadmin.browser.server_groups as sg
|
||||||
from flask import render_template, request, make_response, jsonify, \
|
from flask import render_template, request, make_response, jsonify, \
|
||||||
current_app, url_for, session
|
current_app, url_for, session
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import current_user, login_required
|
from flask_security import current_user, login_required
|
||||||
from pgadmin.browser.server_groups.servers.types import ServerType
|
from pgadmin.browser.server_groups.servers.types import ServerType
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
@@ -302,19 +302,18 @@ class ServerModule(sg.ServerGroupPluginModule):
|
|||||||
|
|
||||||
return scripts
|
return scripts
|
||||||
|
|
||||||
def register(self, app, options, first_registration=False):
|
def register(self, app, options):
|
||||||
"""
|
"""
|
||||||
Override the default register function to automagically register
|
Override the default register function to automagically register
|
||||||
sub-modules at once.
|
sub-modules at once.
|
||||||
"""
|
"""
|
||||||
if first_registration:
|
driver = get_driver(PG_DEFAULT_DRIVER, app)
|
||||||
driver = get_driver(PG_DEFAULT_DRIVER, app)
|
app.jinja_env.filters['qtLiteral'] = driver.qtLiteral
|
||||||
app.jinja_env.filters['qtLiteral'] = driver.qtLiteral
|
app.jinja_env.filters['qtIdent'] = driver.qtIdent
|
||||||
app.jinja_env.filters['qtIdent'] = driver.qtIdent
|
app.jinja_env.filters['qtTypeIdent'] = driver.qtTypeIdent
|
||||||
app.jinja_env.filters['qtTypeIdent'] = driver.qtTypeIdent
|
app.jinja_env.filters['hasAny'] = has_any
|
||||||
app.jinja_env.filters['hasAny'] = has_any
|
|
||||||
|
|
||||||
super(ServerModule, self).register(app, options, first_registration)
|
super(ServerModule, self).register(app, options)
|
||||||
|
|
||||||
# We do not have any preferences for server node.
|
# We do not have any preferences for server node.
|
||||||
def register_preferences(self):
|
def register_preferences(self):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, current_app, request, jsonify
|
from flask import render_template, current_app, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_security import current_user
|
from flask_security import current_user
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers as servers
|
import pgadmin.browser.server_groups.servers as servers
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, \
|
from pgadmin.utils.ajax import make_json_response, \
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
||||||
parse_priv_to_db, validate_options, tokenize_options
|
parse_priv_to_db, validate_options, tokenize_options
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
||||||
parse_priv_to_db, validate_options, tokenize_options
|
parse_priv_to_db, validate_options, tokenize_options
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import pgadmin.browser.server_groups.servers as servers
|
|||||||
from pgadmin.browser.server_groups.servers.utils import \
|
from pgadmin.browser.server_groups.servers.utils import \
|
||||||
validate_options, tokenize_options
|
validate_options, tokenize_options
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
||||||
parse_priv_to_db
|
parse_priv_to_db
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers as servers
|
import pgadmin.browser.server_groups.servers as servers
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases.schemas.domains \
|
import pgadmin.browser.server_groups.servers.databases.schemas.domains \
|
||||||
as domains
|
as domains
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from functools import wraps
|
|||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, make_response, request, jsonify, \
|
from flask import render_template, make_response, request, jsonify, \
|
||||||
current_app
|
current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, make_response, current_app, request, jsonify
|
from flask import render_template, make_response, current_app, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, make_response, current_app, request, jsonify
|
from flask import render_template, make_response, current_app, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
|
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
from pgadmin.browser.server_groups.servers.databases import DatabaseModule
|
from pgadmin.browser.server_groups.servers.databases import DatabaseModule
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
from pgadmin.browser.server_groups.servers.databases import DatabaseModule
|
from pgadmin.browser.server_groups.servers.databases import DatabaseModule
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from functools import wraps
|
|||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify, \
|
from flask import render_template, request, jsonify, \
|
||||||
current_app
|
current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import re
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template, make_response
|
from flask import render_template, make_response
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases\
|
import pgadmin.browser.server_groups.servers.databases\
|
||||||
.schemas.packages as packages
|
.schemas.packages as packages
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template, make_response
|
from flask import render_template, make_response
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases.schemas \
|
import pgadmin.browser.server_groups.servers.databases.schemas \
|
||||||
.packages as packages
|
.packages as packages
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
import SchemaChildModule
|
import SchemaChildModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import re
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify, url_for, current_app
|
from flask import render_template, request, jsonify, url_for, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
import SchemaChildModule, DataTypeReader, VacuumSettings
|
import SchemaChildModule, DataTypeReader, VacuumSettings
|
||||||
from pgadmin.browser.server_groups.servers.utils import parse_priv_to_db
|
from pgadmin.browser.server_groups.servers.utils import parse_priv_to_db
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
import DataTypeReader
|
import DataTypeReader
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Compound Triggers. """
|
""" Implements Utility class for Compound Triggers. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ExecuteError
|
from pgadmin.utils.exception import ExecuteError
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Compound Triggers. """
|
""" Implements Utility class for Compound Triggers. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from functools import wraps
|
|||||||
from pgadmin.utils.driver import get_driver
|
from pgadmin.utils.driver import get_driver
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, make_response
|
from flask import render_template, make_response
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.utils.ajax import make_json_response, \
|
from pgadmin.utils.ajax import make_json_response, \
|
||||||
make_response as ajax_response, internal_server_error
|
make_response as ajax_response, internal_server_error
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
||||||
constraints.type import ConstraintRegistry
|
constraints.type import ConstraintRegistry
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Check Constraint. """
|
""" Implements Utility class for Check Constraint. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
||||||
constraints.type import ConstraintRegistry, ConstraintTypeModule
|
constraints.type import ConstraintRegistry, ConstraintTypeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Exclusion Constraint. """
|
""" Implements Utility class for Exclusion Constraint. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
||||||
constraints.type import ConstraintRegistry, ConstraintTypeModule
|
constraints.type import ConstraintRegistry, ConstraintTypeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Foreign Keys. """
|
""" Implements Utility class for Foreign Keys. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
||||||
constraints.type import ConstraintRegistry, ConstraintTypeModule
|
constraints.type import ConstraintRegistry, ConstraintTypeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Index Constraint. """
|
""" Implements Utility class for Index Constraint. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
|
||||||
partitions import backend_supported
|
partitions import backend_supported
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Indexes. """
|
""" Implements Utility class for Indexes. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import random
|
|||||||
import simplejson as json
|
import simplejson as json
|
||||||
import pgadmin.browser.server_groups.servers.databases.schemas as schema
|
import pgadmin.browser.server_groups.servers.databases.schemas as schema
|
||||||
from flask import render_template, request, current_app
|
from flask import render_template, request, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
import DataTypeReader, VacuumSettings
|
import DataTypeReader, VacuumSettings
|
||||||
from pgadmin.utils.ajax import internal_server_error, \
|
from pgadmin.utils.ajax import internal_server_error, \
|
||||||
@@ -116,34 +116,28 @@ class PartitionsModule(CollectionNodeModule):
|
|||||||
"""
|
"""
|
||||||
return backend_supported(self, manager, **kwargs)
|
return backend_supported(self, manager, **kwargs)
|
||||||
|
|
||||||
def register(self, app, options, first_registration=False):
|
def register(self, app, options):
|
||||||
"""
|
"""
|
||||||
Override the default register function to automatically register
|
Override the default register function to automatically register
|
||||||
sub-modules of table node under partition table node.
|
sub-modules of table node under partition table node.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if first_registration:
|
self.submodules = list(app.find_submodules(self.import_name))
|
||||||
self.submodules = list(app.find_submodules(self.import_name))
|
super(CollectionNodeModule, self).register(app, options)
|
||||||
|
|
||||||
super(CollectionNodeModule, self).register(
|
|
||||||
app, options, first_registration
|
|
||||||
)
|
|
||||||
|
|
||||||
for module in self.submodules:
|
for module in self.submodules:
|
||||||
if first_registration:
|
module.parentmodules.append(self)
|
||||||
module.parentmodules.append(self)
|
|
||||||
app.register_blueprint(module)
|
app.register_blueprint(module)
|
||||||
|
|
||||||
# Now add sub modules of table node to partition table node.
|
# Now add sub modules of table node to partition table node.
|
||||||
if first_registration:
|
# Exclude 'partition' module for now to avoid cyclic import issue.
|
||||||
# Exclude 'partition' module for now to avoid cyclic import issue.
|
modules_to_skip = ['partition', 'column']
|
||||||
modules_to_skip = ['partition', 'column']
|
for parent in self.parentmodules:
|
||||||
for parent in self.parentmodules:
|
if parent.node_type == 'table':
|
||||||
if parent.node_type == 'table':
|
self.submodules += [
|
||||||
self.submodules += [
|
submodule for submodule in parent.submodules
|
||||||
submodule for submodule in parent.submodules
|
if submodule.node_type not in modules_to_skip
|
||||||
if submodule.node_type not in modules_to_skip
|
]
|
||||||
]
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def module_use_template_javascript(self):
|
def module_use_template_javascript(self):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for row level security. """
|
""" Implements Utility class for row level security. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from functools import wraps
|
|||||||
import pgadmin.browser.server_groups.servers.databases.schemas as schemas
|
import pgadmin.browser.server_groups.servers.databases.schemas as schemas
|
||||||
from flask import render_template, make_response, request, jsonify,\
|
from flask import render_template, make_response, request, jsonify,\
|
||||||
current_app
|
current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils import \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils import \
|
||||||
parse_rule_definition
|
parse_rule_definition
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""" Implements Utility class for Triggers. """
|
""" Implements Utility class for Triggers. """
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.ajax import internal_server_error
|
from pgadmin.utils.ajax import internal_server_error
|
||||||
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
from pgadmin.utils.exception import ObjectGone, ExecuteError
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import copy
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, jsonify, request
|
from flask import render_template, jsonify, request
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
from pgadmin.browser.server_groups.servers.databases.schemas\
|
from pgadmin.browser.server_groups.servers.databases.schemas\
|
||||||
.tables.base_partition_table import BasePartitionTable
|
.tables.base_partition_table import BasePartitionTable
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as database
|
import pgadmin.browser.server_groups.servers.databases as database
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import current_user
|
from flask_security import current_user
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers.databases as databases
|
import pgadmin.browser.server_groups.servers.databases as databases
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import simplejson as json
|
|||||||
from datetime import datetime, time
|
from datetime import datetime, time
|
||||||
|
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
|
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import simplejson as json
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, gone, \
|
from pgadmin.utils.ajax import make_json_response, gone, \
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import simplejson as json
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import render_template, request, jsonify
|
from flask import render_template, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, gone, \
|
from pgadmin.utils.ajax import make_json_response, gone, \
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#
|
#
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.server_groups.servers.types import ServerType
|
from pgadmin.browser.server_groups.servers.types import ServerType
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers as servers
|
import pgadmin.browser.server_groups.servers as servers
|
||||||
from flask import render_template, make_response, request, jsonify
|
from flask import render_template, make_response, request, jsonify
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import NodeView
|
from pgadmin.browser.utils import NodeView
|
||||||
from pgadmin.utils.ajax import make_json_response, \
|
from pgadmin.utils.ajax import make_json_response, \
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from functools import wraps
|
|||||||
import pgadmin.browser.server_groups as sg
|
import pgadmin.browser.server_groups as sg
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, request, jsonify, current_app
|
from flask import render_template, request, jsonify, current_app
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
import dateutil.parser as dateutil_parser
|
import dateutil.parser as dateutil_parser
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.utils import PGChildNodeView
|
from pgadmin.browser.utils import PGChildNodeView
|
||||||
@@ -23,7 +23,7 @@ from pgadmin.utils.driver import get_driver
|
|||||||
from pgadmin.utils.constants import ERROR_FETCHING_ROLE_INFORMATION
|
from pgadmin.utils.constants import ERROR_FETCHING_ROLE_INFORMATION
|
||||||
|
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
_REASSIGN_OWN_SQL = 'reassign_own.sql'
|
_REASSIGN_OWN_SQL = 'reassign_own.sql'
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from functools import wraps
|
|||||||
|
|
||||||
import pgadmin.browser.server_groups.servers as servers
|
import pgadmin.browser.server_groups.servers as servers
|
||||||
from flask import render_template, make_response, request, jsonify, current_app
|
from flask import render_template, make_response, request, jsonify, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.browser.collection import CollectionNodeModule
|
from pgadmin.browser.collection import CollectionNodeModule
|
||||||
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
|
||||||
parse_priv_to_db
|
parse_priv_to_db
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import config
|
|||||||
import copy
|
import copy
|
||||||
|
|
||||||
from flask import render_template
|
from flask import render_template
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from pgadmin.utils.preferences import Preferences
|
from pgadmin.utils.preferences import Preferences
|
||||||
from werkzeug.exceptions import InternalServerError
|
from werkzeug.exceptions import InternalServerError
|
||||||
from pgadmin.utils.constants import BINARY_PATHS
|
from pgadmin.utils.constants import BINARY_PATHS
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ from abc import abstractmethod
|
|||||||
|
|
||||||
import flask
|
import flask
|
||||||
from flask import render_template, current_app
|
from flask import render_template, current_app
|
||||||
from flask.views import View, MethodViewType, with_metaclass
|
from flask.views import View, MethodViewType
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
from config import PG_DEFAULT_DRIVER
|
from config import PG_DEFAULT_DRIVER
|
||||||
from pgadmin.utils.ajax import make_json_response, precondition_required,\
|
from pgadmin.utils.ajax import make_json_response, precondition_required,\
|
||||||
@@ -139,7 +139,7 @@ class PGChildModule(object):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class NodeView(with_metaclass(MethodViewType, View)):
|
class NodeView(View, metaclass=MethodViewType):
|
||||||
"""
|
"""
|
||||||
A PostgreSQL Object has so many operaions/functions apart from CRUD
|
A PostgreSQL Object has so many operaions/functions apart from CRUD
|
||||||
(Create, Read, Update, Delete):
|
(Create, Read, Update, Delete):
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
import math
|
import math
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from flask import render_template, url_for, Response, g, request
|
from flask import render_template, url_for, Response, g, request
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
"""A blueprint module implementing the pgAdmin help system."""
|
"""A blueprint module implementing the pgAdmin help system."""
|
||||||
from flask import url_for
|
from flask import url_for
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
from pgadmin.utils.menu import MenuItem, Panel
|
from pgadmin.utils.menu import MenuItem, Panel
|
||||||
from pgadmin.utils.preferences import Preferences
|
from pgadmin.utils.preferences import Preferences
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
import pgadmin.utils.driver as driver
|
import pgadmin.utils.driver as driver
|
||||||
from flask import url_for, render_template, Response, request
|
from flask import url_for, render_template, Response, request
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.utils import PgAdminModule, replace_binary_path
|
from pgadmin.utils import PgAdminModule, replace_binary_path
|
||||||
from pgadmin.utils.csrf import pgCSRFProtect
|
from pgadmin.utils.csrf import pgCSRFProtect
|
||||||
from pgadmin.utils.session import cleanup_session_files
|
from pgadmin.utils.session import cleanup_session_files
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ from pgadmin.utils.constants import KERBEROS
|
|||||||
import pytz
|
import pytz
|
||||||
from dateutil import parser
|
from dateutil import parser
|
||||||
from flask import current_app, session
|
from flask import current_app, session
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_security import current_user
|
from flask_security import current_user
|
||||||
|
|
||||||
import config
|
import config
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from werkzeug.exceptions import InternalServerError
|
|||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, Response, session, request as req, \
|
from flask import render_template, Response, session, request as req, \
|
||||||
url_for, current_app, send_from_directory
|
url_for, current_app, send_from_directory
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
from pgadmin.utils import get_storage_directory
|
from pgadmin.utils import get_storage_directory
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ side and for getting/setting preferences.
|
|||||||
import config
|
import config
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import render_template, url_for, Response, request, session
|
from flask import render_template, url_for, Response, request, session
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
from pgadmin.utils.ajax import success_return, \
|
from pgadmin.utils.ajax import success_return, \
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import traceback
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from flask import Response, request, render_template, url_for, current_app
|
from flask import Response, request, render_template, url_for, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
from flask import render_template, Response
|
from flask import render_template, Response
|
||||||
from flask import url_for
|
from flask import url_for
|
||||||
from flask_babelex import Domain, gettext
|
from flask_babel import Domain, gettext
|
||||||
|
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
from pgadmin.utils.ajax import bad_request
|
from pgadmin.utils.ajax import bad_request
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import operator
|
|||||||
|
|
||||||
from flask import render_template, request, current_app, \
|
from flask import render_template, request, current_app, \
|
||||||
url_for, Response
|
url_for, Response
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_security import login_required, current_user
|
from flask_security import login_required, current_user
|
||||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||||
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from threading import Lock
|
|||||||
from flask import Response, url_for, session, request, make_response
|
from flask import Response, url_for, session, request, make_response
|
||||||
from werkzeug.useragents import UserAgent
|
from werkzeug.useragents import UserAgent
|
||||||
from flask import current_app as app, render_template
|
from flask import current_app as app, render_template
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required, current_user
|
from flask_security import login_required, current_user
|
||||||
from pgadmin.tools.sqleditor.command import ObjectRegistry, SQLFilter
|
from pgadmin.tools.sqleditor.command import ObjectRegistry, SQLFilter
|
||||||
from pgadmin.tools.sqleditor import check_transaction_status
|
from pgadmin.tools.sqleditor import check_transaction_status
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import re
|
|||||||
|
|
||||||
from flask import url_for, Response, render_template, request, \
|
from flask import url_for, Response, render_template, request, \
|
||||||
current_app
|
current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
from werkzeug.useragents import UserAgent
|
from werkzeug.useragents import UserAgent
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import simplejson as json
|
|||||||
from flask import url_for, request
|
from flask import url_for, request
|
||||||
from flask import render_template, current_app as app
|
from flask import render_template, current_app as app
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from werkzeug.useragents import UserAgent
|
from werkzeug.useragents import UserAgent
|
||||||
from pgadmin.utils import PgAdminModule, \
|
from pgadmin.utils import PgAdminModule, \
|
||||||
SHORTCUT_FIELDS as shortcut_fields
|
SHORTCUT_FIELDS as shortcut_fields
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
import simplejson as json
|
import simplejson as json
|
||||||
from flask import Response, url_for
|
from flask import Response, url_for
|
||||||
from flask import render_template, request, current_app
|
from flask import render_template, request, current_app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required
|
from flask_security import login_required
|
||||||
from urllib.parse import unquote
|
from urllib.parse import unquote
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import simplejson as json
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from flask import url_for, Response, render_template, request, current_app
|
from flask import url_for, Response, render_template, request, current_app
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_security import login_required, current_user
|
from flask_security import login_required, current_user
|
||||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||||
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
import simplejson as json
|
import simplejson as json
|
||||||
|
|
||||||
from flask import url_for, Response, render_template, request, current_app
|
from flask import url_for, Response, render_template, request, current_app
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_security import login_required, current_user
|
from flask_security import login_required, current_user
|
||||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||||
from pgadmin.utils import PgAdminModule, html, does_utility_exist, get_server
|
from pgadmin.utils import PgAdminModule, html, does_utility_exist, get_server
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from config import PG_DEFAULT_DRIVER
|
|||||||
from flask import Response, url_for, request
|
from flask import Response, url_for, request
|
||||||
from flask import render_template, copy_current_request_context, \
|
from flask import render_template, copy_current_request_context, \
|
||||||
current_app as app
|
current_app as app
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from flask_security import login_required, current_user
|
from flask_security import login_required, current_user
|
||||||
from pgadmin.browser.utils import underscore_unescape, underscore_escape
|
from pgadmin.browser.utils import underscore_unescape, underscore_escape
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import os
|
|||||||
|
|
||||||
from flask import render_template, request, current_app, \
|
from flask import render_template, request, current_app, \
|
||||||
url_for, Response
|
url_for, Response
|
||||||
from flask_babelex import gettext as _
|
from flask_babel import gettext as _
|
||||||
from flask_security import login_required, current_user
|
from flask_security import login_required, current_user
|
||||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||||
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import copy
|
|||||||
from flask import Response, session, url_for, request
|
from flask import Response, session, url_for, request
|
||||||
from flask import render_template, current_app as app
|
from flask import render_template, current_app as app
|
||||||
from flask_security import current_user, login_required
|
from flask_security import current_user, login_required
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
from pgadmin.utils import PgAdminModule
|
from pgadmin.utils import PgAdminModule
|
||||||
from pgadmin.utils.ajax import make_json_response, bad_request, \
|
from pgadmin.utils.ajax import make_json_response, bad_request, \
|
||||||
make_response as ajax_response, internal_server_error
|
make_response as ajax_response, internal_server_error
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#
|
#
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
from flask_babelex import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
|
|
||||||
class SchemaDiffModel(object):
|
class SchemaDiffModel(object):
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user