fix: show Apps if multiple app or show CRM if only CRM is installed in dropdown

This commit is contained in:
Shariq Ansari 2024-08-30 15:33:23 +05:30
parent 9133f2a9c5
commit 2973739f2e
2 changed files with 22 additions and 5 deletions

View file

@ -351,8 +351,9 @@ $.extend(frappe, {
add_switch_to_desk: function () {
$(".switch-to-desk").removeClass("hidden");
},
add_apps: function () {
$(".apps").removeClass("hidden");
add_apps: function (obj) {
$(".logged-in .apps").attr("href", obj.route).text(obj.label);
$(".logged-in .apps").removeClass("hidden");
},
add_link_to_headings: function () {
$(".doc-content .from-markdown")
@ -610,10 +611,26 @@ $(document).ready(function () {
frappe.bind_navbar_search();
// add apps link
let apps = frappe.boot?.apps_data?.apps;
let obj = {
label: __("Apps"),
route: "/apps",
};
if (apps?.length) {
if (apps.length == 1) {
obj = {
label: __(apps[0].title),
route: apps[0].route,
};
}
let is_desk_apps = frappe.boot?.apps_data?.is_desk_apps;
!is_desk_apps && frappe.add_apps(obj);
}
// switch to app link
if (frappe.get_cookie("system_user") === "yes" && logged_in) {
frappe.add_switch_to_desk();
frappe.add_apps();
}
frappe.render_user();

View file

@ -167,9 +167,9 @@ def get_boot_data():
return {
"lang": frappe.local.lang or "en",
"apps_data": {
"apps": get_apps(),
"apps": get_apps() or [],
"is_desk_apps": 1 if bool(is_desk_apps(get_apps())) else 0,
"default_path": get_default_path(),
"default_path": get_default_path() or "",
},
"sysdefaults": {
"float_precision": cint(frappe.get_system_settings("float_precision")) or 3,