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": [],
"modified": "2020-04-01 15:35:18.112619",
"modified": "2024-04-07 11:26:42.021585",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Terms Template",
"naming_rule": "By fieldname",
"owner": "Administrator",
"permissions": [
{
@@ -76,6 +77,15 @@
"role": "Accounts Manager",
"share": 1,
"write": 1
},
{
"email": 1,
"export": 1,
"print": 1,
"report": 1,
"role": "All",
"select": 1,
"share": 1
}
],
"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)
@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:
def __init__(self, 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")
.then((round_row_wise_tax) => {
frappe.flags.round_row_wise_tax = round_row_wise_tax;
})
frappe.call({
method: "erpnext.controllers.taxes_and_totals.get_rounding_tax_settings",
callback: function(r) {
frappe.flags.round_off_settings = r.message;
}
});
}
determine_exclusive_rate() {

View File

@@ -252,9 +252,14 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
}
toggle_enable_for_stock_uom(field) {
frappe.db.get_single_value('Stock Settings', field)
.then(value => {
this.frm.fields_dict["items"].grid.toggle_enable("stock_qty", value);
frappe.call({
method: 'erpnext.stock.doctype.stock_settings.stock_settings.get_enable_stock_uom_editing',
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) {
frappe.db.get_single_value("Stock Settings", "enable_stock_reservation").then((value) => {
if (!value) {
// If `Stock Reservation` is disabled in Stock Settings, set Reserve Stock to 0 and make the field read-only and hidden.
frm.set_value("reserve_stock", 0);
frm.set_df_property("reserve_stock", "read_only", 1);
frm.set_df_property("reserve_stock", "hidden", 1);
frm.fields_dict.items.grid.update_docfield_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", "read_only", 1);
}
frappe.call({
method: "erpnext.selling.doctype.sales_order.sales_order.get_stock_reservation_status",
callback: function (r) {
if (!r.message) {
frm.set_value("reserve_stock", 0);
frm.set_df_property("reserve_stock", "read_only", 1);
frm.set_df_property("reserve_stock", "hidden", 1);
frm.fields_dict.items.grid.update_docfield_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",
"read_only",
1
);
}
},
});
}
}

View File

@@ -1709,3 +1709,8 @@ def get_work_order_items(sales_order, for_raw_material_request=0):
)
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)
if item.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,
)