fix: delete associated desktop icon
This commit is contained in:
parent
5c81a34cbb
commit
cd6a28986e
3 changed files with 11 additions and 42 deletions
|
|
@ -127,8 +127,6 @@ class Workspace(Document):
|
||||||
def on_trash(self):
|
def on_trash(self):
|
||||||
if self.public and not is_workspace_manager():
|
if self.public and not is_workspace_manager():
|
||||||
frappe.throw(_("You need to be Workspace Manager to delete a public workspace."))
|
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()
|
self.delete_from_my_workspaces()
|
||||||
|
|
||||||
def delete_from_my_workspaces(self):
|
def delete_from_my_workspaces(self):
|
||||||
|
|
@ -145,25 +143,6 @@ class Workspace(Document):
|
||||||
if self.module and frappe.conf.developer_mode:
|
if self.module and frappe.conf.developer_mode:
|
||||||
delete_folder(self.module, "Workspace", self.title)
|
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
|
@staticmethod
|
||||||
def get_module_wise_workspaces():
|
def get_module_wise_workspaces():
|
||||||
workspaces = frappe.get_all(
|
workspaces = frappe.get_all(
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,7 @@ class WorkspaceSidebar(Document):
|
||||||
if is_workspace_manager():
|
if is_workspace_manager():
|
||||||
if frappe.conf.developer_mode and self.app:
|
if frappe.conf.developer_mode and self.app:
|
||||||
self.delete_file()
|
self.delete_file()
|
||||||
|
self.delete_desktop_icon()
|
||||||
else:
|
else:
|
||||||
frappe.throw(_("You need to be Workspace Manager to delete a public workspace."))
|
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]:
|
if counts and counts.most_common(1)[0]:
|
||||||
return counts.most_common(1)[0][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):
|
def get_allowed_modules(self):
|
||||||
if not self.user.allow_modules:
|
if not self.user.allow_modules:
|
||||||
self.user.build_permissions()
|
self.user.build_permissions()
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue