feat: add allowed sidebar items to bootinfo

This commit is contained in:
Shivam Mishra 2020-04-07 15:47:58 +05:30
parent 1bc97e8f8a
commit dd8fe18656
2 changed files with 7 additions and 3 deletions

View file

@ -41,7 +41,7 @@ def get_bootinfo():
bootinfo.modules = {}
bootinfo.module_list = []
load_desktop_icons(bootinfo)
load_desktop_data(bootinfo)
bootinfo.letter_heads = get_letter_heads()
bootinfo.active_domains = frappe.get_active_domains()
bootinfo.all_domains = [d.get("name") for d in frappe.get_all("Domain")]
@ -99,9 +99,11 @@ def load_conf_settings(bootinfo):
for key in ('developer_mode', 'socketio_port', 'file_watcher_port'):
if key in conf: bootinfo[key] = conf.get(key)
def load_desktop_icons(bootinfo):
def load_desktop_data(bootinfo):
from frappe.config import get_modules_from_all_apps_for_user
from frappe.desk.desktop import get_desk_sidebar_items
bootinfo.allowed_modules = get_modules_from_all_apps_for_user()
bootinfo.allowed_workspaces = get_desk_sidebar_items(True)
def get_allowed_pages():
return get_user_pages_or_reports('Page')

View file

@ -209,7 +209,7 @@ def get_desktop_page(page):
return None
@frappe.whitelist()
def get_desk_sidebar_items():
def get_desk_sidebar_items(flatten=False):
"""Get list of sidebar items for desk
"""
# don't get domain restricted pages
@ -224,6 +224,8 @@ def get_desk_sidebar_items():
# pages sorted based on pinned to top and then by name
order_by = "pin_to_top desc, pin_to_bottom asc, name asc"
pages = frappe.get_all("Desk Page", fields=["name", "category"], filters=filters, order_by=order_by, ignore_permissions=True)
if flatten:
return pages
from collections import defaultdict
sidebar_items = defaultdict(list)