From b8ddae13ba4c975aa2a3a0e750aacf5f4b382164 Mon Sep 17 00:00:00 2001 From: tunde Date: Tue, 5 Sep 2017 00:23:24 +0100 Subject: [PATCH] fix patches --- erpnext/patches.txt | 2 ++ .../change_default_customer_credit_days.py | 24 ++++++++++++------- ...hange_default_supplier_type_credit_days.py | 8 +++---- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/erpnext/patches.txt b/erpnext/patches.txt index a6df204699..180d2f8a86 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -439,3 +439,5 @@ erpnext.patches.v8_10.add_due_date_to_gle erpnext.patches.v8_10.update_gl_due_date_for_pi_and_si erpnext.patches.v8_10.add_payment_terms_field_to_supplier erpnext.patches.v8_10.change_default_customer_credit_days +erpnext.patches.v8_10.add_payment_terms_field_to_supplier_type +erpnext.patches.v8_10.change_default_supplier_type_credit_days diff --git a/erpnext/patches/v8_10/change_default_customer_credit_days.py b/erpnext/patches/v8_10/change_default_customer_credit_days.py index dc52c89f45..a919713741 100644 --- a/erpnext/patches/v8_10/change_default_customer_credit_days.py +++ b/erpnext/patches/v8_10/change_default_customer_credit_days.py @@ -3,6 +3,10 @@ import frappe def execute(): + frappe.reload_doc("accounts", "doctype", "payment_term") + frappe.reload_doc("accounts", "doctype", "payment_terms_template_detail") + frappe.reload_doc("accounts", "doctype", "payment_terms_template") + payment_terms = [] customers = [] suppliers = [] @@ -14,9 +18,9 @@ def execute(): credit_records = ((record[0], record[1], record[2]) for record in credit_days) for days, based_on, customer_name in credit_records: payment_term = make_payment_term(days, based_on) - payment_terms.append('WHEN `customer_name`="%s" THEN "%s"' % (customer_name, payment_term.payment_term_name)) + template = make_template(payment_term) + payment_terms.append('WHEN `customer_name`="%s" THEN "%s"' % (customer_name, template.template_name)) customers.append(customer_name) - make_template(payment_term) begin_query_str = "UPDATE `tabCustomer` SET `payment_terms` = CASE " value_query_str = " ".join(payment_terms) @@ -38,17 +42,17 @@ def execute(): credit_records = ((record[0], record[1], record[2]) for record in credit_days) for days, based_on, supplier_name in credit_records: if based_on == "Fixed Days": - pyt_term_name = 'N{0}'.format(days) + pyt_template_name = 'Default Payment Term - N{0}'.format(days) else: - pyt_term_name = 'EO2M' + pyt_template_name = 'Default Payment Term - EO2M' - if not frappe.db.exists("Payment Term", pyt_term_name): + if not frappe.db.exists("Payment Term Template", pyt_template_name): payment_term = make_payment_term(days, based_on) - make_template(payment_term) + template = make_template(payment_term) else: - payment_term = frappe.get_doc("Payment Term", pyt_term_name) + template = frappe.get_doc("Payment Term Template", pyt_template_name) - payment_terms.append('WHEN `supplier_name`="%s" THEN "%s"' % (supplier_name, payment_term.payment_term_name)) + payment_terms.append('WHEN `supplier_name`="%s" THEN "%s"' % (supplier_name, template.template_name)) suppliers.append(supplier_name) begin_query_str = "UPDATE `tabSupplier` SET `payment_terms` = CASE " @@ -73,9 +77,11 @@ def make_template(payment_term): template = frappe.new_doc('Payment Terms Template') template.template_name = 'Default Payment Term - {0}'.format(payment_term.payment_term_name) - template.terms = [doc] + template.append('terms', doc) template.save() + return template + def make_payment_term(days, based_on): based_on_map = { diff --git a/erpnext/patches/v8_10/change_default_supplier_type_credit_days.py b/erpnext/patches/v8_10/change_default_supplier_type_credit_days.py index a669648535..448bdbe15d 100644 --- a/erpnext/patches/v8_10/change_default_supplier_type_credit_days.py +++ b/erpnext/patches/v8_10/change_default_supplier_type_credit_days.py @@ -1,5 +1,5 @@ import frappe -from patches.v8_10.change_default_customer_credit_days import make_payment_term, make_template +from erpnext.patches.v8_10.change_default_customer_credit_days import make_payment_term, make_template def execute(): @@ -25,15 +25,15 @@ def execute(): else: payment_term = frappe.get_doc("Payment Term", pyt_term_name) - payment_terms.append('WHEN `supplier_name`="%s" THEN "%s"' % (supplier_type, payment_term.payment_term_name)) + payment_terms.append('WHEN `supplier_type`="%s" THEN "%s"' % (supplier_type, payment_term.payment_term_name)) supplier_types.append(supplier_type) - begin_query_str = "UPDATE `tabSupplier` SET `payment_terms` = CASE " + begin_query_str = "UPDATE `tabSupplier Type` SET `payment_terms` = CASE " value_query_str = " ".join(payment_terms) cond_query_str = " ELSE `payment_terms` END WHERE " if supplier_types: frappe.db.sql( - begin_query_str + value_query_str + cond_query_str + '`supplier_name` IN %s', + begin_query_str + value_query_str + cond_query_str + '`supplier_type` IN %s', (supplier_types,) )