From 437f0df0f39391d43f1ced325c3bb18126ac2762 Mon Sep 17 00:00:00 2001 From: Khushboo Vashi Date: Thu, 8 Apr 2021 18:15:34 +0530 Subject: [PATCH] =?UTF-8?q?Ensure=20that=C2=A0the=20strings=20in=20the=20L?= =?UTF-8?q?DAP=20auth=20module=20are=20translatable.=20Fixes=20#6274?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en_US/release_notes_5_2.rst | 1 + web/pgadmin/authenticate/__init__.py | 5 ++--- web/pgadmin/authenticate/ldap.py | 32 ++++++++++++++++------------ 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/docs/en_US/release_notes_5_2.rst b/docs/en_US/release_notes_5_2.rst index 2a75caee9..10ed1aa19 100644 --- a/docs/en_US/release_notes_5_2.rst +++ b/docs/en_US/release_notes_5_2.rst @@ -22,6 +22,7 @@ Bug fixes | `Issue #6076 `_ - Fixed an issue where correct error not thrown while importing servers and JSON file has incorrect/insufficient keys. | `Issue #6082 `_ - Ensure that the user should not be to change the connection when a long query is running. | `Issue #6220 `_ - Corrected the syntax for 'CREATE TRIGGER', use 'EXECUTE FUNCTION' instead of 'EXECUTE PROCEDURE' from v11 onwards. +| `Issue #6274 `_ - Ensure that the strings in the LDAP auth module are translatable. | `Issue #6293 `_ - Fixed an issue where the procedure creation is failed when providing the Volatility option. | `Issue #6325 `_ - Ensure that the file format for the storage manager should be 'All files' and for other dialogs, it should remember the last selected format. | `Issue #6327 `_ - Ensure that while comparing domains check function dependencies should be considered in schema diff. diff --git a/web/pgadmin/authenticate/__init__.py b/web/pgadmin/authenticate/__init__.py index bc0868ddf..9166c2ffd 100644 --- a/web/pgadmin/authenticate/__init__.py +++ b/web/pgadmin/authenticate/__init__.py @@ -13,7 +13,6 @@ import flask import pickle from flask import current_app, flash, Response, request, url_for,\ render_template -from flask_babelex import gettext from flask_security import current_user from flask_security.views import _security, _ctx from flask_security.utils import config_value, get_post_logout_redirect, \ @@ -90,7 +89,7 @@ def login(): return flask.redirect('{0}?next={1}'.format(url_for( 'authenticate.kerberos_login'), url_for('browser.index'))) - flash(gettext(msg), 'danger') + flash(msg, 'danger') return flask.redirect(get_post_logout_redirect()) session['_auth_source_manager_obj'] = current_auth_obj @@ -98,7 +97,7 @@ def login(): elif isinstance(msg, Response): return msg - flash(gettext(msg), 'danger') + flash(msg, 'danger') response = flask.redirect(get_post_logout_redirect()) return response diff --git a/web/pgadmin/authenticate/ldap.py b/web/pgadmin/authenticate/ldap.py index 2f0f61b7c..f53c843cc 100644 --- a/web/pgadmin/authenticate/ldap.py +++ b/web/pgadmin/authenticate/ldap.py @@ -26,7 +26,8 @@ from pgadmin.tools.user_management import create_user from pgadmin.utils.constants import LDAP -ERROR_SEARCHING_LDAP_DIRECTORY = "Error searching the LDAP directory: {}" +ERROR_SEARCHING_LDAP_DIRECTORY = gettext( + "Error searching the LDAP directory: {}") class LDAPAuthentication(BaseAuthentication): @@ -53,7 +54,8 @@ class LDAPAuthentication(BaseAuthentication): self.anonymous_bind = getattr(config, 'LDAP_ANONYMOUS_BIND', False) if self.bind_user and not self.bind_pass: - return False, "LDAP configuration error: Set the bind password." + return False, gettext( + "LDAP configuration error: Set the bind password.") # if no dedicated ldap user is configured then use the login # username and password @@ -121,17 +123,17 @@ class LDAPAuthentication(BaseAuthentication): except LDAPSocketOpenError as e: current_app.logger.exception( "Error connecting to the LDAP server: {}\n".format(e)) - return False, "Error connecting to the LDAP server:" \ - " {}\n".format(e.args[0]) + return False, gettext("Error connecting to the LDAP server: {}\n" + ).format(e.args[0]) except LDAPBindError as e: current_app.logger.exception( "Error binding to the LDAP server.") - return False, "Error binding to the LDAP server." + return False, gettext("Error binding to the LDAP server.") except Exception as e: current_app.logger.exception( "Error connecting to the LDAP server: {}\n".format(e)) - return False, "Error connecting to the LDAP server:" \ - " {}\n".format(e.args[0]) + return False, gettext("Error connecting to the LDAP server: {}\n" + ).format(e.args[0]) # Enable TLS if STARTTLS is configured if self.start_tls: @@ -140,7 +142,8 @@ class LDAPAuthentication(BaseAuthentication): except LDAPStartTLSError as e: current_app.logger.exception( "Error starting TLS: {}\n".format(e)) - return False, "Error starting TLS: {}\n".format(e.args[0]) + return False, gettext("Error starting TLS: {}\n" + ).format(e.args[0]) return True, None @@ -179,7 +182,7 @@ class LDAPAuthentication(BaseAuthentication): except LDAPSSLConfigurationError as e: current_app.logger.exception( "LDAP configuration error: {}\n".format(e)) - return False, "LDAP configuration error: {}\n".format( + return False, gettext("LDAP configuration error: {}\n").format( e.args[0]) return True, tls @@ -194,7 +197,8 @@ class LDAPAuthentication(BaseAuthentication): tls = None if isinstance(uri, str): - return False, "LDAP configuration error: Set the proper LDAP URI." + return False, gettext( + "LDAP configuration error: Set the proper LDAP URI.") if uri.scheme == 'ldaps' or config.LDAP_USE_STARTTLS: status, tls = self.__configure_tls() @@ -224,8 +228,8 @@ class LDAPAuthentication(BaseAuthentication): search_base_dn = config.LDAP_SEARCH_BASE_DN if (not search_base_dn or search_base_dn == '')\ and (self.anonymous_bind or self.dedicated_user): - return False, "LDAP configuration error:" \ - " Set the Search Domain." + return False, gettext("LDAP configuration error: " + "Set the Search Domain.") elif not search_base_dn or search_base_dn == '': search_base_dn = config.LDAP_BASE_DN @@ -260,8 +264,8 @@ class LDAPAuthentication(BaseAuthentication): results = len(self.conn.entries) if results > 1: return False, ERROR_SEARCHING_LDAP_DIRECTORY.format( - "More than one result found.") + gettext("More than one result found.")) elif results < 1: return False, ERROR_SEARCHING_LDAP_DIRECTORY.format( - "Could not find the specified user.") + gettext("Could not find the specified user.")) return True, self.conn.entries[0]