fix: POS Sync Issue (#18807)
This commit is contained in:
parent
210317c0b5
commit
88ee7d8dbe
@ -432,7 +432,6 @@ def get_customer_id(doc, customer=None):
|
|||||||
|
|
||||||
return cust_id
|
return cust_id
|
||||||
|
|
||||||
|
|
||||||
def make_customer_and_address(customers):
|
def make_customer_and_address(customers):
|
||||||
customers_list = []
|
customers_list = []
|
||||||
for customer, data in iteritems(customers):
|
for customer, data in iteritems(customers):
|
||||||
@ -449,7 +448,6 @@ def make_customer_and_address(customers):
|
|||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
return customers_list
|
return customers_list
|
||||||
|
|
||||||
|
|
||||||
def add_customer(data):
|
def add_customer(data):
|
||||||
customer = data.get('full_name') or data.get('customer')
|
customer = data.get('full_name') or data.get('customer')
|
||||||
if frappe.db.exists("Customer", customer.strip()):
|
if frappe.db.exists("Customer", customer.strip()):
|
||||||
@ -466,21 +464,18 @@ def add_customer(data):
|
|||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
return customer_doc.name
|
return customer_doc.name
|
||||||
|
|
||||||
|
|
||||||
def get_territory(data):
|
def get_territory(data):
|
||||||
if data.get('territory'):
|
if data.get('territory'):
|
||||||
return data.get('territory')
|
return data.get('territory')
|
||||||
|
|
||||||
return frappe.db.get_single_value('Selling Settings','territory') or _('All Territories')
|
return frappe.db.get_single_value('Selling Settings','territory') or _('All Territories')
|
||||||
|
|
||||||
|
|
||||||
def get_customer_group(data):
|
def get_customer_group(data):
|
||||||
if data.get('customer_group'):
|
if data.get('customer_group'):
|
||||||
return data.get('customer_group')
|
return data.get('customer_group')
|
||||||
|
|
||||||
return frappe.db.get_single_value('Selling Settings', 'customer_group') or frappe.db.get_value('Customer Group', {'is_group': 0}, 'name')
|
return frappe.db.get_single_value('Selling Settings', 'customer_group') or frappe.db.get_value('Customer Group', {'is_group': 0}, 'name')
|
||||||
|
|
||||||
|
|
||||||
def make_contact(args, customer):
|
def make_contact(args, customer):
|
||||||
if args.get('email_id') or args.get('phone'):
|
if args.get('email_id') or args.get('phone'):
|
||||||
name = frappe.db.get_value('Dynamic Link',
|
name = frappe.db.get_value('Dynamic Link',
|
||||||
@ -506,7 +501,6 @@ def make_contact(args, customer):
|
|||||||
doc.flags.ignore_mandatory = True
|
doc.flags.ignore_mandatory = True
|
||||||
doc.save(ignore_permissions=True)
|
doc.save(ignore_permissions=True)
|
||||||
|
|
||||||
|
|
||||||
def make_address(args, customer):
|
def make_address(args, customer):
|
||||||
if not args.get('address_line1'):
|
if not args.get('address_line1'):
|
||||||
return
|
return
|
||||||
@ -521,7 +515,10 @@ def make_address(args, customer):
|
|||||||
address = frappe.get_doc('Address', name)
|
address = frappe.get_doc('Address', name)
|
||||||
else:
|
else:
|
||||||
address = frappe.new_doc('Address')
|
address = frappe.new_doc('Address')
|
||||||
address.country = frappe.get_cached_value('Company', args.get('company'), 'country')
|
if args.get('company'):
|
||||||
|
address.country = frappe.get_cached_value('Company',
|
||||||
|
args.get('company'), 'country')
|
||||||
|
|
||||||
address.append('links', {
|
address.append('links', {
|
||||||
'link_doctype': 'Customer',
|
'link_doctype': 'Customer',
|
||||||
'link_name': customer
|
'link_name': customer
|
||||||
@ -533,7 +530,6 @@ def make_address(args, customer):
|
|||||||
address.flags.ignore_mandatory = True
|
address.flags.ignore_mandatory = True
|
||||||
address.save(ignore_permissions=True)
|
address.save(ignore_permissions=True)
|
||||||
|
|
||||||
|
|
||||||
def make_email_queue(email_queue):
|
def make_email_queue(email_queue):
|
||||||
name_list = []
|
name_list = []
|
||||||
for key, data in iteritems(email_queue):
|
for key, data in iteritems(email_queue):
|
||||||
@ -550,7 +546,6 @@ def make_email_queue(email_queue):
|
|||||||
|
|
||||||
return name_list
|
return name_list
|
||||||
|
|
||||||
|
|
||||||
def validate_item(doc):
|
def validate_item(doc):
|
||||||
for item in doc.get('items'):
|
for item in doc.get('items'):
|
||||||
if not frappe.db.exists('Item', item.get('item_code')):
|
if not frappe.db.exists('Item', item.get('item_code')):
|
||||||
@ -569,7 +564,6 @@ def validate_item(doc):
|
|||||||
item_doc.save(ignore_permissions=True)
|
item_doc.save(ignore_permissions=True)
|
||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
|
|
||||||
|
|
||||||
def submit_invoice(si_doc, name, doc, name_list):
|
def submit_invoice(si_doc, name, doc, name_list):
|
||||||
try:
|
try:
|
||||||
si_doc.insert()
|
si_doc.insert()
|
||||||
@ -585,7 +579,6 @@ def submit_invoice(si_doc, name, doc, name_list):
|
|||||||
|
|
||||||
return name_list
|
return name_list
|
||||||
|
|
||||||
|
|
||||||
def save_invoice(doc, name, name_list):
|
def save_invoice(doc, name, name_list):
|
||||||
try:
|
try:
|
||||||
if not frappe.db.exists('Sales Invoice', {'offline_pos_name': name}):
|
if not frappe.db.exists('Sales Invoice', {'offline_pos_name': name}):
|
||||||
|
@ -1762,18 +1762,11 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
|
|||||||
this.si_docs = this.get_submitted_invoice() || [];
|
this.si_docs = this.get_submitted_invoice() || [];
|
||||||
this.email_queue_list = this.get_email_queue() || {};
|
this.email_queue_list = this.get_email_queue() || {};
|
||||||
this.customers_list = this.get_customers_details() || {};
|
this.customers_list = this.get_customers_details() || {};
|
||||||
if(this.customer_doc) {
|
|
||||||
this.freeze = this.customer_doc.display
|
|
||||||
}
|
|
||||||
|
|
||||||
freeze_screen = this.freeze_screen || false;
|
|
||||||
|
|
||||||
if ((this.si_docs.length || this.email_queue_list || this.customers_list) && !this.freeze) {
|
|
||||||
this.freeze = true;
|
|
||||||
|
|
||||||
|
if (this.si_docs.length || this.email_queue_list || this.customers_list) {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "erpnext.accounts.doctype.sales_invoice.pos.make_invoice",
|
method: "erpnext.accounts.doctype.sales_invoice.pos.make_invoice",
|
||||||
freeze: freeze_screen,
|
freeze: true,
|
||||||
args: {
|
args: {
|
||||||
doc_list: me.si_docs,
|
doc_list: me.si_docs,
|
||||||
email_queue_list: me.email_queue_list,
|
email_queue_list: me.email_queue_list,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user