From 767099268aa97eb39b650294b8ca6ea4343c52af Mon Sep 17 00:00:00 2001 From: sokumon Date: Mon, 20 Apr 2026 01:29:11 +0530 Subject: [PATCH 1/2] fix: consider default workspace after login --- frappe/utils/data.py | 8 ++++++++ frappe/website/utils.py | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/frappe/utils/data.py b/frappe/utils/data.py index 821ce14873..d06428df54 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -1928,6 +1928,14 @@ def get_link_to_form(doctype: str, name: str | None = None, label: str | None = return f"""{label}""" +def get_url_to_workspace(workspace: str, is_public: bool): + url_prefix = "/desk/" + if not is_public: + workspace_url = "/desk/private/" + workspace_url = url_prefix + workspace.lower() + return workspace_url + + def get_link_to_report( name: str, label: str | None = None, diff --git a/frappe/website/utils.py b/frappe/website/utils.py index 62e18143f9..bc969410b6 100644 --- a/frappe/website/utils.py +++ b/frappe/website/utils.py @@ -20,6 +20,7 @@ from frappe.utils import ( get_system_timezone, md_to_html, ) +from frappe.utils.data import get_url_to_workspace from frappe.utils.user import is_portal_user FRONTMATTER_PATTERN = re.compile(r"^\s*(?:---|\+\+\+)(.*?)(?:---|\+\+\+)\s*(.+)$", re.S | re.M) @@ -100,7 +101,6 @@ def get_home_page(): def _get_home_page(): home_page = None - # for user if frappe.session.user != "Guest": # by role @@ -129,6 +129,11 @@ def get_home_page(): home_page = "desk" if home_page == "me" and is_portal_user(): home_page = "portal" + + default_workspace = frappe.get_user().load_user().default_workspace + if default_workspace: + home_page = get_url_to_workspace(default_workspace["name"], default_workspace["public"]) + return home_page return home_page if frappe._dev_server: From 7a73a23e4a4c1f1a86695aceb981c4ee9a5d7fc2 Mon Sep 17 00:00:00 2001 From: sokumon Date: Mon, 20 Apr 2026 02:23:14 +0530 Subject: [PATCH 2/2] fix: remove dead code regarding default workspace --- frappe/public/js/frappe/router.js | 17 ----------------- .../js/frappe/views/workspace/workspace.js | 7 +------ 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index f8b5b5c034..e2e54ecc73 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -479,23 +479,6 @@ frappe.router = { // 3. Public home // 4. First workspace in list of current app // 5. First workspace in list - let private_home = `home-${frappe.user.name.toLowerCase()}`; - let default_workspace = frappe.router.slug(frappe.boot.user.default_workspace?.name || ""); - - let workspace = - frappe.workspaces[default_workspace] || - frappe.workspaces[private_home] || - frappe.workspaces["home"] || - Object.values(frappe.workspace_map).find((w) => w.app === frappe.current_app) || - Object.values(frappe.workspaces)[0]; - - if (workspace) { - return ( - "/desk/" + - (workspace.public ? "" : "private/") + - frappe.router.slug(workspace.name) - ); - } return "/desk"; }, diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index d89e928478..70d7087329 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -137,12 +137,7 @@ frappe.views.Workspace = class Workspace { get_page_to_show() { let default_page; - if (frappe.boot.user.default_workspace) { - default_page = { - name: frappe.boot.user.default_workspace.name, - public: frappe.boot.user.default_workspace.public, - }; - } else if ( + if ( localStorage.current_page && this.workspaces.filter((page) => page.name == localStorage.current_page).length != 0 ) {