mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-26 08:24:47 +00:00
fix: apply grand total to default payment mode in Sales and POS invoices
This commit is contained in:
@@ -55,6 +55,16 @@ erpnext.selling.POSInvoiceController = class POSInvoiceController extends erpnex
|
|||||||
});
|
});
|
||||||
|
|
||||||
erpnext.accounts.dimensions.setup_dimension_filters(this.frm, this.frm.doctype);
|
erpnext.accounts.dimensions.setup_dimension_filters(this.frm, this.frm.doctype);
|
||||||
|
|
||||||
|
if (this.frm.doc.pos_profile) {
|
||||||
|
frappe.db
|
||||||
|
.get_value("POS Profile", this.frm.doc.pos_profile, "set_grand_total_to_default_mop")
|
||||||
|
.then((r) => {
|
||||||
|
if (!r.exc) {
|
||||||
|
this.frm.set_default_payment = r.message.set_grand_total_to_default_mop;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onload_post_render(frm) {
|
onload_post_render(frm) {
|
||||||
@@ -120,6 +130,7 @@ erpnext.selling.POSInvoiceController = class POSInvoiceController extends erpnex
|
|||||||
this.frm.meta.default_print_format = r.message.print_format || "";
|
this.frm.meta.default_print_format = r.message.print_format || "";
|
||||||
this.frm.doc.campaign = r.message.campaign;
|
this.frm.doc.campaign = r.message.campaign;
|
||||||
this.frm.allow_print_before_pay = r.message.allow_print_before_pay;
|
this.frm.allow_print_before_pay = r.message.allow_print_before_pay;
|
||||||
|
this.frm.set_default_payment = r.message.set_default_payment;
|
||||||
}
|
}
|
||||||
this.frm.script_manager.trigger("update_stock");
|
this.frm.script_manager.trigger("update_stock");
|
||||||
this.calculate_taxes_and_totals();
|
this.calculate_taxes_and_totals();
|
||||||
|
|||||||
@@ -732,6 +732,7 @@ class POSInvoice(SalesInvoice):
|
|||||||
"utm_campaign": profile.get("utm_campaign"),
|
"utm_campaign": profile.get("utm_campaign"),
|
||||||
"utm_medium": profile.get("utm_medium"),
|
"utm_medium": profile.get("utm_medium"),
|
||||||
"allow_print_before_pay": profile.get("allow_print_before_pay"),
|
"allow_print_before_pay": profile.get("allow_print_before_pay"),
|
||||||
|
"set_default_payment": profile.get("set_grand_total_to_default_mop"),
|
||||||
}
|
}
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
|
|||||||
@@ -58,6 +58,13 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
|
|||||||
|
|
||||||
me.frm.script_manager.trigger("is_pos");
|
me.frm.script_manager.trigger("is_pos");
|
||||||
me.frm.refresh_fields();
|
me.frm.refresh_fields();
|
||||||
|
frappe.db
|
||||||
|
.get_value("POS Profile", this.frm.doc.pos_profile, "set_grand_total_to_default_mop")
|
||||||
|
.then((r) => {
|
||||||
|
if (!r.exc) {
|
||||||
|
me.frm.set_default_payment = r.message.set_grand_total_to_default_mop;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
erpnext.queries.setup_warehouse_query(this.frm);
|
erpnext.queries.setup_warehouse_query(this.frm);
|
||||||
}
|
}
|
||||||
@@ -512,8 +519,9 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
|
|||||||
},
|
},
|
||||||
callback: function (r) {
|
callback: function (r) {
|
||||||
if (!r.exc) {
|
if (!r.exc) {
|
||||||
if (r.message && r.message.print_format) {
|
if (r.message) {
|
||||||
me.frm.pos_print_format = r.message.print_format;
|
me.frm.pos_print_format = r.message.print_format;
|
||||||
|
me.frm.set_default_payment = r.message.set_default_payment;
|
||||||
}
|
}
|
||||||
me.frm.trigger("update_stock");
|
me.frm.trigger("update_stock");
|
||||||
if (me.frm.doc.taxes_and_charges) {
|
if (me.frm.doc.taxes_and_charges) {
|
||||||
|
|||||||
@@ -764,6 +764,7 @@ class SalesInvoice(SellingController):
|
|||||||
"utm_campaign": pos.get("utm_campaign"),
|
"utm_campaign": pos.get("utm_campaign"),
|
||||||
"utm_medium": pos.get("utm_medium"),
|
"utm_medium": pos.get("utm_medium"),
|
||||||
"allow_print_before_pay": pos.get("allow_print_before_pay"),
|
"allow_print_before_pay": pos.get("allow_print_before_pay"),
|
||||||
|
"set_default_payment": pos.get("set_grand_total_to_default_mop", 1),
|
||||||
}
|
}
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
|
|||||||
@@ -946,8 +946,8 @@ erpnext.taxes_and_totals = class TaxesAndTotals extends erpnext.payments {
|
|||||||
set_default_payment(total_amount_to_pay, update_paid_amount) {
|
set_default_payment(total_amount_to_pay, update_paid_amount) {
|
||||||
var me = this;
|
var me = this;
|
||||||
var payment_status = true;
|
var payment_status = true;
|
||||||
if(this.frm.doc.is_pos && (update_paid_amount===undefined || update_paid_amount)) {
|
const set_payment = flt(this.frm.doc.paid_amount) || cint(this.frm.set_default_payment);
|
||||||
|
if(this.frm.doc.is_pos && set_payment && (update_paid_amount===undefined || update_paid_amount)) {
|
||||||
$.each(this.frm.doc['payments'] || [], function(index, data) {
|
$.each(this.frm.doc['payments'] || [], function(index, data) {
|
||||||
if(data.default && payment_status && total_amount_to_pay > 0) {
|
if(data.default && payment_status && total_amount_to_pay > 0) {
|
||||||
let base_amount, amount;
|
let base_amount, amount;
|
||||||
|
|||||||
@@ -450,7 +450,6 @@ erpnext.PointOfSale.Payment = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render_payment_section() {
|
render_payment_section() {
|
||||||
this.grand_total_to_default_mop();
|
|
||||||
this.render_payment_mode_dom();
|
this.render_payment_mode_dom();
|
||||||
this.make_invoice_field_dialog();
|
this.make_invoice_field_dialog();
|
||||||
this.update_totals_section();
|
this.update_totals_section();
|
||||||
@@ -498,17 +497,6 @@ erpnext.PointOfSale.Payment = class {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
grand_total_to_default_mop() {
|
|
||||||
if (this.set_gt_to_default_mop) return;
|
|
||||||
const doc = this.events.get_frm().doc;
|
|
||||||
const payments = doc.payments;
|
|
||||||
payments.forEach((p) => {
|
|
||||||
if (p.default) {
|
|
||||||
frappe.model.set_value(p.doctype, p.name, "amount", 0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
render_payment_mode_dom() {
|
render_payment_mode_dom() {
|
||||||
const doc = this.events.get_frm().doc;
|
const doc = this.events.get_frm().doc;
|
||||||
const payments = doc.payments;
|
const payments = doc.payments;
|
||||||
|
|||||||
Reference in New Issue
Block a user