diff --git a/frappe/automation/desk_page/tools/tools.json b/frappe/automation/workspace/tools/tools.json similarity index 99% rename from frappe/automation/desk_page/tools/tools.json rename to frappe/automation/workspace/tools/tools.json index df25c13766..4a0835657b 100644 --- a/frappe/automation/desk_page/tools/tools.json +++ b/frappe/automation/workspace/tools/tools.json @@ -5,7 +5,7 @@ "developer_mode_only": 0, "disable_user_customization": 0, "docstatus": 0, - "doctype": "Desk Page", + "doctype": "Workspace", "extends_another_page": 0, "hide_custom": 0, "icon": "tool", diff --git a/frappe/boot.py b/frappe/boot.py index 181bb5d31b..8a70d4838c 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -109,7 +109,7 @@ def load_conf_settings(bootinfo): def load_desktop_data(bootinfo): from frappe.desk.desktop import get_desk_sidebar_items bootinfo.allowed_workspaces = get_desk_sidebar_items(flatten=True, cache=False) - bootinfo.module_page_map = get_controller("Desk Page").get_module_page_map() + bootinfo.module_page_map = get_controller("Workspace").get_module_page_map() bootinfo.dashboards = frappe.get_all("Dashboard") def get_allowed_pages(cache=False): diff --git a/frappe/core/doctype/module_def/module_def.json b/frappe/core/doctype/module_def/module_def.json index b841eb1f0b..7a8bfd76a7 100644 --- a/frappe/core/doctype/module_def/module_def.json +++ b/frappe/core/doctype/module_def/module_def.json @@ -51,7 +51,7 @@ "link_fieldname": "module" }, { - "link_doctype": "Desk Page", + "link_doctype": "Workspace", "link_fieldname": "module" } ], diff --git a/frappe/core/desk_page/settings/settings.json b/frappe/core/workspace/settings/settings.json similarity index 99% rename from frappe/core/desk_page/settings/settings.json rename to frappe/core/workspace/settings/settings.json index b987229d07..fb26b73cfc 100644 --- a/frappe/core/desk_page/settings/settings.json +++ b/frappe/core/workspace/settings/settings.json @@ -5,7 +5,7 @@ "developer_mode_only": 0, "disable_user_customization": 1, "docstatus": 0, - "doctype": "Desk Page", + "doctype": "Workspace", "extends_another_page": 0, "hide_custom": 0, "icon": "setting", diff --git a/frappe/core/desk_page/users/users.json b/frappe/core/workspace/users/users.json similarity index 99% rename from frappe/core/desk_page/users/users.json rename to frappe/core/workspace/users/users.json index ed500145e5..05746a00c2 100644 --- a/frappe/core/desk_page/users/users.json +++ b/frappe/core/workspace/users/users.json @@ -5,7 +5,7 @@ "developer_mode_only": 0, "disable_user_customization": 0, "docstatus": 0, - "doctype": "Desk Page", + "doctype": "Workspace", "extends_another_page": 0, "hide_custom": 0, "icon": "users", diff --git a/frappe/custom/desk_page/customization/customization.json b/frappe/custom/workspace/customization/customization.json similarity index 99% rename from frappe/custom/desk_page/customization/customization.json rename to frappe/custom/workspace/customization/customization.json index 6e67e22132..3631914249 100644 --- a/frappe/custom/desk_page/customization/customization.json +++ b/frappe/custom/workspace/customization/customization.json @@ -5,7 +5,7 @@ "developer_mode_only": 0, "disable_user_customization": 0, "docstatus": 0, - "doctype": "Desk Page", + "doctype": "Workspace", "extends_another_page": 0, "hide_custom": 0, "icon": "customization", diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index 01b5c5c892..3550e6167a 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -108,12 +108,12 @@ class Workspace: 'extends': self.page_name, 'for_user': frappe.session.user } - pages = frappe.get_all("Desk Page", filters=filters, limit=1) + pages = frappe.get_all("Workspace", filters=filters, limit=1) if pages: - return frappe.get_cached_doc("Desk Page", pages[0]) + return frappe.get_cached_doc("Workspace", pages[0]) self.get_pages_to_extend() - return frappe.get_cached_doc("Desk Page", self.page_name) + return frappe.get_cached_doc("Workspace", self.page_name) def get_onboarding_doc(self): # Check if onboarding is enabled @@ -141,14 +141,14 @@ class Workspace: return doc def get_pages_to_extend(self): - pages = frappe.get_all("Desk Page", filters={ + pages = frappe.get_all("Workspace", filters={ "extends": self.page_name, 'restrict_to_domain': ['in', frappe.get_active_domains()], 'for_user': '', 'module': ['in', self.allowed_modules] }) - pages = [frappe.get_cached_doc("Desk Page", page['name']) for page in pages] + pages = [frappe.get_cached_doc("Workspace", page['name']) for page in pages] for page in pages: self.extended_links = self.extended_links + page.get_link_groups() @@ -208,16 +208,16 @@ class Workspace: else: exists = True self.table_counts[name] = exists - + return exists def _prepare_item(self, item): if item.dependencies: - + dependencies = [dep.strip() for dep in item.dependencies.split(",")] incomplete_dependencies = [d for d in dependencies if not self._doctype_contains_a_record(d)] - + if len(incomplete_dependencies): item.incomplete_dependencies = incomplete_dependencies else: @@ -239,20 +239,20 @@ class Workspace: @handle_not_exist def get_links(self): cards = self.doc.get_link_groups() - + if not self.doc.hide_custom: cards = cards + get_custom_reports_and_doctypes(self.doc.module) if len(self.extended_links): cards = merge_cards_based_on_label(cards + self.extended_links) - + default_country = frappe.db.get_default("country") new_data = [] for card in cards: new_items = [] card = _dict(card) - + links = card.get('links', []) for item in links: @@ -385,7 +385,7 @@ def get_desk_sidebar_items(flatten=False, cache=True): # pages sorted based on pinned to top and then by name order_by = "pin_to_top desc, pin_to_bottom asc, name asc" - all_pages = frappe.get_all("Desk Page", fields=["name", "category", "icon", "module"], + all_pages = frappe.get_all("Workspace", fields=["name", "category", "icon", "module"], filters=filters, order_by=order_by, ignore_permissions=True) pages = [] @@ -465,7 +465,7 @@ def get_custom_report_list(module): return out def get_custom_workspace_for_user(page): - """Get custom page from desk_page if exists or create one + """Get custom page from workspace if exists or create one Args: page (stirng): Page name @@ -477,10 +477,10 @@ def get_custom_workspace_for_user(page): 'extends': page, 'for_user': frappe.session.user } - pages = frappe.get_list("Desk Page", filters=filters) + pages = frappe.get_list("Workspace", filters=filters) if pages: - return frappe.get_doc("Desk Page", pages[0]) - doc = frappe.new_doc("Desk Page") + return frappe.get_doc("Workspace", pages[0]) + doc = frappe.new_doc("Workspace") doc.extends = page doc.for_user = frappe.session.user return doc @@ -497,7 +497,7 @@ def save_customization(page, config): Returns: Boolean: Customization saving status """ - original_page = frappe.get_doc("Desk Page", page) + original_page = frappe.get_doc("Workspace", page) page_doc = get_custom_workspace_for_user(page) # Update field values @@ -598,7 +598,7 @@ def reset_customization(page): Args: page (string): Name of the page to be reset """ - original_page = frappe.get_doc("Desk Page", page) + original_page = frappe.get_doc("Workspace", page) page_doc = get_custom_workspace_for_user(page) page_doc.delete() diff --git a/frappe/desk/doctype/desk_page/__init__.py b/frappe/desk/doctype/workspace/__init__.py similarity index 100% rename from frappe/desk/doctype/desk_page/__init__.py rename to frappe/desk/doctype/workspace/__init__.py diff --git a/frappe/desk/doctype/desk_page/test_desk_page.py b/frappe/desk/doctype/workspace/test_workspace.py similarity index 81% rename from frappe/desk/doctype/desk_page/test_desk_page.py rename to frappe/desk/doctype/workspace/test_workspace.py index 7553364744..7a3f122ee2 100644 --- a/frappe/desk/doctype/desk_page/test_desk_page.py +++ b/frappe/desk/doctype/workspace/test_workspace.py @@ -6,5 +6,5 @@ from __future__ import unicode_literals # import frappe import unittest -class TestDeskPage(unittest.TestCase): +class TestWorkspace(unittest.TestCase): pass diff --git a/frappe/desk/doctype/desk_page/desk_page.js b/frappe/desk/doctype/workspace/workspace.js similarity index 95% rename from frappe/desk/doctype/desk_page/desk_page.js rename to frappe/desk/doctype/workspace/workspace.js index 503859eb61..bca1ee1738 100644 --- a/frappe/desk/doctype/desk_page/desk_page.js +++ b/frappe/desk/doctype/workspace/workspace.js @@ -1,7 +1,7 @@ // Copyright (c) 2020, Frappe Technologies and contributors // For license information, please see license.txt -frappe.ui.form.on('Desk Page', { +frappe.ui.form.on('Workspace', { refresh: function(frm) { frm.enable_save(); frm.get_field("is_standard").toggle(frappe.boot.developer_mode); diff --git a/frappe/desk/doctype/desk_page/desk_page.json b/frappe/desk/doctype/workspace/workspace.json similarity index 99% rename from frappe/desk/doctype/desk_page/desk_page.json rename to frappe/desk/doctype/workspace/workspace.json index d60a22cfb9..e71e6f6bfb 100644 --- a/frappe/desk/doctype/desk_page/desk_page.json +++ b/frappe/desk/doctype/workspace/workspace.json @@ -171,7 +171,7 @@ "fieldtype": "Link", "in_standard_filter": 1, "label": "Extends", - "options": "Desk Page", + "options": "Workspace", "search_index": 1 }, { @@ -209,7 +209,7 @@ "modified": "2020-12-01 13:36:26.827062", "modified_by": "Administrator", "module": "Desk", - "name": "Desk Page", + "name": "Workspace", "owner": "Administrator", "permissions": [ { diff --git a/frappe/desk/doctype/desk_page/desk_page.py b/frappe/desk/doctype/workspace/workspace.py similarity index 94% rename from frappe/desk/doctype/desk_page/desk_page.py rename to frappe/desk/doctype/workspace/workspace.py index 15070a516a..3c7ba10bcb 100644 --- a/frappe/desk/doctype/desk_page/desk_page.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -11,7 +11,7 @@ from frappe.model.document import Document from json import loads, dumps -class DeskPage(Document): +class Workspace(Document): def validate(self): if (self.is_standard and not frappe.conf.developer_mode and not disable_saving_as_standard()): frappe.throw(_("You need to be in developer mode to edit this document")) @@ -21,7 +21,7 @@ class DeskPage(Document): return if frappe.conf.developer_mode and self.is_standard: - export_to_files(record_list=[['Desk Page', self.name]], record_module=self.module) + export_to_files(record_list=[['Workspace', self.name]], record_module=self.module) @staticmethod def get_module_page_map(): @@ -30,7 +30,7 @@ class DeskPage(Document): 'for_user': '', } - pages = frappe.get_all("Desk Page", fields=["name", "module"], filters=filters, as_list=1) + pages = frappe.get_all("Workspace", fields=["name", "module"], filters=filters, as_list=1) return { page[1]: page[0] for page in pages if page[1] } @@ -44,15 +44,15 @@ class DeskPage(Document): } card_links = [] - + for link in self.links: link = link.as_dict() if link.type == "Card Break": - + if card_links: current_card['links'] = card_links cards.append(current_card) - + current_card = link card_links = [] else: diff --git a/frappe/installer.py b/frappe/installer.py index 1245a08cb7..a365a41275 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -249,7 +249,7 @@ def remove_app(app_name, dry_run=False, yes=False, no_backup=False, force=False) linked_doctypes = frappe.get_all( "DocField", filters={"fieldtype": "Link", "options": "Module Def"}, fields=["parent"] ) - ordered_doctypes = ["Desk Page", "Report", "Page", "Web Form"] + ordered_doctypes = ["Workspace", "Report", "Page", "Web Form"] all_doctypes_with_linked_modules = ordered_doctypes + [ doctype.parent for doctype in linked_doctypes diff --git a/frappe/integrations/desk_page/integrations/integrations.json b/frappe/integrations/workspace/integrations/integrations.json similarity index 99% rename from frappe/integrations/desk_page/integrations/integrations.json rename to frappe/integrations/workspace/integrations/integrations.json index be41aece3c..db96304207 100644 --- a/frappe/integrations/desk_page/integrations/integrations.json +++ b/frappe/integrations/workspace/integrations/integrations.json @@ -5,7 +5,7 @@ "developer_mode_only": 0, "disable_user_customization": 1, "docstatus": 0, - "doctype": "Desk Page", + "doctype": "Workspace", "extends_another_page": 0, "hide_custom": 0, "icon": "integration", diff --git a/frappe/model/sync.py b/frappe/model/sync.py index 162aacc5e9..6f29cc2bb0 100644 --- a/frappe/model/sync.py +++ b/frappe/model/sync.py @@ -55,7 +55,7 @@ def sync_for(app_name, force=0, sync_everything = False, verbose=False, reset_pe ("desk", "desk_link"), ("desk", "desk_chart"), ("desk", "desk_shortcut"), - ("desk", "desk_page")): + ("desk", "workspace")): files.append(os.path.join(frappe.get_app_path("frappe"), d[0], "doctype", d[1], d[1] + ".json")) @@ -84,7 +84,7 @@ def get_doc_files(files, start_path, force=0, sync_everything = False, verbose=F # load in sequence - warning for devs document_types = ['doctype', 'page', 'report', 'dashboard_chart_source', 'print_format', 'website_theme', 'web_form', 'web_template', 'notification', 'print_style', - 'data_migration_mapping', 'data_migration_plan', 'desk_page', + 'data_migration_mapping', 'data_migration_plan', 'workspace', 'onboarding_step', 'module_onboarding'] for doctype in document_types: diff --git a/frappe/patches.txt b/frappe/patches.txt index be3eb7bfff..c4296b549f 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -317,4 +317,5 @@ frappe.patches.v13_0.remove_custom_link execute:frappe.delete_doc("DocType", "Footer Item") frappe.patches.v13_0.replace_field_target_with_open_in_new_tab frappe.core.doctype.role.patches.v13_set_default_desk_properties -frappe.patches.v13_0.cleanup_desk_cards #sd \ No newline at end of file +frappe.patches.v13_0.rename_desk_page_to_workspace +frappe.patches.v13_0.cleanup_desk_cards \ No newline at end of file diff --git a/frappe/patches/v13_0/cleanup_desk_cards.py b/frappe/patches/v13_0/cleanup_desk_cards.py index 3a52f22890..02317db6af 100644 --- a/frappe/patches/v13_0/cleanup_desk_cards.py +++ b/frappe/patches/v13_0/cleanup_desk_cards.py @@ -1,15 +1,15 @@ import frappe from six import string_types from json import loads -from frappe.desk.doctype.desk_page.desk_page import get_link_type, get_report_type +from frappe.desk.doctype.workspace.workspace import get_link_type, get_report_type def execute(): if not frappe.db.exists("Doctype", "Desk Card"): return - - frappe.reload_doc('desk', 'doctype', 'desk_page') - pages = frappe.get_all("Desk Page", filters={"is_standard": 0}, pluck="name") + frappe.reload_doc('desk', 'doctype', 'workspace') + + pages = frappe.get_all("Workspace", filters={"is_standard": 0}, pluck="name") for page in pages: rebuild_links(page) @@ -19,7 +19,7 @@ def execute(): def rebuild_links(page): # Empty links table - doc = frappe.get_doc("Desk Page", page) + doc = frappe.get_doc("Workspace", page) doc.links = [] for card in get_all_cards(page): if isinstance(card.links, string_types): diff --git a/frappe/patches/v13_0/rename_desk_page_to_workspace.py b/frappe/patches/v13_0/rename_desk_page_to_workspace.py new file mode 100644 index 0000000000..0ae543ec4e --- /dev/null +++ b/frappe/patches/v13_0/rename_desk_page_to_workspace.py @@ -0,0 +1,7 @@ +import frappe +from frappe.model.rename_doc import rename_doc + +def execute(): + if frappe.db.exists("Doctype", "Desk Page") and not frappe.db.exists("DocType", "Workspace"): + rename_doc('DocType', 'Desk Page', 'Workspace') + frappe.reload_doc('desk', 'doctype', 'workspace') diff --git a/frappe/website/desk_page/website/website.json b/frappe/website/workspace/website/website.json similarity index 99% rename from frappe/website/desk_page/website/website.json rename to frappe/website/workspace/website/website.json index 19db2209e4..a2a4a299c4 100644 --- a/frappe/website/desk_page/website/website.json +++ b/frappe/website/workspace/website/website.json @@ -9,7 +9,7 @@ "developer_mode_only": 0, "disable_user_customization": 0, "docstatus": 0, - "doctype": "Desk Page", + "doctype": "Workspace", "extends_another_page": 0, "hide_custom": 0, "icon": "website",