Merge pull request #30008 from frappe/mergify/bp/version-14-beta-pre-release/pr-29991

fix(pos): minor fixes (backport #29991)
This commit is contained in:
Saqib Ansari 2022-02-28 12:07:12 +05:30 committed by GitHub
commit 6ca508fd85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 27 deletions

View File

@ -439,7 +439,6 @@ class POSInvoice(SalesInvoice):
self.paid_amount = 0 self.paid_amount = 0
def set_account_for_mode_of_payment(self): def set_account_for_mode_of_payment(self):
self.payments = [d for d in self.payments if d.amount or d.base_amount or d.default]
for pay in self.payments: for pay in self.payments:
if not pay.account: if not pay.account:
pay.account = get_bank_cash_account(pay.mode_of_payment, self.company).get("account") pay.account = get_bank_cash_account(pay.mode_of_payment, self.company).get("account")

View File

@ -2283,13 +2283,17 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
} }
coupon_code() { coupon_code() {
var me = this; if (this.frm.doc.coupon_code || this.frm._last_coupon_code) {
frappe.run_serially([ // reset pricing rules if coupon code is set or is unset
() => this.frm.doc.ignore_pricing_rule=1, const _ignore_pricing_rule = this.frm.doc.ignore_pricing_rule;
() => me.ignore_pricing_rule(), return frappe.run_serially([
() => this.frm.doc.ignore_pricing_rule=0, () => this.frm.doc.ignore_pricing_rule=1,
() => me.apply_pricing_rule() () => this.frm.trigger('ignore_pricing_rule'),
]); () => this.frm.doc.ignore_pricing_rule=_ignore_pricing_rule,
() => this.frm.trigger('apply_pricing_rule'),
() => this.frm._last_coupon_code = this.frm.doc.coupon_code
]);
}
} }
}; };

View File

@ -170,25 +170,20 @@ erpnext.PointOfSale.Payment = class {
}); });
frappe.ui.form.on('POS Invoice', 'coupon_code', (frm) => { frappe.ui.form.on('POS Invoice', 'coupon_code', (frm) => {
if (!frm.doc.ignore_pricing_rule) { if (!frm.doc.ignore_pricing_rule && frm.doc.coupon_code) {
if (frm.doc.coupon_code) { frappe.run_serially([
frappe.run_serially([ () => frm.doc.ignore_pricing_rule=1,
() => frm.doc.ignore_pricing_rule=1, () => frm.trigger('ignore_pricing_rule'),
() => frm.trigger('ignore_pricing_rule'), () => frm.doc.ignore_pricing_rule=0,
() => frm.doc.ignore_pricing_rule=0, () => frm.trigger('apply_pricing_rule'),
() => frm.trigger('apply_pricing_rule'), () => frm.save(),
() => frm.save(), () => this.update_totals_section(frm.doc)
() => this.update_totals_section(frm.doc) ]);
]); } else if (frm.doc.ignore_pricing_rule && frm.doc.coupon_code) {
} else { frappe.show_alert({
frappe.run_serially([ message: __("Ignore Pricing Rule is enabled. Cannot apply coupon code."),
() => frm.doc.ignore_pricing_rule=1, indicator: "orange"
() => frm.trigger('ignore_pricing_rule'), });
() => frm.doc.ignore_pricing_rule=0,
() => frm.save(),
() => this.update_totals_section(frm.doc)
]);
}
} }
}); });