Parcourir la source

feat: add allowed sidebar items to bootinfo

version-14
Shivam Mishra il y a 5 ans
Parent
révision
dd8fe18656
2 fichiers modifiés avec 7 ajouts et 3 suppressions
  1. +4
    -2
      frappe/boot.py
  2. +3
    -1
      frappe/desk/desktop.py

+ 4
- 2
frappe/boot.py Voir le fichier

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


+ 3
- 1
frappe/desk/desktop.py Voir le fichier

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


Chargement…
Annuler
Enregistrer