diff --git a/web/pgadmin/browser/collection.py b/web/pgadmin/browser/collection.py index 61ee9d26e..e4113d972 100644 --- a/web/pgadmin/browser/collection.py +++ b/web/pgadmin/browser/collection.py @@ -27,6 +27,11 @@ class CollectionNodeModule(PgAdminModule, PGChildModule): browser_url_prefix = BrowserPluginModule.browser_url_prefix SHOW_ON_BROWSER = True + _BROWSER_CSS_PATH = 'browser/css' + + _NODE_CSS = "/".join([_BROWSER_CSS_PATH, 'node.css']) + _COLLECTION_CSS = "/".join([_BROWSER_CSS_PATH, 'collection.css']) + def __init__(self, import_name, **kwargs): kwargs.setdefault("url_prefix", self.node_path) kwargs.setdefault("static_url_path", '/static') @@ -129,11 +134,11 @@ class CollectionNodeModule(PgAdminModule, PGChildModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type ), render_template( - "browser/css/node.css", + self._NODE_CSS, node_type=self.node_type, _=gettext ) diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index fa52b9b9a..98bb1974d 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -660,7 +660,7 @@ class ServerNode(PGChildNodeView): return make_json_response( status=410, success=0, - errormsg=self.not_found_error_msg + errormsg=self.not_found_error_msg() ) sg = ServerGroup.query.filter_by( @@ -1006,7 +1006,7 @@ class ServerNode(PGChildNodeView): # Fetch Server Details server = Server.query.filter_by(id=sid).first() if server is None: - return bad_request(self.not_found_error_msg) + return bad_request(self.not_found_error_msg()) if current_user and hasattr(current_user, 'id'): # Fetch User Details. @@ -1181,7 +1181,7 @@ class ServerNode(PGChildNodeView): server = Server.query.filter_by(id=sid).first() if server is None: - return bad_request(self.not_found_error_msg) + return bad_request(self.not_found_error_msg()) # Release Connection manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid) @@ -1289,7 +1289,7 @@ class ServerNode(PGChildNodeView): # Fetch Server Details server = Server.query.filter_by(id=sid).first() if server is None: - return bad_request(self.not_found_error_msg) + return bad_request(self.not_found_error_msg()) # Fetch User Details. user = User.query.filter_by(id=current_user.id).first() @@ -1409,7 +1409,7 @@ class ServerNode(PGChildNodeView): if server is None: return make_json_response( success=0, - errormsg=self.not_found_error_msg + errormsg=self.not_found_error_msg() ) try: @@ -1493,7 +1493,7 @@ class ServerNode(PGChildNodeView): if server is None: return make_json_response( success=0, - errormsg=self.not_found_error_msg + errormsg=self.not_found_error_msg() ) try: @@ -1568,7 +1568,7 @@ class ServerNode(PGChildNodeView): if server is None: return make_json_response( success=0, - info=self.not_found_error_msg + info=self.not_found_error_msg() ) setattr(server, 'password', None) @@ -1607,7 +1607,7 @@ class ServerNode(PGChildNodeView): if server is None: return make_json_response( success=0, - info=self.not_found_error_msg + info=self.not_found_error_msg() ) setattr(server, 'tunnel_password', None) diff --git a/web/pgadmin/browser/server_groups/servers/databases/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/__init__.py index bbe98f177..798030892 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/__init__.py @@ -39,6 +39,9 @@ class DatabaseModule(CollectionNodeModule): _NODE_TYPE = 'database' _COLLECTION_LABEL = _("Databases") + _DATABASE_CSS_PATH = 'databases/css' + _DATABASE_CSS = "/".join([_DATABASE_CSS_PATH, 'database.css']) + def __init__(self, *args, **kwargs): self.min_ver = None self.max_ver = None @@ -67,12 +70,12 @@ class DatabaseModule(CollectionNodeModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type, _=_ ), render_template( - "databases/css/database.css", + self._DATABASE_CSS, node_type=self.node_type, _=_ ) @@ -381,7 +384,7 @@ class DatabaseView(PGChildNodeView): status=200 ) - return gone(errormsg=self.not_found_error_msg) + return gone(errormsg=self.not_found_error_msg()) @check_precondition(action="properties") def properties(self, gid, sid, did): @@ -397,7 +400,7 @@ class DatabaseView(PGChildNodeView): if len(res['rows']) == 0: return gone( - self.not_found_error_msg + self.not_found_error_msg() ) SQL = render_template( @@ -802,7 +805,7 @@ class DatabaseView(PGChildNodeView): if len(rset['rows']) == 0: return gone( - self.not_found_error_msg + self.not_found_error_msg() ) res = rset['rows'][0] @@ -931,7 +934,7 @@ class DatabaseView(PGChildNodeView): if len(rset['rows']) == 0: return gone( - self.not_found_error_msg + self.not_found_error_msg() ) data['old_name'] = (rset['rows'][0])['name'] @@ -1102,7 +1105,7 @@ class DatabaseView(PGChildNodeView): if len(res['rows']) == 0: return gone( - self.not_found_error_msg + self.not_found_error_msg() ) SQL = render_template( diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py index e07c90692..427d345f6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py @@ -357,7 +357,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare): return False, internal_server_error(errormsg=res) if len(res['rows']) == 0: - return False, gone(self.not_found_error_msg) + return False, gone(self.not_found_error_msg()) res['rows'][0]['is_sys_obj'] = ( res['rows'][0]['oid'] <= self.datlastsysoid) @@ -650,7 +650,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare): if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(self.not_found_error_msg) + return gone(self.not_found_error_msg()) if res['rows'][0]['fsrvoptions'] is not None: res['rows'][0]['fsrvoptions'] = tokenize_options( @@ -755,7 +755,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare): if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(self.not_found_error_msg) + return gone(self.not_found_error_msg()) if fid is None and 'fdwid' in res['rows'][0]: fid = res['rows'][0]['fdwid'] diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py index a22387dbb..8a59e69ef 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py @@ -375,7 +375,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare): return False, internal_server_error(errormsg=res) if len(res['rows']) == 0: - return False, gone(self.not_found_error_msg) + return False, gone(self.not_found_error_msg()) res['rows'][0]['is_sys_obj'] = ( res['rows'][0]['oid'] <= self.datlastsysoid) @@ -671,7 +671,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare): if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(self.not_found_error_msg) + return gone(self.not_found_error_msg()) if res['rows'][0]['umoptions'] is not None: res['rows'][0]['umoptions'] = tokenize_options( @@ -766,7 +766,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare): if not status: return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(self.not_found_error_msg) + return gone(self.not_found_error_msg()) if fsid is None and 'fsid' in res['rows'][0]: fsid = res['rows'][0]['fsid'] diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py index 76b71cb31..cc3ae604d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py @@ -89,25 +89,25 @@ class TableModule(SchemaChildModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type, ), render_template( - "browser/css/node.css", + self._NODE_CSS, node_type=self.node_type, ), render_template( - "browser/css/node.css", + self._NODE_CSS, node_type='table', file_name='table-inherited', ), render_template( - "browser/css/node.css", + self._NODE_CSS, node_type='table', file_name='table-inherits', ), render_template( - "browser/css/node.css", + self._NODE_CSS, node_type='table', file_name='table-multi-inherit', ), @@ -594,7 +594,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, if not status: return res if not res['rows']: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) return super(TableView, self).properties( gid, sid, did, scid, tid, res=res @@ -636,7 +636,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, elif len(res['rows']) == 0: return False, gone( - gettext("The specified table could not be found.")) + gettext(self.not_found_error_msg())) # Update autovacuum properties self.update_autovacuum_properties(res['rows'][0]) @@ -729,14 +729,16 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, if data and 'tid' in data: SQL = render_template( "/".join([ - self.table_template_path, 'get_columns_for_table.sql' + self.table_template_path, + self._GET_COLUMNS_FOR_TABLE_SQL ]), tid=data['tid'] ) elif data and 'tname' in data: SQL = render_template( "/".join([ - self.table_template_path, 'get_columns_for_table.sql' + self.table_template_path, + self._GET_COLUMNS_FOR_TABLE_SQL ]), tname=data['tname'] ) @@ -778,7 +780,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, SQL = render_template( "/".join( [self.table_template_path, - 'get_columns_for_table.sql'] + self._GET_COLUMNS_FOR_TABLE_SQL] ), tid=row['oid'] ) @@ -1118,7 +1120,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, 'Error: Object not found.' ), info=gettext( - 'The specified table could not be found.\n' + self.not_found_error_msg() + '\n' ) ) @@ -1160,7 +1162,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) return super(TableView, self).truncate( gid, sid, did, scid, tid, res @@ -1265,8 +1267,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found." - )) + return gone(gettext(self.not_found_error_msg())) if status: data = res['rows'][0] @@ -1376,7 +1377,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return res if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) data = res['rows'][0] @@ -1408,7 +1409,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) data = res['rows'][0] data = self._formatter(did, scid, tid, data) @@ -1456,7 +1457,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) data = res['rows'][0] data = self._formatter(did, scid, tid, data) @@ -1507,7 +1508,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) data = res['rows'][0] data = self._formatter(did, scid, tid, data) @@ -1560,7 +1561,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return internal_server_error(errormsg=res) if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) data = res['rows'][0] @@ -1609,7 +1610,7 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, super(TableView, self).get_schema_and_table_name(tid) if data['name'] is None: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) SQL = render_template( "/".join( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/__init__.py index 5bf26b212..88d941d78 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/__init__.py @@ -398,7 +398,7 @@ class ColumnsView(PGChildNodeView, DataTypeReader): data['schema'] = self.schema data['table'] = self.table if len(data['table']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg('Table'))) # check type for '[]' in it data['cltype'], data['hasSqrBracket'] = \ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/__init__.py index 4e5501da2..9e291a954 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/__init__.py @@ -520,7 +520,7 @@ class CheckConstraintView(PGChildNodeView): data['table'] = self.table # Checking whether the table is deleted via query tool if len(data['table']) == 0: - return gone(_("The specified table could not be found.")) + return gone(_(self.not_found_error_msg('Table'))) try: if 'name' not in data or data['name'] == "": diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/__init__.py index 48141f217..16b9820ce 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/__init__.py @@ -111,7 +111,7 @@ class ForeignKeyConstraintModule(ConstraintTypeModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type, ), render_template( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py index e3f600de8..375edfe8a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py @@ -602,7 +602,7 @@ class IndexesView(PGChildNodeView, SchemaDiffObjectCompare): data['schema'] = self.schema data['table'] = self.table if len(data['table']) == 0: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg('Table'))) try: # Start transaction. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/__init__.py index 0fbdbca1a..a1ee6cc44 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/__init__.py @@ -385,7 +385,7 @@ class PartitionsView(BaseTableView, DataTypeReader, VacuumSettings, if len(res['rows']) == 0: return False, gone( - gettext("The specified table could not be found.")) + gettext(self.not_found_error_msg())) # Update autovacuum properties self.update_autovacuum_properties(res['rows'][0]) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/__init__.py index 40151c3d9..74ab9ac04 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/__init__.py @@ -106,7 +106,7 @@ class RuleModule(CollectionNodeModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type, _=gettext ), diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py index c23a9d91d..2d61197fe 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py @@ -81,6 +81,9 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): * reset_statistics(self, scid, tid): - This function will reset statistics of table. """ + + node_label = "Table" + @staticmethod def check_precondition(f): """ @@ -812,7 +815,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): schema_name, table_name = self.get_schema_and_table_name(tid) if table_name is None: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) # table exist try: @@ -1291,7 +1294,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): schema_name, table_name = self.get_schema_and_table_name(tid) if table_name is None: - return gone(gettext("The specified table could not be found.")) + return gone(gettext(self.not_found_error_msg())) # table exists try: diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py index 3a0d5c713..6de1dced8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py @@ -109,7 +109,7 @@ class ViewModule(SchemaChildModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type, _=gettext ), diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py b/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py index b2c634cca..d47a100a6 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/pgagent/__init__.py @@ -90,7 +90,7 @@ SELECT EXISTS( """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type, _=_ ), diff --git a/web/pgadmin/browser/server_groups/servers/roles/__init__.py b/web/pgadmin/browser/server_groups/servers/roles/__init__.py index b50ca3688..a5db5c9bb 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/roles/__init__.py @@ -63,7 +63,7 @@ class RoleModule(CollectionNodeModule): """ snippets = [ render_template( - "browser/css/collection.css", + self._COLLECTION_CSS, node_type=self.node_type ), render_template("roles/css/role.css")] diff --git a/web/pgadmin/browser/utils.py b/web/pgadmin/browser/utils.py index fca2bdeae..75a830f31 100644 --- a/web/pgadmin/browser/utils.py +++ b/web/pgadmin/browser/utils.py @@ -390,6 +390,7 @@ class PGChildNodeView(NodeView): _GET_DEFINITION_SQL = 'get_definition.sql' _GET_SCHEMA_OID_SQL = 'get_schema_oid.sql' _GET_COLUMNS_SQL = 'get_columns.sql' + _GET_COLUMNS_FOR_TABLE_SQL = 'get_columns_for_table.sql' def get_children_nodes(self, manager, **kwargs): """ @@ -710,7 +711,6 @@ class PGChildNodeView(NodeView): return dependency - @property - def not_found_error_msg(self): + def not_found_error_msg(self, custom_label=None): return gettext("Could not find the specified {}.".format( - self.node_label).lower()) + custom_label if custom_label else self.node_label).lower())