perf: use cached user and compile regex
This commit is contained in:
parent
d4ca8c3c6c
commit
e08efc8a64
3 changed files with 10 additions and 7 deletions
|
|
@ -6,6 +6,9 @@ import re
|
|||
import frappe
|
||||
from frappe import _
|
||||
|
||||
# check if route is /app or /app/* and not /app1 or /app1/*
|
||||
DESK_APP_PATTERN = re.compile(r"^/app(/.*)?$")
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_apps():
|
||||
|
|
@ -43,10 +46,8 @@ def get_route(app_name):
|
|||
|
||||
def is_desk_apps(apps):
|
||||
for app in apps:
|
||||
# check if route is /app or /app/* and not /app1 or /app1/*
|
||||
pattern = r"^/app(/.*)?$"
|
||||
route = app.get("route")
|
||||
if route and not re.match(pattern, route):
|
||||
if route and not re.match(DESK_APP_PATTERN, route):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
|
@ -59,7 +60,7 @@ def get_default_path():
|
|||
return None
|
||||
|
||||
system_default_app = frappe.get_system_settings("default_app")
|
||||
user_default_app = frappe.db.get_value("User", frappe.session.user, "default_app")
|
||||
user_default_app = frappe.get_cached_value("User", frappe.session.user, "default_app")
|
||||
if system_default_app and not user_default_app:
|
||||
return get_route(system_default_app)
|
||||
elif user_default_app:
|
||||
|
|
|
|||
|
|
@ -387,7 +387,7 @@ def get_enabled_system_users() -> list[dict]:
|
|||
|
||||
|
||||
def is_website_user(username: str | None = None) -> str | None:
|
||||
return frappe.db.get_value("User", username or frappe.session.user, "user_type") == "Website User"
|
||||
return frappe.get_cached_value("User", username or frappe.session.user, "user_type") == "Website User"
|
||||
|
||||
|
||||
def is_system_user(username: str | None = None) -> str | None:
|
||||
|
|
|
|||
|
|
@ -166,11 +166,13 @@ def get_boot_data():
|
|||
from frappe.integrations.frappe_providers.frappecloud_billing import is_fc_site
|
||||
from frappe.locale import get_date_format, get_first_day_of_the_week, get_number_format, get_time_format
|
||||
|
||||
apps = get_apps()
|
||||
|
||||
return {
|
||||
"lang": frappe.local.lang or "en",
|
||||
"apps_data": {
|
||||
"apps": get_apps() or [],
|
||||
"is_desk_apps": 1 if bool(is_desk_apps(get_apps())) else 0,
|
||||
"apps": apps or [],
|
||||
"is_desk_apps": 1 if bool(is_desk_apps(apps)) else 0,
|
||||
"default_path": get_default_path() or "",
|
||||
},
|
||||
"sysdefaults": {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue