From 1200d19618d00af15d2edb877f091c348e1ccaa7 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 13 Jul 2015 14:54:20 +0530 Subject: [PATCH] [fix] Use user's language in website if logged in. Fixes print preview in user's language. --- frappe/change_log/current/render_in_user_lang.md | 1 + frappe/sessions.py | 3 ++- frappe/website/render.py | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 frappe/change_log/current/render_in_user_lang.md diff --git a/frappe/change_log/current/render_in_user_lang.md b/frappe/change_log/current/render_in_user_lang.md new file mode 100644 index 0000000000..6e9f190d51 --- /dev/null +++ b/frappe/change_log/current/render_in_user_lang.md @@ -0,0 +1 @@ +- Print and full-page print preview in user's language diff --git a/frappe/sessions.py b/frappe/sessions.py index 89c10f90ac..c9826d01ee 100644 --- a/frappe/sessions.py +++ b/frappe/sessions.py @@ -196,7 +196,8 @@ class Session: self.start_as_guest() if self.sid != "Guest": - frappe.local.lang = frappe.translate.get_user_lang(self.data.user) + frappe.local.user_lang = frappe.translate.get_user_lang(self.data.user) + frappe.local.lang = frappe.local.user_lang def get_session_record(self): """get session record, or return the standard Guest Record""" diff --git a/frappe/website/render.py b/frappe/website/render.py index 54f5909807..9735a55544 100644 --- a/frappe/website/render.py +++ b/frappe/website/render.py @@ -18,7 +18,7 @@ class PageNotFoundError(Exception): pass def render(path, http_status_code=None): """render html page""" path = resolve_path(path.strip("/ ")) - frappe.local.lang = frappe.db.get_default("lang") + set_lang() try: data = render_page(path) @@ -56,6 +56,9 @@ def render(path, http_status_code=None): return build_response(path, data, http_status_code or 200) +def set_lang(): + """Set user's lang if not Guest or use default lang""" + frappe.local.lang = getattr(frappe.local, "user_lang", None) or frappe.db.get_default("lang") def render_403(e, pathname): path = "message"