Ensure that the strings in the LDAP auth module are translatable. Fixes #6274

This commit is contained in:
Khushboo Vashi 2021-04-08 18:15:34 +05:30 committed by Akshay Joshi
parent 14dcb70b95
commit 437f0df0f3
3 changed files with 21 additions and 17 deletions

View File

@ -22,6 +22,7 @@ Bug fixes
| `Issue #6076 <https://redmine.postgresql.org/issues/6076>`_ - Fixed an issue where correct error not thrown while importing servers and JSON file has incorrect/insufficient keys.
| `Issue #6082 <https://redmine.postgresql.org/issues/6082>`_ - Ensure that the user should not be to change the connection when a long query is running.
| `Issue #6220 <https://redmine.postgresql.org/issues/6220>`_ - Corrected the syntax for 'CREATE TRIGGER', use 'EXECUTE FUNCTION' instead of 'EXECUTE PROCEDURE' from v11 onwards.
| `Issue #6274 <https://redmine.postgresql.org/issues/6274>`_ - Ensure that the strings in the LDAP auth module are translatable.
| `Issue #6293 <https://redmine.postgresql.org/issues/6293>`_ - Fixed an issue where the procedure creation is failed when providing the Volatility option.
| `Issue #6325 <https://redmine.postgresql.org/issues/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 <https://redmine.postgresql.org/issues/6327>`_ - Ensure that while comparing domains check function dependencies should be considered in schema diff.

View File

@ -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

View File

@ -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 == '<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>':
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]