Merge pull request #38726 from sokumon/default-workspace

This commit is contained in:
Soham Kulkarni 2026-04-20 14:28:25 +05:30 committed by GitHub
commit 57a94ca566
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 15 additions and 24 deletions

View file

@ -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";
},

View file

@ -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
) {

View file

@ -1928,6 +1928,14 @@ def get_link_to_form(doctype: str, name: str | None = None, label: str | None =
return f"""<a href="{get_url_to_form(doctype, name)}">{label}</a>"""
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,

View file

@ -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: