chore: Add landed cost taxes and charges common in bundles
diff --git a/erpnext/public/js/erpnext.bundle.js b/erpnext/public/js/erpnext.bundle.js
index 0f4a650..3d5025d 100644
--- a/erpnext/public/js/erpnext.bundle.js
+++ b/erpnext/public/js/erpnext.bundle.js
@@ -25,5 +25,6 @@
import "./templates/crm_activities.html";
import "./templates/crm_notes.html";
import "./controllers/accounts.js"
+import "./utils/landed_taxes_and_charges_common.js";
// import { sum } from 'frappe/public/utils/util.js'
diff --git a/erpnext/public/js/utils/landed_taxes_and_charges_common.js b/erpnext/public/js/utils/landed_taxes_and_charges_common.js
new file mode 100644
index 0000000..c71f77d
--- /dev/null
+++ b/erpnext/public/js/utils/landed_taxes_and_charges_common.js
@@ -0,0 +1,62 @@
+
+erpnext.landed_cost_taxes_and_charges = {
+ setup_triggers: function(doctype) {
+ frappe.ui.form.on(doctype, {
+ refresh: function(frm) {
+ let tax_field = frm.doc.doctype == 'Landed Cost Voucher' ? 'taxes' : 'additional_costs';
+ frm.set_query("expense_account", tax_field, function() {
+ return {
+ filters: {
+ "account_type": ['in', ["Tax", "Chargeable", "Income Account", "Expenses Included In Valuation", "Expenses Included In Asset Valuation"]],
+ "company": frm.doc.company
+ }
+ };
+ });
+ },
+
+ set_account_currency: function(frm, cdt, cdn) {
+ let row = locals[cdt][cdn];
+ if (row.expense_account) {
+ frappe.db.get_value('Account', row.expense_account, 'account_currency', function(value) {
+ frappe.model.set_value(cdt, cdn, "account_currency", value.account_currency);
+ frm.events.set_exchange_rate(frm, cdt, cdn);
+ });
+ }
+ },
+
+ set_exchange_rate: function(frm, cdt, cdn) {
+ let row = locals[cdt][cdn];
+ let company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
+
+ if (row.account_currency == company_currency) {
+ row.exchange_rate = 1;
+ frm.set_df_property('taxes', 'hidden', 1, row.name, 'exchange_rate');
+ } else if (!row.exchange_rate || row.exchange_rate == 1) {
+ frm.set_df_property('taxes', 'hidden', 0, row.name, 'exchange_rate');
+ frappe.call({
+ method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
+ args: {
+ posting_date: frm.doc.posting_date,
+ account: row.expense_account,
+ account_currency: row.account_currency,
+ company: frm.doc.company
+ },
+ callback: function(r) {
+ if (r.message) {
+ frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
+ }
+ }
+ });
+ }
+
+ frm.refresh_field('taxes');
+ },
+
+ set_base_amount: function(frm, cdt, cdn) {
+ let row = locals[cdt][cdn];
+ frappe.model.set_value(cdt, cdn, "base_amount",
+ flt(flt(row.amount)*row.exchange_rate, precision("base_amount", row)));
+ }
+ });
+ }
+}
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
index 9c1a809..8215efc 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
@@ -1,10 +1,9 @@
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
-
frappe.provide("erpnext.stock");
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Landed Cost Voucher");
erpnext.stock.LandedCostVoucher = class LandedCostVoucher extends erpnext.stock.StockController {
setup() {
var me = this;
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 403e04a..e9b7949 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -3,7 +3,7 @@
frappe.provide("erpnext.stock");
frappe.provide("erpnext.accounts.dimensions");
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Stock Entry");
frappe.ui.form.on('Stock Entry', {
setup: function(frm) {
@@ -56,7 +56,7 @@
frappe.db.get_value('Stock Settings', {name: 'Stock Settings'}, 'sample_retention_warehouse', (r) => {
if (r.sample_retention_warehouse) {
- var filters = [
+ let filters = [
["Warehouse", 'company', '=', frm.doc.company],
["Warehouse", "is_group", "=",0],
['Warehouse', 'name', '!=', r.sample_retention_warehouse]
@@ -75,17 +75,19 @@
});
frm.set_query('batch_no', 'items', function(doc, cdt, cdn) {
- var item = locals[cdt][cdn];
+ let item = locals[cdt][cdn];
+ let filters = {};
+
if(!item.item_code) {
frappe.throw(__("Please enter Item Code to get Batch Number"));
} else {
if (in_list(["Material Transfer for Manufacture", "Manufacture", "Repack", "Send to Subcontractor"], doc.purpose)) {
- var filters = {
+ filters = {
'item_code': item.item_code,
'posting_date': frm.doc.posting_date || frappe.datetime.nowdate()
}
} else {
- var filters = {
+ filters = {
'item_code': item.item_code
}
}
@@ -686,7 +688,6 @@
},
process_loss_percentage(frm) {
- debugger
if (frm.doc.process_loss_percentage) {
frm.doc.process_loss_qty = flt((frm.doc.fg_completed_qty * frm.doc.process_loss_percentage) / 100 , precision("process_loss_qty", frm.doc));
refresh_field("process_loss_qty");
diff --git a/erpnext/stock/landed_taxes_and_charges_common.js b/erpnext/stock/landed_taxes_and_charges_common.js
deleted file mode 100644
index 1d76a3d..0000000
--- a/erpnext/stock/landed_taxes_and_charges_common.js
+++ /dev/null
@@ -1,61 +0,0 @@
-let document_list = ['Landed Cost Voucher', 'Stock Entry', 'Subcontracting Order', 'Subcontracting Receipt'];
-
-document_list.forEach((doctype) => {
- frappe.ui.form.on(doctype, {
- refresh: function(frm) {
- let tax_field = frm.doc.doctype == 'Landed Cost Voucher' ? 'taxes' : 'additional_costs';
- frm.set_query("expense_account", tax_field, function() {
- return {
- filters: {
- "account_type": ['in', ["Tax", "Chargeable", "Income Account", "Expenses Included In Valuation", "Expenses Included In Asset Valuation"]],
- "company": frm.doc.company
- }
- };
- });
- },
-
- set_account_currency: function(frm, cdt, cdn) {
- let row = locals[cdt][cdn];
- if (row.expense_account) {
- frappe.db.get_value('Account', row.expense_account, 'account_currency', function(value) {
- frappe.model.set_value(cdt, cdn, "account_currency", value.account_currency);
- frm.events.set_exchange_rate(frm, cdt, cdn);
- });
- }
- },
-
- set_exchange_rate: function(frm, cdt, cdn) {
- let row = locals[cdt][cdn];
- let company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
-
- if (row.account_currency == company_currency) {
- row.exchange_rate = 1;
- frm.set_df_property('taxes', 'hidden', 1, row.name, 'exchange_rate');
- } else if (!row.exchange_rate || row.exchange_rate == 1) {
- frm.set_df_property('taxes', 'hidden', 0, row.name, 'exchange_rate');
- frappe.call({
- method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
- args: {
- posting_date: frm.doc.posting_date,
- account: row.expense_account,
- account_currency: row.account_currency,
- company: frm.doc.company
- },
- callback: function(r) {
- if (r.message) {
- frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
- }
- }
- });
- }
-
- frm.refresh_field('taxes');
- },
-
- set_base_amount: function(frm, cdt, cdn) {
- let row = locals[cdt][cdn];
- frappe.model.set_value(cdt, cdn, "base_amount",
- flt(flt(row.amount)*row.exchange_rate, precision("base_amount", row)));
- }
- });
-});
diff --git a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
index 15a2ac9..f2b395a 100644
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
@@ -3,7 +3,7 @@
frappe.provide('erpnext.buying');
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Subcontracting Order");
frappe.ui.form.on('Subcontracting Order', {
setup: (frm) => {
diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js
index 5ee1f7b..94a2589 100644
--- a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js
+++ b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js
@@ -3,7 +3,7 @@
frappe.provide('erpnext.buying');
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Subcontracting Receipt");
frappe.ui.form.on('Subcontracting Receipt', {
setup: (frm) => {
diff --git a/erpnext/www/book_appointment/index.js b/erpnext/www/book_appointment/index.js
index d02cdad..71a34d4 100644
--- a/erpnext/www/book_appointment/index.js
+++ b/erpnext/www/book_appointment/index.js
@@ -243,7 +243,7 @@
}
function get_form_data() {
- contact = {};
+ let contact = {};
let inputs = ['name', 'skype', 'number', 'notes', 'email'];
inputs.forEach((id) => contact[id] = document.getElementById(`customer_${id}`).value)
return contact