diff --git a/web/config.py b/web/config.py index 676977e..87c2da8 100644 --- a/web/config.py +++ b/web/config.py @@ -333,3 +333,9 @@ try: from config_local import * except ImportError: pass + +########################################################################## +# Allow "Save Password" option to be enable on server and connect to +# server dialog. Save the password into database if setting is True +########################################################################## +ALLOW_SAVE_PASSWORD = True diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index 3a3e4a4..37d842f 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -595,7 +595,8 @@ class ServerNode(PGChildNodeView): errormsg=gettext(u"Unable to connect to server:\n\n%s" % errmsg) ) else: - if 'save_password' in data and data['save_password'] and have_password: + if 'save_password' in data and data['save_password'] and \ + have_password and config.ALLOW_SAVE_PASSWORD: setattr(server, 'password', password) db.session.commit() @@ -809,7 +810,7 @@ class ServerNode(PGChildNodeView): ) ) else: - if save_password: + if save_password and config.ALLOW_SAVE_PASSWORD: try: # Save the encrypted password using the user's login # password key. @@ -1012,7 +1013,7 @@ class ServerNode(PGChildNodeView): password = encrypt(data['newPassword'], user.password) # Check if old password was stored in pgadmin4 sqlite database. # If yes then update that password. - if server.password is not None: + if server.password is not None and config.ALLOW_SAVE_PASSWORD: setattr(server, 'password', password) db.session.commit() # Also update password in connection manager. diff --git a/web/pgadmin/browser/server_groups/servers/templates/servers/password.html b/web/pgadmin/browser/server_groups/servers/templates/servers/password.html index c8e73e8..005589c 100644 --- a/web/pgadmin/browser/server_groups/servers/templates/servers/password.html +++ b/web/pgadmin/browser/server_groups/servers/templates/servers/password.html @@ -13,7 +13,9 @@ -   Save Password +   Save Password
diff --git a/web/pgadmin/browser/server_groups/servers/templates/servers/servers.js b/web/pgadmin/browser/server_groups/servers/templates/servers/servers.js index 59d9682..c879bb2 100644 --- a/web/pgadmin/browser/server_groups/servers/templates/servers/servers.js +++ b/web/pgadmin/browser/server_groups/servers/templates/servers/servers.js @@ -676,6 +676,9 @@ function($, _, S, pgAdmin, pgBrowser, alertify) { group: "{{ 'Connection' }}", mode: ['create'], deps: ['connect_now'], visible: function(m) { return m.get('connect_now') && m.isNew(); + }, + disabled: function(m) { + return {% if config.ALLOW_SAVE_PASSWORD %}false{% else %}true{% endif %}; } },{ id: 'role', label:'{{ _('Role') }}', type: 'text', group: "{{ 'Connection' }}",