fix: Ignore permissions while fetching module settings properties

This commit is contained in:
Nabin Hait
2024-04-07 11:33:40 +05:30
parent 711bc3ff1c
commit 5e9f31cf21
7 changed files with 65 additions and 18 deletions

View File

@@ -35,10 +35,11 @@
} }
], ],
"links": [], "links": [],
"modified": "2020-04-01 15:35:18.112619", "modified": "2024-04-07 11:26:42.021585",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "Payment Terms Template", "name": "Payment Terms Template",
"naming_rule": "By fieldname",
"owner": "Administrator", "owner": "Administrator",
"permissions": [ "permissions": [
{ {
@@ -76,6 +77,15 @@
"role": "Accounts Manager", "role": "Accounts Manager",
"share": 1, "share": 1,
"write": 1 "write": 1
},
{
"email": 1,
"export": 1,
"print": 1,
"report": 1,
"role": "All",
"select": 1,
"share": 1
} }
], ],
"sort_field": "modified", "sort_field": "modified",

View File

@@ -1081,6 +1081,11 @@ def get_rounded_tax_amount(itemised_tax, precision):
row["tax_amount"] = flt(row["tax_amount"], precision) row["tax_amount"] = flt(row["tax_amount"], precision)
@frappe.whitelist()
def get_rounding_tax_settings():
return frappe.db.get_single_value("Accounts Settings", "round_row_wise_tax")
class init_landed_taxes_and_totals: class init_landed_taxes_and_totals:
def __init__(self, doc): def __init__(self, doc):
self.doc = doc self.doc = doc

View File

@@ -210,10 +210,12 @@ erpnext.taxes_and_totals = class TaxesAndTotals extends erpnext.payments {
}); });
} }
frappe.db.get_single_value("Accounts Settings", "round_row_wise_tax") frappe.call({
.then((round_row_wise_tax) => { method: "erpnext.controllers.taxes_and_totals.get_rounding_tax_settings",
frappe.flags.round_row_wise_tax = round_row_wise_tax; callback: function(r) {
}) frappe.flags.round_off_settings = r.message;
}
});
} }
determine_exclusive_rate() { determine_exclusive_rate() {

View File

@@ -252,9 +252,14 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
} }
toggle_enable_for_stock_uom(field) { toggle_enable_for_stock_uom(field) {
frappe.db.get_single_value('Stock Settings', field) frappe.call({
.then(value => { method: 'erpnext.stock.doctype.stock_settings.stock_settings.get_enable_stock_uom_editing',
this.frm.fields_dict["items"].grid.toggle_enable("stock_qty", value); callback: (r) => {
if (r.message) {
var value = r.message[field];
this.frm.fields_dict["items"].grid.toggle_enable("stock_qty", value);
}
}
}); });
} }

View File

@@ -111,16 +111,26 @@ frappe.ui.form.on("Sales Order", {
} }
if (frm.doc.docstatus === 0) { if (frm.doc.docstatus === 0) {
frappe.db.get_single_value("Stock Settings", "enable_stock_reservation").then((value) => { frappe.call({
if (!value) { method: "erpnext.selling.doctype.sales_order.sales_order.get_stock_reservation_status",
// If `Stock Reservation` is disabled in Stock Settings, set Reserve Stock to 0 and make the field read-only and hidden. callback: function (r) {
frm.set_value("reserve_stock", 0); if (!r.message) {
frm.set_df_property("reserve_stock", "read_only", 1); frm.set_value("reserve_stock", 0);
frm.set_df_property("reserve_stock", "hidden", 1); frm.set_df_property("reserve_stock", "read_only", 1);
frm.fields_dict.items.grid.update_docfield_property("reserve_stock", "hidden", 1); frm.set_df_property("reserve_stock", "hidden", 1);
frm.fields_dict.items.grid.update_docfield_property("reserve_stock", "default", 0); frm.fields_dict.items.grid.update_docfield_property("reserve_stock", "hidden", 1);
frm.fields_dict.items.grid.update_docfield_property("reserve_stock", "read_only", 1); frm.fields_dict.items.grid.update_docfield_property(
} "reserve_stock",
"default",
0
);
frm.fields_dict.items.grid.update_docfield_property(
"reserve_stock",
"read_only",
1
);
}
},
}); });
} }
} }

View File

@@ -1709,3 +1709,8 @@ def get_work_order_items(sales_order, for_raw_material_request=0):
) )
return items return items
@frappe.whitelist()
def get_stock_reservation_status():
return frappe.db.get_single_value("Stock Settings", "enable_stock_reservation")

View File

@@ -308,3 +308,13 @@ def clean_all_descriptions():
clean_description = clean_html(item.description) clean_description = clean_html(item.description)
if item.description != clean_description: if item.description != clean_description:
frappe.db.set_value("Item", item.name, "description", clean_description) frappe.db.set_value("Item", item.name, "description", clean_description)
@frappe.whitelist()
def get_enable_stock_uom_editing():
return frappe.get_cached_value(
"Stock Settings",
None,
["allow_to_edit_stock_uom_qty_for_sales", "allow_to_edit_stock_uom_qty_for_purchase"],
as_dict=1,
)