From e4c45dd719cf9fe3ef754e96746cf87ea8fd0391 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 28 Jul 2023 19:59:58 +0530 Subject: [PATCH] fix: after creating workspace and reloading it gives error also if workspace does not exist it gives proper error and redirect to last opened workspaces --- frappe/public/js/frappe/router.js | 12 +++++++++++- frappe/public/js/frappe/views/workspace/workspace.js | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index c4ee4d2659..2631c6374e 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -177,8 +177,18 @@ frappe.router = { if (frappe.workspaces[route[0]]) { // public workspace route = ["Workspaces", frappe.workspaces[route[0]].title]; - } else if (route[0] == "private" && frappe.workspaces[private_workspace]) { + } else if (route[0] == "private") { // private workspace + if (!frappe.workspaces[private_workspace] && localStorage.new_workspace) { + let new_workspace = JSON.parse(localStorage.new_workspace); + if (frappe.router.slug(new_workspace.title) === route[1]) { + frappe.workspaces[private_workspace] = new_workspace; + } + } + if (!frappe.workspaces[private_workspace]) { + frappe.msgprint(__("Workspace {0} does not exist", [route[1]])); + return ["Workspaces"]; + } route = ["Workspaces", "private", frappe.workspaces[private_workspace].title]; } else if (this.routes[route[0]]) { // route diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index 9b135338ca..9dc5c07a95 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -1210,6 +1210,7 @@ frappe.views.Workspace = class Workspace { this.make_sidebar(); this.show_sidebar_actions(); + localStorage.setItem("new_workspace", JSON.stringify(new_page)); }); }, });