mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-21 07:38:29 +00:00
feat(accounting-dimension): add dynamic triggers for custom accounting dimensions (#50621)
* feat: add dynamic triggers for custom accounting dimensions
* feat: add accounting dimension trigger call in setup event
* chore: ignore cur_frm semgrep rules
* chore: move function to transaction.js
(cherry picked from commit 5e58e344b2)
This commit is contained in:
committed by
Mergify
parent
188c633d6e
commit
2b7d58602d
@@ -12,6 +12,7 @@ erpnext.buying.setup_buying_controller();
|
|||||||
|
|
||||||
erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.BuyingController {
|
erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.BuyingController {
|
||||||
setup(doc) {
|
setup(doc) {
|
||||||
|
this.setup_accounting_dimension_triggers();
|
||||||
this.setup_posting_date_time_check();
|
this.setup_posting_date_time_check();
|
||||||
super.setup(doc);
|
super.setup(doc);
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
|
|||||||
erpnext.selling.SellingController
|
erpnext.selling.SellingController
|
||||||
) {
|
) {
|
||||||
setup(doc) {
|
setup(doc) {
|
||||||
|
this.setup_accounting_dimension_triggers();
|
||||||
this.setup_posting_date_time_check();
|
this.setup_posting_date_time_check();
|
||||||
super.setup(doc);
|
super.setup(doc);
|
||||||
this.frm.make_methods = {
|
this.frm.make_methods = {
|
||||||
|
|||||||
@@ -303,6 +303,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
|
|||||||
erpnext.buying.BuyingController
|
erpnext.buying.BuyingController
|
||||||
) {
|
) {
|
||||||
setup() {
|
setup() {
|
||||||
|
this.setup_accounting_dimension_triggers();
|
||||||
this.frm.custom_make_buttons = {
|
this.frm.custom_make_buttons = {
|
||||||
"Purchase Receipt": "Purchase Receipt",
|
"Purchase Receipt": "Purchase Receipt",
|
||||||
"Purchase Invoice": "Purchase Invoice",
|
"Purchase Invoice": "Purchase Invoice",
|
||||||
|
|||||||
@@ -2749,6 +2749,23 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setup_accounting_dimension_triggers() {
|
||||||
|
frappe.call({
|
||||||
|
method: "erpnext.accounts.doctype.accounting_dimension.accounting_dimension.get_dimensions",
|
||||||
|
callback: function (r) {
|
||||||
|
if (r.message && r.message[0]) {
|
||||||
|
let dimensions = r.message[0].map((d) => d.fieldname);
|
||||||
|
dimensions.forEach((dim) => {
|
||||||
|
// nosemgrep: frappe-semgrep-rules.rules.frappe-cur-frm-usage
|
||||||
|
cur_frm.cscript[dim] = function (doc, cdt, cdn) {
|
||||||
|
erpnext.utils.copy_value_in_all_rows(doc, cdt, cdn, "items", dim);
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
erpnext.show_serial_batch_selector = function (frm, item_row, callback, on_close, show_dialog) {
|
erpnext.show_serial_batch_selector = function (frm, item_row, callback, on_close, show_dialog) {
|
||||||
|
|||||||
@@ -574,6 +574,9 @@ frappe.ui.form.on("Sales Order Item", {
|
|||||||
});
|
});
|
||||||
|
|
||||||
erpnext.selling.SalesOrderController = class SalesOrderController extends erpnext.selling.SellingController {
|
erpnext.selling.SalesOrderController = class SalesOrderController extends erpnext.selling.SellingController {
|
||||||
|
setup() {
|
||||||
|
this.setup_accounting_dimension_triggers();
|
||||||
|
}
|
||||||
onload(doc, dt, dn) {
|
onload(doc, dt, dn) {
|
||||||
super.onload(doc, dt, dn);
|
super.onload(doc, dt, dn);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,6 +140,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends (
|
|||||||
erpnext.selling.SellingController
|
erpnext.selling.SellingController
|
||||||
) {
|
) {
|
||||||
setup(doc) {
|
setup(doc) {
|
||||||
|
this.setup_accounting_dimension_triggers();
|
||||||
this.setup_posting_date_time_check();
|
this.setup_posting_date_time_check();
|
||||||
super.setup(doc);
|
super.setup(doc);
|
||||||
this.frm.make_methods = {
|
this.frm.make_methods = {
|
||||||
|
|||||||
@@ -195,6 +195,7 @@ erpnext.stock.PurchaseReceiptController = class PurchaseReceiptController extend
|
|||||||
erpnext.buying.BuyingController
|
erpnext.buying.BuyingController
|
||||||
) {
|
) {
|
||||||
setup(doc) {
|
setup(doc) {
|
||||||
|
this.setup_accounting_dimension_triggers();
|
||||||
this.setup_posting_date_time_check();
|
this.setup_posting_date_time_check();
|
||||||
super.setup(doc);
|
super.setup(doc);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user