Skip to content

Commit

Permalink
fix: prevent duplicate pos fields in pos settings (frappe#45873)
Browse files Browse the repository at this point in the history
fix: restrict duplicate pos fields in pos settings
  • Loading branch information
diptanilsaha authored and Bhavan23 committed Feb 20, 2025
1 parent 2277595 commit d18c8c9
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion erpnext/accounts/doctype/pos_settings/pos_settings.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt

from collections import Counter

import frappe
from frappe import _
from frappe.model.document import Document


Expand All @@ -22,4 +25,14 @@ class POSSettings(Document):
# end: auto-generated types

def validate(self):
pass
self.validate_invoice_fields()

def validate_invoice_fields(self):
invoice_fields = [field.fieldname for field in self.invoice_fields]
duplicate_invoice_fields = {key for key, value in Counter(invoice_fields).items() if value > 1}

if len(duplicate_invoice_fields):
for field in duplicate_invoice_fields:
frappe.throw(
title=_("Duplicate POS Fields"), msg=_("'{0}' has been already added.").format(field)
)

0 comments on commit d18c8c9

Please sign in to comment.