47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
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'<br><p class="signature">{signature}</p>'
|
|
return content |