mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Ensure that Backup and Restore should work on shared servers as some cases were failing due to initial changes.
Fixes #6385
This commit is contained in:
committed by
Akshay Joshi
parent
81e077da5e
commit
8ae8fea6d2
@@ -20,7 +20,7 @@ from flask_babelex import gettext as _
|
||||
from flask_security import login_required, current_user
|
||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
||||
fs_short_path, document_dir, does_utility_exist
|
||||
fs_short_path, document_dir, does_utility_exist, get_server
|
||||
from pgadmin.utils.ajax import make_json_response, bad_request
|
||||
|
||||
from config import PG_DEFAULT_DRIVER
|
||||
@@ -115,15 +115,7 @@ class BackupMessage(IProcessDesc):
|
||||
self.cmd += cmd_arg(arg)
|
||||
|
||||
def get_server_details(self):
|
||||
if Server.query.filter_by(id=self.sid,
|
||||
user_id=current_user.id).first():
|
||||
s = Server.query.filter_by(
|
||||
id=self.sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
s = SharedServer.query.filter_by(
|
||||
id=self.sid, user_id=current_user.id
|
||||
).first()
|
||||
s = get_server(self.sid)
|
||||
|
||||
from pgadmin.utils.driver import get_driver
|
||||
driver = get_driver(PG_DEFAULT_DRIVER)
|
||||
@@ -422,14 +414,7 @@ def create_backup_objects_job(sid):
|
||||
return bad_request(errormsg=str(e))
|
||||
|
||||
# Fetch the server details like hostname, port, roles etc
|
||||
if Server.query.filter_by(id=sid, user_id=current_user.id).first():
|
||||
server = Server.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
server = SharedServer.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
server = get_server(sid)
|
||||
|
||||
if server is None:
|
||||
return make_json_response(
|
||||
@@ -474,7 +459,7 @@ def create_backup_objects_job(sid):
|
||||
escaped_args.append(data['database'])
|
||||
p = BatchProcess(
|
||||
desc=BackupMessage(
|
||||
BACKUP.OBJECT, sid, bfile,
|
||||
BACKUP.OBJECT, server.id, bfile,
|
||||
*args,
|
||||
database=data['database']
|
||||
),
|
||||
@@ -485,7 +470,7 @@ def create_backup_objects_job(sid):
|
||||
desc=BackupMessage(
|
||||
BACKUP.SERVER if backup_obj_type != 'globals'
|
||||
else BACKUP.GLOBALS,
|
||||
sid, bfile,
|
||||
server.id, bfile,
|
||||
*args
|
||||
),
|
||||
cmd=utility, args=escaped_args
|
||||
@@ -531,14 +516,7 @@ def check_utility_exists(sid, backup_obj_type):
|
||||
Returns:
|
||||
None
|
||||
"""
|
||||
if Server.query.filter_by(id=sid, user_id=current_user.id).first():
|
||||
server = Server.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
server = SharedServer.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
server = get_server(sid)
|
||||
|
||||
if server is None:
|
||||
return make_json_response(
|
||||
|
||||
@@ -15,7 +15,7 @@ from flask import url_for, Response, render_template, request, current_app
|
||||
from flask_babelex import gettext as _
|
||||
from flask_security import login_required, current_user
|
||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||
from pgadmin.utils import PgAdminModule, html, does_utility_exist
|
||||
from pgadmin.utils import PgAdminModule, html, does_utility_exist, get_server
|
||||
from pgadmin.utils.ajax import bad_request, make_json_response
|
||||
from pgadmin.utils.driver import get_driver
|
||||
|
||||
@@ -209,14 +209,8 @@ def create_maintenance_job(sid, did):
|
||||
index_name = get_index_name(data)
|
||||
|
||||
# Fetch the server details like hostname, port, roles etc
|
||||
if Server.query.filter_by(id=sid, user_id=current_user.id).first():
|
||||
server = Server.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
server = SharedServer.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
|
||||
server = get_server(sid)
|
||||
|
||||
if server is None:
|
||||
return make_json_response(
|
||||
@@ -263,7 +257,7 @@ def create_maintenance_job(sid, did):
|
||||
|
||||
try:
|
||||
p = BatchProcess(
|
||||
desc=Message(sid, data, query),
|
||||
desc=Message(server.id, data, query),
|
||||
cmd=utility, args=args
|
||||
)
|
||||
manager.export_password_env(p.id)
|
||||
@@ -306,18 +300,8 @@ def check_utility_exists(sid):
|
||||
Returns:
|
||||
None
|
||||
"""
|
||||
# server = Server.query.filter_by(
|
||||
# id=sid, user_id=current_user.id
|
||||
# ).first()
|
||||
|
||||
if Server.query.filter_by(id=sid, user_id=current_user.id).first():
|
||||
server = Server.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
server = SharedServer.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
server = get_server(sid)
|
||||
|
||||
if server is None:
|
||||
return make_json_response(
|
||||
|
||||
@@ -18,7 +18,7 @@ from flask_babelex import gettext as _
|
||||
from flask_security import login_required, current_user
|
||||
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
|
||||
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
|
||||
fs_short_path, document_dir, does_utility_exist
|
||||
fs_short_path, document_dir, does_utility_exist, get_server
|
||||
from pgadmin.utils.ajax import make_json_response, bad_request
|
||||
|
||||
from config import PG_DEFAULT_DRIVER
|
||||
@@ -87,16 +87,9 @@ class RestoreMessage(IProcessDesc):
|
||||
self.cmd += cmd_arg(arg)
|
||||
|
||||
def get_server_details(self):
|
||||
|
||||
# Fetch the server details like hostname, port, roles etc
|
||||
if Server.query.filter_by(id=self.sid,
|
||||
user_id=current_user.id).first():
|
||||
s = Server.query.filter_by(
|
||||
id=self.sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
s = SharedServer.query.filter_by(
|
||||
id=self.sid, user_id=current_user.id
|
||||
).first()
|
||||
s = get_server(self.sid)
|
||||
|
||||
from pgadmin.utils.driver import get_driver
|
||||
driver = get_driver(PG_DEFAULT_DRIVER)
|
||||
@@ -215,14 +208,7 @@ def _connect_server(sid):
|
||||
:param sid: Server ID.
|
||||
:return: if not error occurred then return connection data.
|
||||
"""
|
||||
if Server.query.filter_by(id=sid, user_id=current_user.id).first():
|
||||
server = Server.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
server = SharedServer.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
server = get_server(sid)
|
||||
|
||||
if server is None:
|
||||
return make_json_response(
|
||||
@@ -430,7 +416,7 @@ def create_restore_job(sid):
|
||||
try:
|
||||
p = BatchProcess(
|
||||
desc=RestoreMessage(
|
||||
sid,
|
||||
server.id,
|
||||
data['file'].encode('utf-8') if hasattr(
|
||||
data['file'], 'encode'
|
||||
) else data['file'],
|
||||
@@ -477,14 +463,7 @@ def check_utility_exists(sid):
|
||||
None
|
||||
"""
|
||||
# Fetch the server details like hostname, port, roles etc
|
||||
if Server.query.filter_by(id=sid, user_id=current_user.id).first():
|
||||
server = Server.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
else:
|
||||
server = SharedServer.query.filter_by(
|
||||
id=sid, user_id=current_user.id
|
||||
).first()
|
||||
server = get_server(sid)
|
||||
|
||||
if server is None:
|
||||
return make_json_response(
|
||||
|
||||
Reference in New Issue
Block a user