@@ -107,8 +107,8 @@ def load_conf_settings(bootinfo): | |||||
if key in conf: bootinfo[key] = conf.get(key) | if key in conf: bootinfo[key] = conf.get(key) | ||||
def load_desktop_data(bootinfo): | def load_desktop_data(bootinfo): | ||||
from frappe.desk.desktop import get_wspace_sidebar_items | |||||
bootinfo.allowed_workspaces = get_wspace_sidebar_items().get('pages') | |||||
from frappe.desk.desktop import get_workspace_sidebar_items | |||||
bootinfo.allowed_workspaces = get_workspace_sidebar_items().get('pages') | |||||
bootinfo.module_page_map = get_controller("Workspace").get_module_page_map() | bootinfo.module_page_map = get_controller("Workspace").get_module_page_map() | ||||
bootinfo.dashboards = frappe.get_all("Dashboard") | bootinfo.dashboards = frappe.get_all("Dashboard") | ||||
@@ -346,20 +346,20 @@ def get_desktop_page(page): | |||||
dict: dictionary of cards, charts and shortcuts to be displayed on website | dict: dictionary of cards, charts and shortcuts to be displayed on website | ||||
""" | """ | ||||
try: | try: | ||||
wspace = Workspace(loads(page)) | |||||
wspace.build_workspace() | |||||
workspace = Workspace(loads(page)) | |||||
workspace.build_workspace() | |||||
return { | return { | ||||
'charts': wspace.charts, | |||||
'shortcuts': wspace.shortcuts, | |||||
'cards': wspace.cards, | |||||
'onboardings': wspace.onboardings | |||||
'charts': workspace.charts, | |||||
'shortcuts': workspace.shortcuts, | |||||
'cards': workspace.cards, | |||||
'onboardings': workspace.onboardings | |||||
} | } | ||||
except DoesNotExistError: | except DoesNotExistError: | ||||
frappe.log_error(frappe.get_traceback()) | frappe.log_error(frappe.get_traceback()) | ||||
return {} | return {} | ||||
@frappe.whitelist() | @frappe.whitelist() | ||||
def get_wspace_sidebar_items(): | |||||
def get_workspace_sidebar_items(): | |||||
"""Get list of sidebar items for desk""" | """Get list of sidebar items for desk""" | ||||
has_access = "Workspace Manager" in frappe.get_roles() | has_access = "Workspace Manager" in frappe.get_roles() | ||||
@@ -385,8 +385,8 @@ def get_wspace_sidebar_items(): | |||||
# Filter Page based on Permission | # Filter Page based on Permission | ||||
for page in all_pages: | for page in all_pages: | ||||
try: | try: | ||||
wspace = Workspace(page, True) | |||||
if wspace.is_permitted() and wspace.is_page_allowed() or has_access: | |||||
workspace = Workspace(page, True) | |||||
if workspace.is_permitted() and workspace.is_page_allowed() or has_access: | |||||
if page.public: | if page.public: | ||||
pages.append(page) | pages.append(page) | ||||
elif page.for_user == frappe.session.user: | elif page.for_user == frappe.session.user: | ||||
@@ -255,18 +255,18 @@ def sort_pages(sb_public_items, sb_private_items): | |||||
sb_public_items = loads(sb_public_items) | sb_public_items = loads(sb_public_items) | ||||
sb_private_items = loads(sb_private_items) | sb_private_items = loads(sb_private_items) | ||||
wspace_public_pages = get_page_list(['name', 'title'], {'public': 1}) | |||||
wspace_private_pages = get_page_list(['name', 'title'], {'for_user': frappe.session.user}) | |||||
workspace_public_pages = get_page_list(['name', 'title'], {'public': 1}) | |||||
workspace_private_pages = get_page_list(['name', 'title'], {'for_user': frappe.session.user}) | |||||
if sb_private_items: | if sb_private_items: | ||||
sort_page(wspace_private_pages, sb_private_items) | |||||
sort_page(workspace_private_pages, sb_private_items) | |||||
if sb_public_items and is_workspace_manager(): | if sb_public_items and is_workspace_manager(): | ||||
sort_page(wspace_public_pages, sb_public_items) | |||||
sort_page(workspace_public_pages, sb_public_items) | |||||
def sort_page(wspace_pages, pages): | |||||
def sort_page(workspace_pages, pages): | |||||
for seq, d in enumerate(pages): | for seq, d in enumerate(pages): | ||||
for page in wspace_pages: | |||||
for page in workspace_pages: | |||||
if page.title == d.get('title'): | if page.title == d.get('title'): | ||||
doc = frappe.get_doc('Workspace', page.name) | doc = frappe.get_doc('Workspace', page.name) | ||||
doc.sequence_id = seq + 1 | doc.sequence_id = seq + 1 | ||||
@@ -5,10 +5,10 @@ from frappe import _ | |||||
def execute(): | def execute(): | ||||
frappe.reload_doc('desk', 'doctype', 'workspace', force=True) | frappe.reload_doc('desk', 'doctype', 'workspace', force=True) | ||||
for seq, wspace in enumerate(frappe.get_all('Workspace', order_by='name asc')): | |||||
doc = frappe.get_doc('Workspace', wspace.name) | |||||
for seq, workspace in enumerate(frappe.get_all('Workspace', order_by='name asc')): | |||||
doc = frappe.get_doc('Workspace', workspace.name) | |||||
content = create_content(doc) | content = create_content(doc) | ||||
update_wspace(doc, seq, content) | |||||
update_workspace(doc, seq, content) | |||||
frappe.db.commit() | frappe.db.commit() | ||||
def create_content(doc): | def create_content(doc): | ||||
@@ -49,7 +49,7 @@ def create_content(doc): | |||||
del doc.links[doc.links.index(l)] | del doc.links[doc.links.index(l)] | ||||
return content | return content | ||||
def update_wspace(doc, seq, content): | |||||
def update_workspace(doc, seq, content): | |||||
if not doc.title and not doc.content and not doc.is_standard and not doc.public: | if not doc.title and not doc.content and not doc.is_standard and not doc.public: | ||||
doc.sequence_id = seq + 1 | doc.sequence_id = seq + 1 | ||||
doc.content = json.dumps(content) | doc.content = json.dumps(content) | ||||
@@ -133,14 +133,14 @@ frappe.router = { | |||||
// /app/user/user-001 = ["Form", "User", "user-001"] | // /app/user/user-001 = ["Form", "User", "user-001"] | ||||
// /app/event/view/calendar/default = ["List", "Event", "Calendar", "Default"] | // /app/event/view/calendar/default = ["List", "Event", "Calendar", "Default"] | ||||
let private_wspace = route[1] && `${route[1]}-${frappe.user.name.toLowerCase()}`; | |||||
let private_workspace = route[1] && `${route[1]}-${frappe.user.name.toLowerCase()}`; | |||||
if (frappe.workspaces[route[0]]) { | if (frappe.workspaces[route[0]]) { | ||||
// public workspace | // public workspace | ||||
route = ['Workspaces', frappe.workspaces[route[0]].title]; | route = ['Workspaces', frappe.workspaces[route[0]].title]; | ||||
} else if (route[0] == 'private' && frappe.workspaces[private_wspace]) { | |||||
} else if (route[0] == 'private' && frappe.workspaces[private_workspace]) { | |||||
// private workspace | // private workspace | ||||
route = ['Workspaces', 'private', frappe.workspaces[private_wspace].title]; | |||||
route = ['Workspaces', 'private', frappe.workspaces[private_workspace].title]; | |||||
} else if (this.routes[route[0]]) { | } else if (this.routes[route[0]]) { | ||||
// route | // route | ||||
route = this.set_doctype_route(route); | route = this.set_doctype_route(route); | ||||
@@ -11,9 +11,9 @@ import Onboarding from "./onboarding"; | |||||
import SpacingTune from "./spacing_tune"; | import SpacingTune from "./spacing_tune"; | ||||
import HeaderSize from "./header_size"; | import HeaderSize from "./header_size"; | ||||
frappe.provide("frappe.wspace_block"); | |||||
frappe.provide("frappe.workspace_block"); | |||||
frappe.wspace_block.blocks = { | |||||
frappe.workspace_block.blocks = { | |||||
header: Header, | header: Header, | ||||
paragraph: Paragraph, | paragraph: Paragraph, | ||||
card: Card, | card: Card, | ||||
@@ -23,7 +23,7 @@ frappe.wspace_block.blocks = { | |||||
onboarding: Onboarding, | onboarding: Onboarding, | ||||
}; | }; | ||||
frappe.wspace_block.tunes = { | |||||
frappe.workspace_block.tunes = { | |||||
spacing_tune: SpacingTune, | spacing_tune: SpacingTune, | ||||
header_size: HeaderSize, | header_size: HeaderSize, | ||||
}; | }; |
@@ -78,7 +78,7 @@ export default class Paragraph extends Block { | |||||
</div> | </div> | ||||
`); | `); | ||||
let all_blocks = frappe.wspace_block.blocks; | |||||
let all_blocks = frappe.workspace_block.blocks; | |||||
Object.keys(all_blocks).forEach(key => { | Object.keys(all_blocks).forEach(key => { | ||||
let $block_list_item = $(` | let $block_list_item = $(` | ||||
<div class="block-list-item dropdown-item"> | <div class="block-list-item dropdown-item"> | ||||
@@ -20,7 +20,7 @@ frappe.views.Workspace = class Workspace { | |||||
constructor(wrapper) { | constructor(wrapper) { | ||||
this.wrapper = $(wrapper); | this.wrapper = $(wrapper); | ||||
this.page = wrapper.page; | this.page = wrapper.page; | ||||
this.blocks = frappe.wspace_block.blocks; | |||||
this.blocks = frappe.workspace_block.blocks; | |||||
this.is_read_only = true; | this.is_read_only = true; | ||||
this.pages = {}; | this.pages = {}; | ||||
this.sorted_public_items = []; | this.sorted_public_items = []; | ||||
@@ -75,7 +75,7 @@ frappe.views.Workspace = class Workspace { | |||||
} | } | ||||
get_pages() { | get_pages() { | ||||
return frappe.xcall("frappe.desk.desktop.get_wspace_sidebar_items"); | |||||
return frappe.xcall("frappe.desk.desktop.get_workspace_sidebar_items"); | |||||
} | } | ||||
sidebar_item_container(item) { | sidebar_item_container(item) { | ||||
@@ -447,7 +447,7 @@ frappe.views.Workspace = class Workspace { | |||||
this.public_parent_pages = ['', ...this.public_pages.filter(p => !p.parent_page).map(p => p.title)]; | this.public_parent_pages = ['', ...this.public_pages.filter(p => !p.parent_page).map(p => p.title)]; | ||||
this.private_parent_pages = ['', ...this.private_pages.filter(p => !p.parent_page).map(p => p.title)]; | this.private_parent_pages = ['', ...this.private_pages.filter(p => !p.parent_page).map(p => p.title)]; | ||||
if(page) { | |||||
if (page) { | |||||
return page.public ? this.public_parent_pages : this.private_parent_pages; | return page.public ? this.public_parent_pages : this.private_parent_pages; | ||||
} | } | ||||
} | } | ||||
@@ -1094,7 +1094,7 @@ frappe.views.Workspace = class Workspace { | |||||
} | } | ||||
}, | }, | ||||
spacer: this.blocks['spacer'], | spacer: this.blocks['spacer'], | ||||
HeaderSize: frappe.wspace_block.tunes['header_size'], | |||||
HeaderSize: frappe.workspace_block.tunes['header_size'], | |||||
}; | }; | ||||
this.editor = new EditorJS({ | this.editor = new EditorJS({ | ||||
data: { | data: { | ||||