From c013d11ff379775e552a54a8ef76b848f002b323 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 8 Dec 2022 12:49:49 +0530 Subject: [PATCH] fix: stabilize shared with dialog (#19186) (cherry picked from commit 19588b24f7b39efe7e9ede3c1cffda15a3b80047) Co-authored-by: phot0n --- frappe/public/js/frappe/form/sidebar/share.js | 14 ++++++++------ frappe/share.py | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/form/sidebar/share.js b/frappe/public/js/frappe/form/sidebar/share.js index d2ed9cb349d..dd310531f08 100644 --- a/frappe/public/js/frappe/form/sidebar/share.js +++ b/frappe/public/js/frappe/form/sidebar/share.js @@ -17,9 +17,12 @@ frappe.ui.form.Share = class Share { this.parent.find(".share-doc-btn").hide(); } - this.parent.find(".share-doc-btn").on("click", () => { - this.frm.share_doc(); - }); + this.parent + .find(".share-doc-btn") + .off("click") + .on("click", () => { + this.frm.share_doc(); + }); this.shares.empty(); @@ -41,6 +44,8 @@ frappe.ui.form.Share = class Share { this.dialog = d; this.dirty = false; + $(d.body).html('

' + __("Loading...") + "

"); + frappe.call({ method: "frappe.share.get_users", args: { @@ -52,8 +57,6 @@ frappe.ui.form.Share = class Share { }, }); - $(d.body).html('

' + __("Loading...") + "

"); - d.onhide = function () { // reload comments if (me.dirty) me.frm.sidebar.reload_docinfo(); @@ -188,7 +191,6 @@ frappe.ui.form.Share = class Share { } me.dirty = true; - me.render_shared(); me.frm.shared.refresh(); }, }); diff --git a/frappe/share.py b/frappe/share.py index e54adc54938..9c43982d924 100644 --- a/frappe/share.py +++ b/frappe/share.py @@ -82,7 +82,7 @@ def remove(doctype, name, user, flags=None): @frappe.whitelist() def set_permission(doctype, name, user, permission_to, value=1, everyone=0): """Expose function without flags to the client-side""" - set_docshare_permission(doctype, name, user, permission_to, value=value, everyone=everyone) + return set_docshare_permission(doctype, name, user, permission_to, value=value, everyone=everyone) def set_docshare_permission(doctype, name, user, permission_to, value=1, everyone=0, flags=None):