From 3132fa175ab8c4586b096aa1c05b285179672ff1 Mon Sep 17 00:00:00 2001 From: Nikhil Mohite Date: Mon, 22 Feb 2021 14:49:34 +0530 Subject: [PATCH] =?UTF-8?q?Added=20missing=20updated=20shared=20server=20o?= =?UTF-8?q?wner=20name=20in=20the=20'sharedserver'=C2=A0table=20while=20th?= =?UTF-8?q?e=20user=20changing=20the=20ownership=20of=20the=20shared=20ser?= =?UTF-8?q?ver.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refs #6143 --- web/pgadmin/tools/user_management/__init__.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/web/pgadmin/tools/user_management/__init__.py b/web/pgadmin/tools/user_management/__init__.py index 15a1b6732..ebfba540b 100644 --- a/web/pgadmin/tools/user_management/__init__.py +++ b/web/pgadmin/tools/user_management/__init__.py @@ -383,6 +383,7 @@ def change_owner(): request.data, encoding='utf-8' ) try: + new_user = User.query.get(data['new_owner']) old_user_servers = Server.query.filter_by(shared=True, user_id=data[ 'old_owner']).all() server_group_ids = [server.servergroup_id for server in @@ -400,12 +401,15 @@ def change_owner(): deleted_sg = [] # Change server user. for server in old_user_servers: + sh_servers = SharedServer.query.filter_by( + servergroup_id=server.servergroup_id).all() + if old_sg_data[server.servergroup_id] in sg_data: - sh_servers = SharedServer.query.filter_by( - servergroup_id=server.servergroup_id).all() + for sh in sh_servers: sh.servergroup_id = sg_data[ old_sg_data[server.servergroup_id]] + sh.server_owner = new_user.username # Update Server user and server group to prevent deleting # shared server associated with deleting user. Server.query.filter_by( @@ -422,6 +426,8 @@ def change_owner(): deleted_sg.append(server.servergroup_id) else: server.user_id = data['new_owner'] + for sh in sh_servers: + sh.server_owner = new_user.username # Change server group user. for server_group in server_groups: