]> git.ipfire.org Git - pbs.git/commitdiff
web: Initialize the locale
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 26 Jan 2025 12:06:59 +0000 (12:06 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 26 Jan 2025 12:06:59 +0000 (12:06 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/web/base.py

index beeedd48b684c2b6fe79c6e95ad87f83217aab31..c353bca361c61e5f38fae9e4bce1c9f1d8bcc182 100644 (file)
@@ -295,9 +295,6 @@ class BaseHandler(tornado.web.RequestHandler):
                return JinjaTemplateLoader(env)
 
        async def get_template_namespace(self):
-               # Fetch the locale
-               locale = await self.get_user_locale()
-
                # Make a new XSRF token
                xsrf_token = await self._make_xsrf_token()
 
@@ -308,10 +305,10 @@ class BaseHandler(tornado.web.RequestHandler):
                        "now"             : datetime.datetime.now(),
 
                        # i18n
-                       "locale"          : locale,
-                       "gettext"         : locale.translate,
-                       "ngettext"        : locale.translate,
-                       "pgettext"        : locale.pgettext,
+                       "locale"          : self.locale,
+                       "gettext"         : self.locale.translate,
+                       "ngettext"        : self.locale.translate,
+                       "pgettext"        : self.locale.pgettext,
 
                        # XSRF Stuff
                        "xsrf_token"      : xsrf_token,
@@ -386,6 +383,9 @@ class BaseHandler(tornado.web.RequestHandler):
                        # Automatically log the user
                        self.current_user = await self.get_current_user()
 
+                       # Set the locale
+                       self.locale = await self.get_user_locale()
+
                        # Check the XSRF cookie
                        if not self.request.method in ("GET", "HEAD", "OPTIONS"):
                                self.check_xsrf_cookie()