fix(Warehouse): add buttons only if the user can use them

(cherry picked from commit 10ae5aaf52)
This commit is contained in:
barredterra
2024-07-08 17:08:38 +02:00
committed by Mergify
parent 92bc227743
commit a2b21c7570

View File

@@ -40,32 +40,40 @@ frappe.ui.form.on("Warehouse", {
if (!frm.is_new()) { if (!frm.is_new()) {
frappe.contacts.render_address_and_contact(frm); frappe.contacts.render_address_and_contact(frm);
let enable_toggle = frm.doc.disabled ? "Enable" : "Disable"; if (frm.has_perm("write")) {
frm.add_custom_button(__(enable_toggle), () => { let enable_toggle = frm.doc.disabled ? "Enable" : "Disable";
frm.set_value("disabled", 1 - frm.doc.disabled); frm.add_custom_button(__(enable_toggle), () => {
frm.save(); frm.set_value("disabled", 1 - frm.doc.disabled);
}); frm.save();
frm.add_custom_button(__("Stock Balance"), function () {
frappe.set_route("query-report", "Stock Balance", {
warehouse: frm.doc.name,
company: frm.doc.company,
}); });
});
frm.add_custom_button( frm.add_custom_button(
frm.doc.is_group frm.doc.is_group
? __("Convert to Ledger", null, "Warehouse") ? __("Convert to Ledger", null, "Warehouse")
: __("Convert to Group", null, "Warehouse"), : __("Convert to Group", null, "Warehouse"),
function () { function () {
convert_to_group_or_ledger(frm); convert_to_group_or_ledger(frm);
} }
); );
}
if ("Stock Balance" in frappe.boot.user.all_reports) {
frm.add_custom_button(__("Stock Balance"), function () {
frappe.set_route("query-report", "Stock Balance", {
warehouse: frm.doc.name,
company: frm.doc.company,
});
});
}
} else { } else {
frappe.contacts.clear_address_and_contact(frm); frappe.contacts.clear_address_and_contact(frm);
} }
if (!frm.doc.is_group && frm.doc.__onload && frm.doc.__onload.account) { if (
!frm.doc.is_group &&
frm.doc.__onload?.account &&
"General Ledger" in frappe.boot.user.all_reports
) {
frm.add_custom_button(__("General Ledger", null, "Warehouse"), function () { frm.add_custom_button(__("General Ledger", null, "Warehouse"), function () {
frappe.route_options = { frappe.route_options = {
account: frm.doc.__onload.account, account: frm.doc.__onload.account,