fix: delete associated desktop icon

This commit is contained in:
sokumon 2026-01-12 10:40:54 +05:30
parent 5c81a34cbb
commit cd6a28986e
3 changed files with 11 additions and 42 deletions

View file

@ -127,8 +127,6 @@ class Workspace(Document):
def on_trash(self):
if self.public and not is_workspace_manager():
frappe.throw(_("You need to be Workspace Manager to delete a public workspace."))
self.delete_desktop_icon()
self.delete_workspace_sidebar()
self.delete_from_my_workspaces()
def delete_from_my_workspaces(self):
@ -145,25 +143,6 @@ class Workspace(Document):
if self.module and frappe.conf.developer_mode:
delete_folder(self.module, "Workspace", self.title)
def delete_desktop_icon(self):
if self.public:
desktop_icon = frappe.get_all(
"Desktop Icon",
filters=[{"link_type": "Workspace Sidebar"}, {"link_to": self.name}],
limit=1,
pluck="name",
)
if desktop_icon:
frappe.delete_doc("Desktop Icon", desktop_icon[0])
def delete_workspace_sidebar(self):
if self.public:
workspace_sidebar = frappe.get_all(
"Workspace Sidebar", filters=[{"name": self.name}], limit=1, pluck="name"
)
if workspace_sidebar:
frappe.delete_doc("Workspace Sidebar", workspace_sidebar[0])
@staticmethod
def get_module_wise_workspaces():
workspaces = frappe.get_all(

View file

@ -73,6 +73,7 @@ class WorkspaceSidebar(Document):
if is_workspace_manager():
if frappe.conf.developer_mode and self.app:
self.delete_file()
self.delete_desktop_icon()
else:
frappe.throw(_("You need to be Workspace Manager to delete a public workspace."))
@ -136,6 +137,16 @@ class WorkspaceSidebar(Document):
if counts and counts.most_common(1)[0]:
return counts.most_common(1)[0][0]
def delete_desktop_icon(self):
desktop_icon = frappe.get_all(
"Desktop Icon",
filters=[{"link_type": "Workspace Sidebar"}, {"link_to": self.name}],
limit=1,
pluck="name",
)
if desktop_icon:
frappe.delete_doc("Desktop Icon", desktop_icon[0])
def get_allowed_modules(self):
if not self.user.allow_modules:
self.user.build_permissions()

View file

@ -1,21 +0,0 @@
{
"app": "frappe",
"creation": "2025-11-25 13:27:21.246918",
"docstatus": 0,
"doctype": "Desktop Icon",
"hidden": 0,
"icon": "folder-open",
"icon_type": "Link",
"idx": 0,
"label": "Productivity",
"link_to": "Productivity",
"link_type": "Workspace Sidebar",
"modified": "2026-01-01 20:07:01.152305",
"modified_by": "Administrator",
"name": "Productivity",
"owner": "Administrator",
"parent_icon": "Framework",
"restrict_removal": 0,
"roles": [],
"standard": 1
}