perf: eliminate request for user permissions
This is ALWAYS required, then it can just be part of boot. Eliminates 1 unnecessary request.
This commit is contained in:
parent
ba311a3ec8
commit
b919618032
4 changed files with 14 additions and 1 deletions
|
|
@ -60,6 +60,10 @@ class UserPermission(Document):
|
|||
frappe.throw(_("{0} has already assigned default value for {1}.").format(ref_link, self.allow))
|
||||
|
||||
|
||||
def send_user_permissions(bootinfo):
|
||||
bootinfo.user["user_permissions"] = get_user_permissions()
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_user_permissions(user=None):
|
||||
"""Get all users permissions for the user as a dict of doctype"""
|
||||
|
|
|
|||
|
|
@ -427,4 +427,5 @@ after_job = [
|
|||
|
||||
extend_bootinfo = [
|
||||
"frappe.utils.telemetry.add_bootinfo",
|
||||
"frappe.core.doctype.user_permission.user_permission.send_user_permissions",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -130,4 +130,12 @@ frappe.defaults = {
|
|||
}
|
||||
});
|
||||
},
|
||||
|
||||
load_user_permission_from_boot: function () {
|
||||
if (frappe.boot.user.user_permissions) {
|
||||
this._user_permissions = Object.assign({}, frappe.boot.user.user_permissions);
|
||||
} else {
|
||||
frappe.defaults.update_user_permissions();
|
||||
}
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ frappe.Application = class Application {
|
|||
}
|
||||
|
||||
load_user_permissions() {
|
||||
frappe.defaults.update_user_permissions();
|
||||
frappe.defaults.load_user_permission_from_boot();
|
||||
|
||||
frappe.realtime.on(
|
||||
"update_user_permissions",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue