Skip to content

Commit

Permalink
fix: mode of payment fetched from pos profile company in POS
Browse files Browse the repository at this point in the history
  • Loading branch information
Ritvik Sardana authored and Ritvik Sardana committed Aug 17, 2023
1 parent d138948 commit 1bdd43d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions erpnext/accounts/doctype/pos_invoice/pos_invoice.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ erpnext.selling.POSInvoiceController = class POSInvoiceController extends erpnex
args: { "pos_profile": frm.pos_profile },
callback: ({ message: profile }) => {
this.update_customer_groups_settings(profile?.customer_groups);
this.frm.set_value("company", profile?.company);
},
});
}
Expand Down
10 changes: 10 additions & 0 deletions erpnext/accounts/doctype/pos_invoice/pos_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ def validate(self):
self.validate_pos()
self.validate_payment_amount()
self.validate_loyalty_transaction()
self.validate_company_with_pos_company()
if self.coupon_code:
from erpnext.accounts.doctype.pricing_rule.utils import validate_coupon_code

Expand Down Expand Up @@ -281,6 +282,14 @@ def validate_payment_amount(self):
if total_amount_in_payments and total_amount_in_payments < invoice_total:
frappe.throw(_("Total payments amount can't be greater than {}").format(-invoice_total))

def validate_company_with_pos_company(self):
if self.company != frappe.db.get_value("POS Profile", self.pos_profile, "company"):
frappe.throw(
_("Company {} does not match with POS Profile Company {}").format(
self.company, frappe.db.get_value("POS Profile", self.pos_profile, "company")
)
)

def validate_loyalty_transaction(self):
if self.redeem_loyalty_points and (
not self.loyalty_redemption_account or not self.loyalty_redemption_cost_center
Expand Down Expand Up @@ -359,6 +368,7 @@ def set_pos_fields(self, for_validate=False):
profile = {}
if self.pos_profile:
profile = frappe.get_doc("POS Profile", self.pos_profile)
self.company = profile.get("company")

if not self.get("payments") and not for_validate:
update_multi_mode_option(self, profile)
Expand Down

0 comments on commit 1bdd43d

Please sign in to comment.