feat: rename desk page to workspace

This commit is contained in:
Shivam Mishra 2020-12-03 15:39:27 +05:30
parent 4489ef92ec
commit bd7690a9fa
19 changed files with 53 additions and 45 deletions

View file

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

View file

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

View file

@ -51,7 +51,7 @@
"link_fieldname": "module"
},
{
"link_doctype": "Desk Page",
"link_doctype": "Workspace",
"link_fieldname": "module"
}
],

View file

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

View file

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

View file

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

View file

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

View file

@ -6,5 +6,5 @@ from __future__ import unicode_literals
# import frappe
import unittest
class TestDeskPage(unittest.TestCase):
class TestWorkspace(unittest.TestCase):
pass

View file

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

View file

@ -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": [
{

View file

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

View file

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

View file

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

View file

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

View file

@ -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
frappe.patches.v13_0.rename_desk_page_to_workspace
frappe.patches.v13_0.cleanup_desk_cards

View file

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

View file

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

View file

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