diff --git a/management/univention-management-console/src/univention/management/console/protocol/server.py b/management/univention-management-console/src/univention/management/console/protocol/server.py index 8e8d1db..3bc4a1b 100644 --- a/management/univention-management-console/src/univention/management/console/protocol/server.py +++ b/management/univention-management-console/src/univention/management/console/protocol/server.py @@ -207,6 +207,8 @@ def _handle(self, state, msg): self._response(response, state) elif msg.command == 'GET' and 'newsession' in msg.arguments: CORE.info('Renewing session') + if state.processor: + state.locale = str(state.processor.locale) state.processor = None res = Response(msg) res.status = SUCCESS @@ -214,7 +216,8 @@ def _handle(self, state, msg): else: # inform processor if not state.processor: - state.processor = Processor(**state.credentials()) + state.processor = Processor(locale=state.locale, **state.credentials()) + state.locale = None state.processor.signal_connect('success', notifier.Callback(self._response, state)) state.processor.request(msg) diff --git a/management/univention-management-console/src/univention/management/console/protocol/session.py b/management/univention-management-console/src/univention/management/console/protocol/session.py index 81efafd..d3c6003 100644 --- a/management/univention-management-console/src/univention/management/console/protocol/session.py +++ b/management/univention-management-console/src/univention/management/console/protocol/session.py @@ -94,6 +94,7 @@ def __init__(self, client, socket): self.socket = socket self.processor = None self.authenticated = False + self.locale = None self.__credentials = None self.buffer = '' self.requests = {} @@ -214,7 +215,7 @@ class Processor(Base): :param str password: password of the user """ - def __init__(self, username, password, auth_type): + def __init__(self, username, password, auth_type, locale=None): Base.__init__(self, 'univention-management-console') self.set_credentials(username, password, auth_type) @@ -235,6 +236,9 @@ def __init__(self, username, password, auth_type): self._reload_acls_and_permitted_commands() self.signal_new('response') + if locale: + self.set_language(locale) + self.i18n.set_locale(locale) def set_credentials(self, username, password, auth_type): self.username = username