Revert "Handle comments on databases with datallowconn=False correctly. Fixes #2024"
This reverts commit e431eb9d8e
.
pull/3/head
parent
ff199f4582
commit
ac4178233b
|
@ -134,17 +134,9 @@ class DatabaseView(PGChildNodeView):
|
|||
self.conn = self.manager.connection()
|
||||
elif 'did' in kwargs:
|
||||
self.conn = self.manager.connection(did=kwargs['did'])
|
||||
|
||||
# If connection to database is not allowed then
|
||||
# provide generic connection
|
||||
if kwargs['did'] in self.conn.manager.db_info:
|
||||
self._db = self.conn.manager.db_info[kwargs['did']]
|
||||
if self._db['datallowconn'] is False:
|
||||
self.conn = self.manager.connection()
|
||||
else:
|
||||
self.conn = self.manager.connection()
|
||||
|
||||
|
||||
ver = self.manager.version
|
||||
# we will set template path for sql scripts
|
||||
if ver >= 90300:
|
||||
|
@ -567,8 +559,8 @@ class DatabaseView(PGChildNodeView):
|
|||
if 'name' not in data:
|
||||
data['name'] = data['old_name']
|
||||
|
||||
for action in ["rename_database", "tablespace"]:
|
||||
status = self.manager.release(did=did)
|
||||
for action in ["rename_database", "tablespace"]:
|
||||
SQL = self.get_offline_sql(gid, sid, data, did, action)
|
||||
SQL = SQL.strip('\n').strip(' ')
|
||||
if SQL and SQL != "":
|
||||
|
@ -576,6 +568,21 @@ class DatabaseView(PGChildNodeView):
|
|||
if not status:
|
||||
return internal_server_error(errormsg=msg)
|
||||
|
||||
if not self.manager.db_info[did]['datallowconn']:
|
||||
return jsonify(
|
||||
node=self.blueprint.generate_browser_node(
|
||||
did,
|
||||
sid,
|
||||
data['name'],
|
||||
"icon-database-not-connected",
|
||||
connected=False,
|
||||
allowConn=False
|
||||
)
|
||||
)
|
||||
|
||||
self.conn = self.manager.connection(database=data['name'], auto_reconnect=True)
|
||||
status, errmsg = self.conn.connect()
|
||||
|
||||
SQL = self.get_online_sql(gid, sid, data, did)
|
||||
SQL = SQL.strip('\n').strip(' ')
|
||||
if SQL and SQL != "":
|
||||
|
@ -588,11 +595,7 @@ class DatabaseView(PGChildNodeView):
|
|||
did,
|
||||
sid,
|
||||
data['name'],
|
||||
"pg-icon-{0}".format(self.node_type) if
|
||||
self._db['datallowconn'] else
|
||||
"icon-database-not-connected",
|
||||
connected=False,
|
||||
allowConn=False
|
||||
"pg-icon-{0}".format(self.node_type)
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -636,6 +639,7 @@ class DatabaseView(PGChildNodeView):
|
|||
|
||||
return internal_server_error(errormsg=msg)
|
||||
|
||||
|
||||
return make_json_response(success=1)
|
||||
|
||||
@check_precondition(action="msql")
|
||||
|
@ -689,6 +693,7 @@ class DatabaseView(PGChildNodeView):
|
|||
for action in ["rename_database", "tablespace"]:
|
||||
SQL += self.get_offline_sql(gid, sid, data, did, action)
|
||||
|
||||
if rset['rows'][0]['datallowconn']:
|
||||
SQL += self.get_online_sql(gid, sid, data, did)
|
||||
else:
|
||||
SQL += self.get_new_sql(gid, sid, data, did)
|
||||
|
@ -710,6 +715,8 @@ class DatabaseView(PGChildNodeView):
|
|||
acls = []
|
||||
SQL_acl = ''
|
||||
|
||||
if ('datallowconn' in data and data['datallowconn']) or \
|
||||
'datallowconn' not in data:
|
||||
try:
|
||||
acls = render_template(
|
||||
"/".join([self.template_path, 'allowed_privs.json'])
|
||||
|
@ -731,9 +738,10 @@ class DatabaseView(PGChildNodeView):
|
|||
data=data, conn=self.conn
|
||||
)
|
||||
|
||||
conn = self.manager.connection()
|
||||
SQL = render_template(
|
||||
"/".join([self.template_path, 'create.sql']),
|
||||
data=data, conn=self.conn
|
||||
data=data, conn=conn
|
||||
)
|
||||
SQL += "\n"
|
||||
SQL += SQL_acl
|
||||
|
@ -839,6 +847,7 @@ class DatabaseView(PGChildNodeView):
|
|||
if not status:
|
||||
return internal_server_error(errormsg=res)
|
||||
|
||||
if res['rows'][0]['datallowconn']:
|
||||
SQL = render_template(
|
||||
"/".join([self.template_path, 'acl.sql']),
|
||||
did=did, conn=self.conn
|
||||
|
@ -860,6 +869,7 @@ class DatabaseView(PGChildNodeView):
|
|||
|
||||
result = res['rows'][0]
|
||||
|
||||
if result['datallowconn']:
|
||||
SQL = render_template(
|
||||
"/".join([self.template_path, 'get_variables.sql']),
|
||||
did=did, conn=self.conn
|
||||
|
|
Loading…
Reference in New Issue