from bs4 import BeautifulSoup import frappe from frappe.translate import get_all_translations from frappe.utils import cstr @frappe.whitelist(allow_guest=True) def get_translations(): if frappe.session.user != "Guest": language = frappe.db.get_value("User", frappe.session.user, "language") else: language = frappe.db.get_single_value("System Settings", "language") return get_all_translations(language) @frappe.whitelist() def get_user_signature(): user = frappe.session.user user_email_signature = ( frappe.db.get_value( "User", user, "email_signature", ) if user else None ) signature = user_email_signature or frappe.db.get_value( "Email Account", {"default_outgoing": 1, "add_signature": 1}, "signature", ) if not signature: return soup = BeautifulSoup(signature, "html.parser") html_signature = soup.find("div", {"class": "ql-editor read-mode"}) _signature = None if html_signature: _signature = html_signature.renderContents() content = "" if (cstr(_signature) or signature): content = f'

{signature}

' return content