From 5e22405c455b0e296264f112d004e157c67928d8 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Sun, 20 Jun 2021 20:18:23 +0530 Subject: [PATCH 01/20] feat: CDNR Unreg json generation --- erpnext/regional/report/gstr_1/gstr_1.js | 1 + erpnext/regional/report/gstr_1/gstr_1.py | 129 ++++++++++++++++++++++- 2 files changed, 127 insertions(+), 3 deletions(-) diff --git a/erpnext/regional/report/gstr_1/gstr_1.js b/erpnext/regional/report/gstr_1/gstr_1.js index 444f5dbb8c..4a8e67fdbf 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.js +++ b/erpnext/regional/report/gstr_1/gstr_1.js @@ -51,6 +51,7 @@ frappe.query_reports["GSTR-1"] = { { "value": "B2C Large", "label": __("B2C(Large) Invoices - 5A, 5B") }, { "value": "B2C Small", "label": __("B2C(Small) Invoices - 7") }, { "value": "CDNR-REG", "label": __("Credit/Debit Notes (Registered) - 9B") }, + { "value": "CDNR-UNREG", "label": __("Credit/Debit Notes (Unregistered) - 9B") }, { "value": "EXPORT", "label": __("Export Invoice - 6A") } ], "default": "B2B" diff --git a/erpnext/regional/report/gstr_1/gstr_1.py b/erpnext/regional/report/gstr_1/gstr_1.py index 9d4f9206f5..827fbb87a9 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.py +++ b/erpnext/regional/report/gstr_1/gstr_1.py @@ -63,7 +63,7 @@ class Gstr1Report(object): for rate, items in items_based_on_rate.items(): row, taxable_value = self.get_row_data_for_invoice(inv, invoice_details, rate, items) - if self.filters.get("type_of_business") == "CDNR-REG": + if self.filters.get("type_of_business") in ("CDNR-REG", "CDNR-UNREG"): row.append("Y" if invoice_details.posting_date <= date(2017, 7, 1) else "N") row.append("C" if invoice_details.is_return else "D") @@ -106,7 +106,7 @@ class Gstr1Report(object): def get_row_data_for_invoice(self, invoice, invoice_details, tax_rate, items): row = [] for fieldname in self.invoice_fields: - if self.filters.get("type_of_business") == "CDNR-REG" and fieldname == "invoice_value": + if self.filters.get("type_of_business") in ("CDNR-REG", "CDNR-UNREG") and fieldname == "invoice_value": row.append(abs(invoice_details.base_rounded_total) or abs(invoice_details.base_grand_total)) elif fieldname == "invoice_value": row.append(invoice_details.base_rounded_total or invoice_details.base_grand_total) @@ -198,6 +198,12 @@ class Gstr1Report(object): elif self.filters.get("type_of_business") == "CDNR-REG": conditions += """ AND (is_return = 1 OR is_debit_note = 1) AND IFNULL(gst_category, '') in ('Registered Regular', 'Deemed Export', 'SEZ')""" + elif self.filters.get("type_of_business") == "CDNR-UNREG": + b2c_limit = frappe.db.get_single_value('GST Settings', 'b2c_limit') + conditions += """ AND ifnull(SUBSTR(place_of_supply, 1, 2),'') != ifnull(SUBSTR(company_gstin, 1, 2),'') + AND ABS(grand_total) > {0} AND (is_return = 1 OR is_debit_note = 1) + AND IFNULL(gst_category, '') in ('Unregistered', 'Overseas')""".format(flt(b2c_limit)) + elif self.filters.get("type_of_business") == "EXPORT": conditions += """ AND is_return !=1 and gst_category = 'Overseas' """ @@ -503,6 +509,84 @@ class Gstr1Report(object): "width": 80 } ] + elif self.filters.get("type_of_business") == "CDNR-UNREG": + self.invoice_columns = [ + { + "fieldname": "customer_name", + "label": "Receiver Name", + "fieldtype": "Data", + "width": 120 + }, + { + "fieldname": "return_against", + "label": "Issued Against", + "fieldtype": "Link", + "options": "Sales Invoice", + "width": 120 + }, + { + "fieldname": "posting_date", + "label": "Note Date", + "fieldtype": "Date", + "width": 120 + }, + { + "fieldname": "invoice_number", + "label": "Note Number", + "fieldtype": "Link", + "options": "Sales Invoice", + "width":120 + }, + { + "fieldname": "export_type", + "label": "Export Type", + "fieldtype": "Data", + "hidden": 1 + }, + { + "fieldname": "reason_for_issuing_document", + "label": "Reason For Issuing document", + "fieldtype": "Data", + "width": 140 + }, + { + "fieldname": "place_of_supply", + "label": "Place Of Supply", + "fieldtype": "Data", + "width": 120 + }, + { + "fieldname": "gst_category", + "label": "GST Category", + "fieldtype": "Data" + }, + { + "fieldname": "invoice_value", + "label": "Invoice Value", + "fieldtype": "Currency", + "width": 120 + } + ] + self.other_columns = [ + { + "fieldname": "cess_amount", + "label": "Cess Amount", + "fieldtype": "Currency", + "width": 100 + }, + { + "fieldname": "pre_gst", + "label": "PRE GST", + "fieldtype": "Data", + "width": 80 + }, + { + "fieldname": "document_type", + "label": "Document Type", + "fieldtype": "Data", + "width": 80 + } + ] elif self.filters.get("type_of_business") == "B2C Small": self.invoice_columns = [ { @@ -622,6 +706,13 @@ def get_json(filters, report_name, data): out = get_cdnr_reg_json(res, gstin) gst_json["cdnr"] = out + elif filters["type_of_business"] == 'CDNR-UNREG': + for item in report_data[:-1]: + res.setdefault(item["invoice_number"],[]).append(item) + + out = get_cdnr_unreg_json(res, gstin) + gst_json["cdnur"] = out + return { 'report_name': report_name, @@ -780,6 +871,27 @@ def get_cdnr_reg_json(res, gstin): return out +def get_cdnr_unreg_json(res, gstin): + out = [] + + for invoice, items in iteritems(res): + inv_item = { + "nt_num": items[0]["invoice_number"], + "nt_dt": getdate(items[0]["posting_date"]).strftime('%d-%m-%Y'), + "val": abs(flt(items[0]["invoice_value"])), + "ntty": items[0]["document_type"], + "pos": "%02d" % int(items[0]["place_of_supply"].split('-')[0]), + "typ": get_invoice_type_for_cdnrur(items[0]) + } + + inv_item["itms"] = [] + for item in items: + inv_item["itms"].append(get_rate_and_tax_details(item, gstin)) + + out.append(inv_item) + + return out + def get_invoice_type_for_cdnr(row): if row.get('gst_category') == 'SEZ': if row.get('export_type') == 'WPAY': @@ -787,12 +899,23 @@ def get_invoice_type_for_cdnr(row): else: invoice_type = 'SEWOP' elif row.get('gst_category') == 'Deemed Export': - row.invoice_type = 'DE' + invoice_type = 'DE' elif row.get('gst_category') == 'Registered Regular': invoice_type = 'R' return invoice_type +def get_invoice_type_for_cdnrur(row): + if row.get('gst_category') == 'Overseas': + if row.get('export_type') == 'WPAY': + invoice_type = 'EXPWP' + else: + invoice_type = 'EXPWOP' + elif row.get('gst_category') == 'Unregistered': + invoice_type = 'B2CL' + + return invoice_type + def get_basic_invoice_detail(row): return { "inum": row["invoice_number"], From 8b644d8889ea0f0bfb04248a16c790d5fb167fbd Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Thu, 15 Jul 2021 15:36:54 +0530 Subject: [PATCH 02/20] fix: Report and JSON generation for Advances received --- .../doctype/payment_entry/regional/india.js | 29 +++++ erpnext/hooks.py | 1 + erpnext/patches.txt | 3 +- .../v13_0/create_gst_payment_entry_fields.py | 31 ++++++ erpnext/regional/india/setup.py | 5 +- erpnext/regional/india/utils.py | 9 ++ erpnext/regional/report/gstr_1/gstr_1.js | 3 +- erpnext/regional/report/gstr_1/gstr_1.py | 102 +++++++++++++++++- 8 files changed, 174 insertions(+), 9 deletions(-) create mode 100644 erpnext/accounts/doctype/payment_entry/regional/india.js create mode 100644 erpnext/patches/v13_0/create_gst_payment_entry_fields.py diff --git a/erpnext/accounts/doctype/payment_entry/regional/india.js b/erpnext/accounts/doctype/payment_entry/regional/india.js new file mode 100644 index 0000000000..fa35ec9426 --- /dev/null +++ b/erpnext/accounts/doctype/payment_entry/regional/india.js @@ -0,0 +1,29 @@ +frappe.ui.form.on("Payment Entry", { + company: function(frm) { + frappe.call({ + 'method': 'frappe.contacts.doctype.address.address.get_default_address', + 'args': { + 'doctype': 'Company', + 'name': frm.doc.company + }, + 'callback': function(r) { + me.frm.set_value('company_address', r.message); + } + }); + }, + + party: function(frm) { + if (frm.doc.party_type == "Customer" && frm.doc.party) { + frappe.call({ + 'method': 'frappe.contacts.doctype.address.address.get_default_address', + 'args': { + 'doctype': 'Customer', + 'name': frm.doc.party + }, + 'callback': function(r) { + me.frm.set_value('customer_address', r.message); + } + }); + } + } +}); \ No newline at end of file diff --git a/erpnext/hooks.py b/erpnext/hooks.py index b1a64f95bf..8a4f4f5a9b 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -286,6 +286,7 @@ doc_events = { ] }, "Payment Entry": { + "validate": "erpnext.regional.india.utils.update_place_of_supply", "on_submit": ["erpnext.regional.create_transaction_log", "erpnext.accounts.doctype.payment_request.payment_request.update_payment_req_status", "erpnext.accounts.doctype.dunning.dunning.resolve_dunning"], "on_trash": "erpnext.regional.check_deletion_permission" }, diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 05c385b6ba..b8b7713c08 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -300,4 +300,5 @@ erpnext.patches.v13_0.reset_clearance_date_for_intracompany_payment_entries erpnext.patches.v13_0.einvoicing_deprecation_warning erpnext.patches.v14_0.delete_einvoicing_doctypes erpnext.patches.v13_0.set_operation_time_based_on_operating_cost -erpnext.patches.v13_0.validate_options_for_data_field \ No newline at end of file +erpnext.patches.v13_0.validate_options_for_data_field +erpnext.patches.v13_0.create_gst_payment_entry_fields diff --git a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py new file mode 100644 index 0000000000..aee5ce6d11 --- /dev/null +++ b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py @@ -0,0 +1,31 @@ +# Copyright (c) 2021, Frappe and Contributors +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals +import frappe +from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + +def execute(): + custom_fields = { + 'Payment Entry': [ + dict(fieldname='gst_section', label='GST Details', fieldtype='Section Break', insert_after='deductions', + print_hide=1, collapsible=1), + dict(fieldname='company_address', label='Company Address', fieldtype='Link', insert_after='gst_section', + print_hide=1, options='Address'), + dict(fieldname='company_gstin', label='Company GSTIN', + fieldtype='Data', insert_after='company_address', + fetch_from='company_address.gstin', print_hide=1, read_only=1), + dict(fieldname='place_of_supply', label='Place of Supply', + fieldtype='Data', insert_after='company_gstin', + print_hide=1, read_only=1), + dict(fieldname='gst_column_break', fieldtype='Column Break', + insert_after='place_of_supply'), + dict(fieldname='customer_address', label='Customer Address', fieldtype='Link', insert_after='gst_column_break', + print_hide=1, options='Address', depends_on = 'eval:doc.party_type == "Customer"'), + dict(fieldname='customer_gstin', label='Customer GSTIN', + fieldtype='Data', insert_after='customer_address', + fetch_from='customer_address.gstin', print_hide=1, read_only=1) + ] + } + + create_custom_fields(custom_fields, update=True) \ No newline at end of file diff --git a/erpnext/regional/india/setup.py b/erpnext/regional/india/setup.py index 4db5551cb3..638a8ed996 100644 --- a/erpnext/regional/india/setup.py +++ b/erpnext/regional/india/setup.py @@ -123,8 +123,8 @@ def add_print_formats(): def make_property_setters(patch=False): # GST rules do not allow for an invoice no. bigger than 16 characters journal_entry_types = frappe.get_meta("Journal Entry").get_options("voucher_type").split("\n") + ['Reversal Of ITC'] - sales_invoice_series = ['SINV-.YY.-', 'SRET-.YY.-', ''] + frappe.get_meta("Sales Invoice").get_options("naming_series").split("\n") - purchase_invoice_series = ['PINV-.YY.-', 'PRET-.YY.-', ''] + frappe.get_meta("Purchase Invoice").get_options("naming_series").split("\n") + sales_invoice_series = frappe.get_meta("Sales Invoice").get_options("naming_series").split("\n") + ['SINV-.YY.-', 'SRET-.YY.-', ''] + purchase_invoice_series = frappe.get_meta("Purchase Invoice").get_options("naming_series").split("\n") + ['PINV-.YY.-', 'PRET-.YY.-', ''] if not patch: make_property_setter('Sales Invoice', 'naming_series', 'options', '\n'.join(sales_invoice_series), '') @@ -464,6 +464,7 @@ def make_custom_fields(update=True): 'Purchase Receipt': purchase_invoice_gst_fields, 'Sales Invoice': sales_invoice_gst_category + invoice_gst_fields + sales_invoice_shipping_fields + sales_invoice_gst_fields + si_ewaybill_fields, 'Delivery Note': sales_invoice_gst_fields + ewaybill_fields + sales_invoice_shipping_fields + delivery_note_gst_category, + 'Payment Entry': payment_entry_fields, 'Journal Entry': journal_entry_fields, 'Sales Order': sales_invoice_gst_fields, 'Tax Category': inter_state_gst_field, diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index ce5aa10902..94910fed18 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -767,6 +767,15 @@ def update_itc_availed_fields(doc, method): if tax.account_head in gst_accounts.get('cess_account', []): doc.itc_cess_amount += flt(tax.base_tax_amount_after_discount_amount) +def update_place_of_supply(doc, method): + country = frappe.get_cached_value('Company', doc.company, 'country') + if country != 'India': + return + + address = frappe.db.get_value("Address", doc.customer_address, ["gst_state", "gst_state_number"], as_dict=1) + if address and address.gst_state and address.gst_state_number: + doc.place_of_supply = cstr(address.gst_state_number) + "-" + cstr(address.gst_state) + @frappe.whitelist() def get_regional_round_off_accounts(company, account_list): country = frappe.get_cached_value('Company', company, 'country') diff --git a/erpnext/regional/report/gstr_1/gstr_1.js b/erpnext/regional/report/gstr_1/gstr_1.js index 4a8e67fdbf..ef2bdb6798 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.js +++ b/erpnext/regional/report/gstr_1/gstr_1.js @@ -52,7 +52,8 @@ frappe.query_reports["GSTR-1"] = { { "value": "B2C Small", "label": __("B2C(Small) Invoices - 7") }, { "value": "CDNR-REG", "label": __("Credit/Debit Notes (Registered) - 9B") }, { "value": "CDNR-UNREG", "label": __("Credit/Debit Notes (Unregistered) - 9B") }, - { "value": "EXPORT", "label": __("Export Invoice - 6A") } + { "value": "EXPORT", "label": __("Export Invoice - 6A") }, + { "value": "Advances", "label": __("Tax Liability (Advances Received) - 11A(1), 11A(2)") } ], "default": "B2B" } diff --git a/erpnext/regional/report/gstr_1/gstr_1.py b/erpnext/regional/report/gstr_1/gstr_1.py index 827fbb87a9..312f7e2564 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.py +++ b/erpnext/regional/report/gstr_1/gstr_1.py @@ -50,14 +50,17 @@ class Gstr1Report(object): self.get_invoice_items() self.get_items_based_on_tax_rate() self.invoice_fields = [d["fieldname"] for d in self.invoice_columns] - self.get_data() + + self.get_data() return self.columns, self.data def get_data(self): if self.filters.get("type_of_business") in ("B2C Small", "B2C Large"): self.get_b2c_data() - else: + elif self.filters.get("type_of_business") in ("Advances"): + self.get_advance_data() + elif self.invoices: for inv, items_based_on_rate in self.items_based_on_tax_rate.items(): invoice_details = self.invoices.get(inv) for rate, items in items_based_on_rate.items(): @@ -70,6 +73,22 @@ class Gstr1Report(object): if taxable_value: self.data.append(row) + def get_advance_data(self): + advances_data = {} + advances = self.get_advance_entries() + for entry in advances: + # only consider IGST and SGST so as to avoid duplication of taxable amount + if entry.account_head in self.gst_accounts.igst_account or \ + entry.account_head in self.gst_accounts.sgst_account: + advances_data.setdefault((entry.place_of_supply, entry.rate), [0.0, 0.0]) + advances_data[(entry.place_of_supply, entry.rate)][0] += (entry.amount * 100 / entry.rate) + elif entry.account_head in self.gst_accounts.cess_account: + advances_data[(entry.place_of_supply, entry.rate)][1] += entry.amount + + for key, value in advances_data.items(): + row= [key[0], key[1], value[0], value[1]] + self.data.append(row) + def get_b2c_data(self): b2cs_output = {} @@ -167,6 +186,16 @@ class Gstr1Report(object): for d in invoice_data: self.invoices.setdefault(d.invoice_number, d) + def get_advance_entries(self): + return frappe.db.sql(""" + SELECT SUM(a.base_tax_amount) as amount, a.account_head, a.rate, p.place_of_supply + FROM `tabPayment Entry` p, `tabAdvance Taxes and Charges` a + WHERE p.docstatus = 1 + AND p.name = a.parent + AND posting_date between %s and %s + GROUP BY a.account_head, p.place_of_supply, a.rate + """, (self.filters.get('from_date'), self.filters.get('to_date')), as_dict=1) + def get_conditions(self): conditions = "" @@ -662,6 +691,25 @@ class Gstr1Report(object): "width": 120 } ] + elif self.filters.get("type_of_business") == "Advances": + self.invoice_columns = [ + { + "fieldname": "place_of_supply", + "label": "Place Of Supply", + "fieldtype": "Data", + "width": 120 + } + ] + + self.other_columns = [ + { + "fieldname": "cess_amount", + "label": "Cess Amount", + "fieldtype": "Currency", + "width": 100 + } + ] + self.columns = self.invoice_columns + self.tax_columns + self.other_columns @frappe.whitelist() @@ -700,19 +748,29 @@ def get_json(filters, report_name, data): out = get_export_json(res) gst_json["exp"] = out - elif filters["type_of_business"] == 'CDNR-REG': + elif filters["type_of_business"] == "CDNR-REG": for item in report_data[:-1]: res.setdefault(item["customer_gstin"], {}).setdefault(item["invoice_number"],[]).append(item) out = get_cdnr_reg_json(res, gstin) gst_json["cdnr"] = out - elif filters["type_of_business"] == 'CDNR-UNREG': + elif filters["type_of_business"] == "CDNR-UNREG": for item in report_data[:-1]: res.setdefault(item["invoice_number"],[]).append(item) out = get_cdnr_unreg_json(res, gstin) gst_json["cdnur"] = out + elif filters["type_of_business"] == "Advances": + for item in report_data[:-1]: + if not item.get("place_of_supply"): + frappe.throw(_("""{0} not entered in some entries. + Please update and try again""").format(frappe.bold("Place Of Supply"))) + + res.setdefault(item["place_of_supply"],[]).append(item) + + out = get_advances_json(res, gstin) + gst_json["at"] = out return { 'report_name': report_name, @@ -792,6 +850,40 @@ def get_b2cs_json(data, gstin): return out +def get_advances_json(data, gstin): + company_state_number = gstin[0:2] + out = [] + for place_of_supply, items in iteritems(data): + supply_type = "INTRA" if company_state_number == place_of_supply.split('-')[0] else "INTER" + row = { + "pos": place_of_supply.split('-')[0], + "itms": [], + "sply_ty": supply_type + } + + for item in items: + itms = { + 'rt': item['rate'], + 'ad_amount': flt(item.get('taxable_value')), + 'csamt': flt(item.get('cess_amount')) + } + + if supply_type == "INTRA": + itms.update({ + "samt": flt((itms["ad_amount"] * itms["rt"]) / 100), + "camt": flt((itms["ad_amount"] * itms["rt"]) / 100), + "rt": itms["rt"] * 2 + }) + else: + itms.update({ + "iamt": flt((itms["ad_amount"] * itms["rt"]) / 100) + }) + + row['itms'].append(itms) + out.append(row) + + return out + def get_b2cl_json(res, gstin): out = [] for pos in res: @@ -955,7 +1047,7 @@ def get_company_gstin_number(company, address=None, all_gstins=False): ["Dynamic Link", "link_name", "=", company], ["Dynamic Link", "parenttype", "=", "Address"], ] - gstin = frappe.get_all("Address", filters=filters, pluck="gstin") + gstin = frappe.get_all("Address", filters=filters, pluck="gstin", order_by="is_primary_address desc") if gstin and not all_gstins: gstin = gstin[0] From 06484321d17762a57154273785e37ead359b13f7 Mon Sep 17 00:00:00 2001 From: GangaManoj Date: Wed, 1 Sep 2021 22:48:09 +0530 Subject: [PATCH 03/20] fix: Move related fields to the same section --- .../doctype/selling_settings/selling_settings.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.json b/erpnext/selling/doctype/selling_settings/selling_settings.json index 717fd9b92e..5cff001efa 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.json +++ b/erpnext/selling/doctype/selling_settings/selling_settings.json @@ -18,17 +18,18 @@ "close_opportunity_after_days", "item_price_settings_section", "selling_price_list", + "maintain_same_rate_action", + "role_to_override_stop_action", "column_break_15", "maintain_same_sales_rate", - "maintain_same_rate_action", "editable_price_list_rate", "validate_selling_price", + "editable_bundle_item_rates", "sales_transactions_settings_section", "so_required", "dn_required", "sales_update_frequency", "column_break_5", - "role_to_override_stop_action", "allow_multiple_items", "allow_against_multiple_purchase_orders", "hide_tax_id" @@ -191,6 +192,12 @@ "fieldname": "sales_transactions_settings_section", "fieldtype": "Section Break", "label": "Transaction Settings" + }, + { + "default": "0", + "fieldname": "editable_bundle_item_rates", + "fieldtype": "Check", + "label": "Calculate Product Bundle Price based on Child Items' Rates" } ], "icon": "fa fa-cog", @@ -198,7 +205,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2021-08-06 22:25:50.119458", + "modified": "2021-09-01 22:47:24.298970", "modified_by": "Administrator", "module": "Selling", "name": "Selling Settings", From f2a7fbd1269cc806fef0a17cf207b004ce944a94 Mon Sep 17 00:00:00 2001 From: GangaManoj Date: Wed, 1 Sep 2021 22:49:05 +0530 Subject: [PATCH 04/20] fix: Remove redundant description --- erpnext/selling/doctype/selling_settings/selling_settings.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.json b/erpnext/selling/doctype/selling_settings/selling_settings.json index 5cff001efa..1cc1c85444 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.json +++ b/erpnext/selling/doctype/selling_settings/selling_settings.json @@ -147,7 +147,6 @@ { "default": "Stop", "depends_on": "maintain_same_sales_rate", - "description": "Configure the action to stop the transaction or just warn if the same rate is not maintained.", "fieldname": "maintain_same_rate_action", "fieldtype": "Select", "label": "Action if Same Rate is Not Maintained", @@ -205,7 +204,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2021-09-01 22:47:24.298970", + "modified": "2021-09-01 22:48:30.860203", "modified_by": "Administrator", "module": "Selling", "name": "Selling Settings", From 799d67d785b7369a9cbef3fe3e0d5c423b444ec5 Mon Sep 17 00:00:00 2001 From: GangaManoj Date: Wed, 1 Sep 2021 22:55:10 +0530 Subject: [PATCH 05/20] fix: Only display 'Role Allowed to Override Stop Action' if 'Maintain Same Rate Throughout Sales Cycle' is checked --- .../selling/doctype/selling_settings/selling_settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.json b/erpnext/selling/doctype/selling_settings/selling_settings.json index 1cc1c85444..2d09777642 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.json +++ b/erpnext/selling/doctype/selling_settings/selling_settings.json @@ -154,7 +154,7 @@ "options": "Stop\nWarn" }, { - "depends_on": "eval: doc.maintain_same_rate_action == 'Stop'", + "depends_on": "eval: doc.maintain_same_sales_rate && doc.maintain_same_rate_action == 'Stop'", "fieldname": "role_to_override_stop_action", "fieldtype": "Link", "label": "Role Allowed to Override Stop Action", @@ -204,7 +204,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2021-09-01 22:48:30.860203", + "modified": "2021-09-01 22:53:53.394444", "modified_by": "Administrator", "module": "Selling", "name": "Selling Settings", From b25d28e023a629dd2463015219773a0d37bc1144 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 2 Sep 2021 14:53:06 +0530 Subject: [PATCH 06/20] fix(patch): delete stale shopify doctypes (#27313) --- erpnext/patches.txt | 3 ++- erpnext/patches/v14_0/delete_shopify_doctypes.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 erpnext/patches/v14_0/delete_shopify_doctypes.py diff --git a/erpnext/patches.txt b/erpnext/patches.txt index ca7295281a..f7f3ddf7fd 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -301,4 +301,5 @@ erpnext.patches.v13_0.einvoicing_deprecation_warning erpnext.patches.v13_0.custom_fields_for_taxjar_integration erpnext.patches.v14_0.delete_einvoicing_doctypes erpnext.patches.v13_0.set_operation_time_based_on_operating_cost -erpnext.patches.v13_0.validate_options_for_data_field \ No newline at end of file +erpnext.patches.v13_0.validate_options_for_data_field +erpnext.patches.v14_0.delete_shopify_doctypes diff --git a/erpnext/patches/v14_0/delete_shopify_doctypes.py b/erpnext/patches/v14_0/delete_shopify_doctypes.py new file mode 100644 index 0000000000..f45082a1a5 --- /dev/null +++ b/erpnext/patches/v14_0/delete_shopify_doctypes.py @@ -0,0 +1,5 @@ +import frappe + +def execute(): + frappe.delete_doc("DocType", "Shopify Settings", ignore_missing=True) + frappe.delete_doc("DocType", "Shopify Log", ignore_missing=True) From 915b34391c2066dfc83e60a5813c5a877cebe7ac Mon Sep 17 00:00:00 2001 From: Chillar Anand Date: Thu, 2 Sep 2021 16:44:59 +0530 Subject: [PATCH 07/20] chore: Clean up imports (#27302) * chore: Added isort to pre-commit config * chore: Sort imports with isort * chore: Clean up imports with pycln * chore: Sort imports with isort * chore: Fix import issues * chore: Clean up sider issues * chore: Remove import errors from flake8 ignore list * chore: Clean up lint issues --- .github/helper/.flake8_strict | 2 - .../semgrep_rules/frappe_correctness.py | 2 +- .github/workflows/linters.yml | 2 +- .pre-commit-config.yaml | 6 ++ erpnext/__init__.py | 4 +- erpnext/accounts/custom/address.py | 8 +- .../account_balance_timeline.py | 7 +- erpnext/accounts/deferred_revenue.py | 23 ++++- erpnext/accounts/doctype/account/account.py | 4 +- .../chart_of_accounts/chart_of_accounts.py | 18 ++-- .../chart_of_accounts/import_from_openerp.py | 7 +- .../verified/standard_chart_of_accounts.py | 2 + ...d_chart_of_accounts_with_account_number.py | 2 + .../accounts/doctype/account/test_account.py | 8 +- .../accounting_dimension.py | 13 +-- .../test_accounting_dimension.py | 6 +- .../accounting_dimension_detail.py | 2 + .../accounting_dimension_filter.py | 2 + .../test_accounting_dimension_filter.py | 9 +- .../accounting_period/accounting_period.py | 4 +- .../test_accounting_period.py | 8 +- .../accounts_settings/accounts_settings.py | 5 +- .../test_accounts_settings.py | 1 + .../advance_taxes_and_charges.py | 2 + .../allowed_dimension/allowed_dimension.py | 2 + .../allowed_to_transact_with.py | 2 + .../applicable_on_account.py | 2 + erpnext/accounts/doctype/bank/bank.py | 8 +- erpnext/accounts/doctype/bank/test_bank.py | 2 +- .../doctype/bank_account/bank_account.py | 7 +- .../doctype/bank_account/test_bank_account.py | 6 +- .../bank_account_subtype.py | 2 + .../test_bank_account_subtype.py | 1 + .../bank_account_type/bank_account_type.py | 2 + .../test_bank_account_type.py | 1 + .../doctype/bank_clearance/bank_clearance.py | 5 +- .../bank_clearance/test_bank_clearance.py | 1 + .../bank_clearance_detail.py | 3 +- .../doctype/bank_guarantee/bank_guarantee.py | 8 +- .../bank_guarantee/test_bank_guarantee.py | 2 +- .../bank_reconciliation_tool.py | 10 +- .../test_bank_reconciliation_tool.py | 1 + .../bank_statement_import.py | 14 +-- .../test_bank_statement_import.py | 1 + .../bank_transaction/bank_transaction.py | 6 +- .../bank_transaction_upload.py | 5 +- .../bank_transaction/test_bank_transaction.py | 15 ++- .../bank_transaction_mapping.py | 2 + .../bank_transaction_payments.py | 2 + erpnext/accounts/doctype/budget/budget.py | 15 ++- .../accounts/doctype/budget/test_budget.py | 10 +- .../doctype/budget_account/budget_account.py | 3 +- erpnext/accounts/doctype/c_form/c_form.py | 4 +- .../accounts/doctype/c_form/test_c_form.py | 1 - .../c_form_invoice_detail.py | 3 +- .../doctype/campaign_item/campaign_item.py | 1 + .../cash_flow_mapper/cash_flow_mapper.py | 1 + .../cash_flow_mapping/cash_flow_mapping.py | 1 + .../test_cash_flow_mapping.py | 3 +- .../cash_flow_mapping_accounts.py | 1 + .../cash_flow_mapping_template.py | 1 + .../cash_flow_mapping_template_details.py | 1 + .../cashier_closing/cashier_closing.py | 6 +- .../cashier_closing/test_cashier_closing.py | 2 +- .../cashier_closing_payments.py | 3 +- .../chart_of_accounts_importer.py | 20 +++- .../test_chart_of_accounts_importer.py | 2 +- .../cheque_print_template.py | 4 +- .../test_cheque_print_template.py | 1 - .../closed_document/closed_document.py | 3 +- .../doctype/cost_center/cost_center.py | 4 +- .../doctype/cost_center/test_cost_center.py | 2 + .../doctype/coupon_code/coupon_code.py | 5 +- .../doctype/coupon_code/test_coupon_code.py | 6 +- .../customer_group_item.py | 1 + .../doctype/customer_item/customer_item.py | 1 + .../discounted_invoice/discounted_invoice.py | 2 + .../distributed_cost_center.py | 2 + erpnext/accounts/doctype/dunning/dunning.py | 12 ++- .../doctype/dunning/dunning_dashboard.py | 2 + .../accounts/doctype/dunning/test_dunning.py | 14 ++- .../dunning_letter_text.py | 2 + .../doctype/dunning_type/dunning_type.py | 2 + .../doctype/dunning_type/test_dunning_type.py | 1 + .../exchange_rate_revaluation.py | 10 +- .../exchange_rate_revaluation_dashboard.py | 1 + .../test_exchange_rate_revaluation.py | 2 +- .../exchange_rate_revaluation_account.py | 3 +- .../doctype/finance_book/finance_book.py | 3 +- .../doctype/finance_book/test_finance_book.py | 6 +- .../doctype/fiscal_year/fiscal_year.py | 9 +- .../doctype/fiscal_year/test_fiscal_year.py | 4 +- .../fiscal_year_company.py | 3 +- erpnext/accounts/doctype/gl_entry/gl_entry.py | 28 ++++-- .../doctype/gl_entry/test_gl_entry.py | 9 +- .../doctype/gst_account/gst_account.py | 3 +- .../invoice_discounting.py | 16 +++- .../invoice_discounting_dashboard.py | 2 + .../test_invoice_discounting.py | 12 ++- .../item_tax_template/item_tax_template.py | 4 +- .../test_item_tax_template.py | 2 +- .../item_tax_template_detail.py | 3 +- .../doctype/journal_entry/journal_entry.py | 35 ++++--- .../journal_entry/test_journal_entry.py | 9 +- .../journal_entry_account.py | 3 +- .../journal_entry_template.py | 2 + .../test_journal_entry_template.py | 1 + .../journal_entry_template_account.py | 2 + .../loyalty_point_entry.py | 1 + .../test_loyalty_point_entry.py | 2 +- .../loyalty_point_entry_redemption.py | 3 +- .../loyalty_program/loyalty_program.py | 5 +- .../loyalty_program_dashboard.py | 2 - .../loyalty_program/test_loyalty_program.py | 11 ++- .../loyalty_program_collection.py | 3 +- .../mode_of_payment/mode_of_payment.py | 5 +- .../mode_of_payment/test_mode_of_payment.py | 1 - .../mode_of_payment_account.py | 3 +- .../monthly_distribution.py | 4 +- .../test_monthly_distribution.py | 4 +- .../monthly_distribution_percentage.py | 3 +- .../opening_invoice_creation_tool.py | 11 ++- .../test_opening_invoice_creation_tool.py | 7 +- .../opening_invoice_creation_tool_item.py | 3 +- .../doctype/party_account/party_account.py | 3 +- .../accounts/doctype/party_link/party_link.py | 1 + .../doctype/party_link/test_party_link.py | 1 + .../doctype/payment_entry/payment_entry.py | 45 ++++++--- .../payment_entry/test_payment_entry.py | 26 ++++-- .../payment_entry_deduction.py | 3 +- .../payment_entry_reference.py | 3 +- .../payment_gateway_account.py | 2 + .../payment_gateway_account_dashboard.py | 2 - .../test_payment_gateway_account.py | 1 - .../doctype/payment_order/payment_order.py | 7 +- .../payment_order/payment_order_dashboard.py | 2 +- .../payment_order/test_payment_order.py | 10 +- .../payment_order_reference.py | 3 +- .../payment_reconciliation.py | 13 ++- .../test_payment_reconciliation.py | 1 + .../payment_reconciliation_allocation.py | 1 + .../payment_reconciliation_invoice.py | 3 +- .../payment_reconciliation_payment.py | 3 +- .../payment_request/payment_request.py | 17 +++- .../payment_request/test_payment_request.py | 6 +- .../payment_schedule/payment_schedule.py | 1 + .../doctype/payment_term/payment_term.py | 1 + .../doctype/payment_term/test_payment_term.py | 1 + .../payment_terms_template.py | 4 +- .../test_payment_terms_template.py | 1 + .../payment_terms_template_detail.py | 1 + .../period_closing_voucher.py | 11 ++- .../test_period_closing_voucher.py | 10 +- .../pos_closing_entry/pos_closing_entry.py | 12 ++- .../test_pos_closing_entry.py | 13 ++- .../pos_closing_entry_detail.py | 2 + .../pos_closing_entry_taxes.py | 2 + .../pos_customer_group/pos_customer_group.py | 3 +- .../accounts/doctype/pos_field/pos_field.py | 2 + .../doctype/pos_invoice/pos_invoice.py | 26 ++++-- .../doctype/pos_invoice/test_pos_invoice.py | 55 +++++++---- .../pos_invoice_item/pos_invoice_item.py | 2 + .../pos_invoice_merge_log.py | 12 ++- .../test_pos_invoice_merge_log.py | 15 ++- .../pos_invoice_reference.py | 2 + .../doctype/pos_item_group/pos_item_group.py | 3 +- .../pos_opening_entry/pos_opening_entry.py | 3 + .../test_pos_opening_entry.py | 4 +- .../pos_opening_entry_detail.py | 2 + .../pos_payment_method/pos_payment_method.py | 2 + .../doctype/pos_profile/pos_profile.py | 8 +- .../doctype/pos_profile/test_pos_profile.py | 6 +- .../pos_profile_user/pos_profile_user.py | 2 + .../pos_profile_user/test_pos_profile_user.py | 1 + .../pos_search_fields/pos_search_fields.py | 2 + .../doctype/pos_settings/pos_settings.py | 3 +- .../doctype/pos_settings/test_pos_settings.py | 1 + .../doctype/pricing_rule/pricing_rule.py | 24 +++-- .../doctype/pricing_rule/test_pricing_rule.py | 21 +++-- .../accounts/doctype/pricing_rule/utils.py | 8 +- .../pricing_rule_brand/pricing_rule_brand.py | 3 +- .../pricing_rule_detail.py | 3 +- .../pricing_rule_item_code.py | 3 +- .../pricing_rule_item_group.py | 3 +- .../process_deferred_accounting.py | 11 ++- .../test_process_deferred_accounting.py | 10 +- .../process_statement_of_accounts.py | 22 +++-- .../test_process_statement_of_accounts.py | 1 + .../process_statement_of_accounts_customer.py | 2 + .../promotional_scheme/promotional_scheme.py | 3 +- .../promotional_scheme_dashboard.py | 1 + .../test_promotional_scheme.py | 4 +- .../promotional_scheme_price_discount.py | 3 +- .../promotional_scheme_product_discount.py | 3 +- .../psoa_cost_center/psoa_cost_center.py | 2 + .../doctype/psoa_project/psoa_project.py | 2 + .../purchase_invoice/purchase_invoice.py | 52 +++++++---- .../purchase_invoice_dashboard.py | 2 + .../purchase_invoice/test_purchase_invoice.py | 45 +++++---- .../purchase_invoice_advance.py | 2 +- .../purchase_invoice_item.py | 2 +- .../purchase_taxes_and_charges.py | 2 +- .../purchase_taxes_and_charges_template.py | 8 +- ...est_purchase_taxes_and_charges_template.py | 1 - .../salary_component_account.py | 3 +- .../doctype/sales_invoice/sales_invoice.py | 78 ++++++++++------ .../sales_invoice/sales_invoice_dashboard.py | 2 + .../sales_invoice/test_sales_invoice.py | 90 ++++++++++-------- .../sales_invoice_advance.py | 2 +- .../sales_invoice_item/sales_invoice_item.py | 2 +- .../sales_invoice_payment.py | 3 +- .../sales_invoice_timesheet.py | 3 +- .../sales_partner_item/sales_partner_item.py | 1 + .../sales_taxes_and_charges.py | 2 +- .../sales_taxes_and_charges_template.py | 12 ++- .../test_sales_taxes_and_charges_template.py | 3 +- .../doctype/share_balance/share_balance.py | 3 +- .../doctype/share_transfer/share_transfer.py | 6 +- .../share_transfer/test_share_transfer.py | 4 +- .../accounts/doctype/share_type/share_type.py | 3 +- .../doctype/share_type/test_share_type.py | 2 +- .../doctype/shareholder/shareholder.py | 8 +- .../shareholder/shareholder_dashboard.py | 2 - .../doctype/shareholder/test_shareholder.py | 2 +- .../doctype/shipping_rule/shipping_rule.py | 8 +- .../shipping_rule/test_shipping_rule.py | 10 +- .../shipping_rule_condition.py | 2 +- .../shipping_rule_country.py | 3 +- .../south_africa_vat_account.py | 1 + .../doctype/subscription/subscription.py | 22 ++++- .../doctype/subscription/test_subscription.py | 13 ++- .../subscription_invoice.py | 2 + .../test_subscription_invoice.py | 1 + .../subscription_plan/subscription_plan.py | 5 +- .../test_subscription_plan.py | 1 + .../subscription_plan_detail.py | 2 + .../subscription_settings.py | 2 + .../test_subscription_settings.py | 1 + .../supplier_group_item.py | 1 + .../doctype/supplier_item/supplier_item.py | 1 + .../doctype/tax_category/tax_category.py | 3 +- .../doctype/tax_category/test_tax_category.py | 2 +- erpnext/accounts/doctype/tax_rule/tax_rule.py | 18 ++-- .../doctype/tax_rule/test_tax_rule.py | 9 +- .../tax_withholding_account.py | 3 +- .../tax_withholding_category.py | 5 +- .../tax_withholding_category_dashboard.py | 2 - .../test_tax_withholding_category.py | 5 +- .../tax_withholding_rate.py | 3 +- .../doctype/territory_item/territory_item.py | 1 + erpnext/accounts/general_ledger.py | 12 ++- .../notification_for_new_fiscal_year.py | 1 + erpnext/accounts/party.py | 39 +++++--- .../report/account_balance/account_balance.py | 3 + .../account_balance/test_account_balance.py | 7 +- .../accounts_payable/accounts_payable.py | 3 +- .../accounts_payable_summary.py | 8 +- .../accounts_receivable.py | 14 ++- .../test_accounts_receivable.py | 13 ++- .../accounts_receivable_summary.py | 7 +- .../asset_depreciation_ledger.py | 6 +- .../asset_depreciations_and_balances.py | 3 +- .../report/balance_sheet/balance_sheet.py | 13 ++- .../bank_clearance_summary.py | 4 +- .../bank_reconciliation_statement.py | 4 +- .../billed_items_to_be_received.py | 2 + .../budget_variance_report.py | 3 +- .../accounts/report/cash_flow/cash_flow.py | 15 ++- .../report/cash_flow/custom_cash_flow.py | 8 +- .../consolidated_financial_statement.py | 38 ++++++-- .../customer_ledger_summary.py | 3 +- .../delivered_items_to_be_billed.py | 4 +- .../dimension_wise_accounts_balance_report.py | 15 ++- .../accounts/report/financial_statements.py | 20 ++-- .../report/general_ledger/general_ledger.py | 25 +++-- .../gross_and_net_profit_report.py | 8 +- .../report/gross_profit/gross_profit.py | 74 +++++++-------- .../inactive_sales_items.py | 4 +- .../item_wise_purchase_register.py | 17 +++- .../item_wise_sales_register.py | 12 ++- erpnext/accounts/report/non_billed_report.py | 6 +- .../payment_period_based_on_invoice_date.py | 4 +- .../report/pos_register/pos_register.py | 6 +- .../profit_and_loss_statement.py | 11 ++- .../profitability_analysis.py | 9 +- .../purchase_invoice_trends.py | 5 +- .../purchase_register/purchase_register.py | 10 +- .../received_items_to_be_billed.py | 4 +- .../sales_invoice_trends.py | 5 +- .../sales_payment_summary.py | 1 + .../test_sales_payment_summary.py | 8 +- .../report/sales_register/sales_register.py | 12 ++- .../report/share_balance/share_balance.py | 4 +- .../report/share_ledger/share_ledger.py | 5 +- .../supplier_ledger_summary.py | 7 +- .../accounts/report/tax_detail/tax_detail.py | 4 +- .../report/tax_detail/test_tax_detail.py | 18 +++- .../tds_computation_summary.py | 9 +- .../tds_payable_monthly.py | 3 +- .../report/trial_balance/trial_balance.py | 19 +++- .../trial_balance_for_party.py | 5 +- .../unpaid_expense_claim.py | 2 + erpnext/accounts/report/utils.py | 6 +- erpnext/accounts/test/test_utils.py | 5 +- erpnext/accounts/utils.py | 21 +++-- .../agriculture_analysis_criteria.py | 3 +- .../test_agriculture_analysis_criteria.py | 2 +- .../agriculture_task/agriculture_task.py | 3 +- .../agriculture_task/test_agriculture_task.py | 2 +- .../doctype/crop/crop_dashboard.py | 2 + erpnext/agriculture/doctype/crop/test_crop.py | 3 +- .../detected_disease/detected_disease.py | 3 +- .../agriculture/doctype/disease/disease.py | 2 + .../doctype/disease/test_disease.py | 4 +- .../doctype/fertilizer/fertilizer.py | 2 + .../doctype/fertilizer/test_fertilizer.py | 4 +- .../fertilizer_content/fertilizer_content.py | 3 +- .../linked_location/linked_location.py | 3 +- .../linked_plant_analysis.py | 3 +- .../linked_soil_analysis.py | 3 +- .../linked_soil_texture.py | 3 +- .../doctype/plant_analysis/plant_analysis.py | 3 +- .../plant_analysis/test_plant_analysis.py | 2 +- .../plant_analysis_criteria.py | 3 +- .../doctype/soil_analysis/soil_analysis.py | 2 + .../soil_analysis/test_soil_analysis.py | 2 +- .../soil_analysis_criteria.py | 3 +- .../doctype/soil_texture/soil_texture.py | 4 +- .../doctype/soil_texture/test_soil_texture.py | 4 +- .../soil_texture_criteria.py | 3 +- .../water_analysis/test_water_analysis.py | 2 +- .../doctype/water_analysis/water_analysis.py | 2 + .../water_analysis_criteria.py | 3 +- .../doctype/weather/test_weather.py | 2 +- .../agriculture/doctype/weather/weather.py | 2 + .../weather_parameter/weather_parameter.py | 3 +- erpnext/assets/dashboard_fixtures.py | 7 +- erpnext/assets/doctype/asset/asset.py | 34 +++++-- .../assets/doctype/asset/asset_dashboard.py | 1 + erpnext/assets/doctype/asset/depreciation.py | 9 +- erpnext/assets/doctype/asset/test_asset.py | 21 +++-- .../doctype/asset_category/asset_category.py | 4 +- .../asset_category/test_asset_category.py | 4 +- .../asset_category_account.py | 3 +- .../asset_finance_book/asset_finance_book.py | 3 +- .../asset_maintenance/asset_maintenance.py | 6 +- .../test_asset_maintenance.py | 9 +- .../asset_maintenance_log.py | 7 +- .../test_asset_maintenance_log.py | 1 + .../asset_maintenance_task.py | 3 +- .../asset_maintenance_team.py | 3 +- .../test_asset_maintenance_team.py | 1 + .../doctype/asset_movement/asset_movement.py | 2 + .../asset_movement/test_asset_movement.py | 10 +- .../asset_movement_item.py | 2 + .../doctype/asset_repair/asset_repair.py | 5 +- .../doctype/asset_repair/test_asset_repair.py | 16 +++- .../asset_repair_consumed_item.py | 1 + .../asset_value_adjustment.py | 11 ++- .../test_asset_value_adjustment.py | 11 ++- .../depreciation_schedule.py | 3 +- .../linked_location/linked_location.py | 3 +- erpnext/assets/doctype/location/location.py | 2 - .../maintenance_team_member.py | 3 +- .../test_maintenance_team_member.py | 1 + .../fixed_asset_register.py | 11 ++- .../buying_settings/buying_settings.py | 3 +- .../buying_settings/test_buying_settings.py | 1 + .../doctype/purchase_order/purchase_order.py | 33 ++++--- .../purchase_order_dashboard.py | 2 + .../purchase_order/test_purchase_order.py | 64 ++++++++----- .../purchase_order_item.py | 3 +- .../purchase_order_item_supplied.py | 2 +- .../purchase_receipt_item_supplied.py | 2 +- .../request_for_quotation.py | 27 +++--- .../request_for_quotation_dashboard.py | 2 +- .../test_request_for_quotation.py | 12 ++- .../request_for_quotation_item.py | 3 +- .../request_for_quotation_supplier.py | 3 +- erpnext/buying/doctype/supplier/supplier.py | 14 ++- .../buying/doctype/supplier/test_supplier.py | 6 +- .../supplier_item_group.py | 2 + .../test_supplier_item_group.py | 1 + .../supplier_quotation/supplier_quotation.py | 5 +- .../supplier_quotation_dashboard.py | 2 + .../test_supplier_quotation.py | 4 +- .../supplier_quotation_item.py | 2 +- .../supplier_scorecard/supplier_scorecard.py | 16 +++- .../supplier_scorecard_dashboard.py | 2 + .../test_supplier_scorecard.py | 4 +- .../supplier_scorecard_criteria.py | 5 +- .../test_supplier_scorecard_criteria.py | 4 +- .../supplier_scorecard_period.py | 9 +- .../test_supplier_scorecard_period.py | 1 + .../supplier_scorecard_scoring_criteria.py | 2 + .../supplier_scorecard_scoring_standing.py | 2 + .../supplier_scorecard_scoring_variable.py | 2 + .../supplier_scorecard_standing.py | 2 + .../test_supplier_scorecard_standing.py | 1 + .../supplier_scorecard_variable.py | 9 +- .../test_supplier_scorecard_variable.py | 7 +- .../procurement_tracker.py | 2 + .../test_procurement_tracker.py | 10 +- .../purchase_analytics/purchase_analytics.py | 2 + .../purchase_order_analysis.py | 7 +- .../purchase_order_trends.py | 6 +- .../requested_items_to_order_and_receive.py | 7 +- .../subcontract_order_summary.py | 2 + .../subcontracted_item_to_be_received.py | 2 + .../test_subcontracted_item_to_be_received.py | 14 ++- ...tracted_raw_materials_to_be_transferred.py | 2 + ...tracted_raw_materials_to_be_transferred.py | 14 ++- .../supplier_quotation_comparison.py | 10 +- erpnext/buying/utils.py | 12 ++- erpnext/commands/__init__.py | 6 +- .../communication_medium.py | 2 + .../communication_medium_timeslot.py | 2 + erpnext/config/education.py | 2 + erpnext/config/projects.py | 2 + erpnext/controllers/accounts_controller.py | 74 +++++++++++---- erpnext/controllers/buying_controller.py | 17 ++-- .../employee_boarding_controller.py | 6 +- erpnext/controllers/item_variant.py | 7 +- erpnext/controllers/print_settings.py | 3 +- erpnext/controllers/queries.py | 21 +++-- .../controllers/sales_and_purchase_return.py | 9 +- erpnext/controllers/selling_controller.py | 21 +++-- erpnext/controllers/status_updater.py | 4 +- erpnext/controllers/stock_controller.py | 7 +- erpnext/controllers/subcontracting.py | 9 +- erpnext/controllers/taxes_and_totals.py | 18 +++- .../controllers/tests/test_item_variant.py | 13 ++- erpnext/controllers/tests/test_mapper.py | 10 +- .../controllers/tests/test_qty_based_taxes.py | 7 +- erpnext/controllers/trends.py | 4 +- .../controllers/website_list_for_contact.py | 3 + .../crm/doctype/appointment/appointment.py | 4 +- .../doctype/appointment/test_appointment.py | 5 +- .../appointment_booking_settings.py | 4 +- .../test_appointment_booking_settings.py | 1 + .../appointment_booking_slots.py | 2 + .../availability_of_slots.py | 2 + erpnext/crm/doctype/campaign/campaign.py | 1 + erpnext/crm/doctype/campaign/test_campaign.py | 1 + .../campaign_email_schedule.py | 2 + erpnext/crm/doctype/contract/contract.py | 2 +- erpnext/crm/doctype/contract/test_contract.py | 1 + .../contract_fulfilment_checklist.py | 3 +- .../test_contract_fulfilment_checklist.py | 2 +- .../contract_template/contract_template.py | 5 +- .../test_contract_template.py | 2 +- .../contract_template_fulfilment_terms.py | 3 +- .../doctype/email_campaign/email_campaign.py | 6 +- .../email_campaign/test_email_campaign.py | 1 + erpnext/crm/doctype/lead/lead.py | 16 +++- erpnext/crm/doctype/lead/lead_dashboard.py | 2 +- erpnext/crm/doctype/lead/test_lead.py | 3 +- .../crm/doctype/lead_source/lead_source.py | 2 + .../doctype/lead_source/test_lead_source.py | 1 + .../linkedin_settings/linkedin_settings.py | 4 +- .../test_linkedin_settings.py | 1 + .../lost_reason_detail/lost_reason_detail.py | 2 + .../doctype/market_segment/market_segment.py | 3 +- .../market_segment/test_market_segment.py | 2 +- .../crm/doctype/opportunity/opportunity.py | 15 ++- .../opportunity/opportunity_dashboard.py | 2 +- .../doctype/opportunity/test_opportunity.py | 6 +- .../opportunity_item/opportunity_item.py | 3 +- .../opportunity_lost_reason.py | 2 + .../opportunity_lost_reason_detail.py | 2 + .../opportunity_type/opportunity_type.py | 3 +- .../opportunity_type/test_opportunity_type.py | 2 +- erpnext/crm/doctype/prospect/prospect.py | 3 +- erpnext/crm/doctype/prospect/test_prospect.py | 6 +- .../doctype/prospect_lead/prospect_lead.py | 1 + .../crm/doctype/sales_stage/sales_stage.py | 3 +- .../doctype/sales_stage/test_sales_stage.py | 2 +- .../social_media_post/social_media_post.py | 9 +- .../test_social_media_post.py | 1 + .../twitter_settings/test_twitter_settings.py | 1 + .../twitter_settings/twitter_settings.py | 9 +- erpnext/crm/doctype/utils.py | 4 +- .../campaign_efficiency.py | 2 + .../first_response_time_for_opportunity.py | 2 + .../lead_conversion_time.py | 2 + .../crm/report/lead_details/lead_details.py | 4 +- .../lead_owner_efficiency.py | 4 +- .../lost_opportunity/lost_opportunity.py | 4 +- .../prospects_engaged_but_not_converted.py | 2 + erpnext/demo/demo.py | 13 ++- erpnext/demo/setup/education.py | 12 ++- erpnext/demo/setup/healthcare.py | 10 +- erpnext/demo/setup/manufacture.py | 13 ++- erpnext/demo/setup/retail.py | 8 +- erpnext/demo/setup/setup_data.py | 19 ++-- erpnext/demo/user/accounts.py | 16 +++- erpnext/demo/user/education.py | 16 +++- erpnext/demo/user/fixed_asset.py | 1 + erpnext/demo/user/hr.py | 24 +++-- erpnext/demo/user/manufacturing.py | 19 ++-- erpnext/demo/user/projects.py | 7 +- erpnext/demo/user/purchase.py | 17 +++- erpnext/demo/user/sales.py | 14 ++- erpnext/demo/user/stock.py | 24 +++-- erpnext/education/__init__.py | 2 + erpnext/education/api.py | 9 +- .../doctype/academic_term/academic_term.py | 4 +- .../academic_term/academic_term_dashboard.py | 2 + .../academic_term/test_academic_term.py | 1 - .../doctype/academic_year/academic_year.py | 4 +- .../academic_year/academic_year_dashboard.py | 2 + .../academic_year/test_academic_year.py | 1 - erpnext/education/doctype/article/article.py | 2 + .../education/doctype/article/test_article.py | 2 +- .../assessment_criteria.py | 1 + .../test_assessment_criteria.py | 1 - .../assessment_criteria_group.py | 3 +- .../test_assessment_criteria_group.py | 1 - .../assessment_group/assessment_group.py | 3 +- .../assessment_group_dashboard.py | 2 + .../assessment_group/test_assessment_group.py | 1 - .../assessment_plan/assessment_plan.py | 4 +- .../assessment_plan_dashboard.py | 2 + .../assessment_plan/test_assessment_plan.py | 1 - .../assessment_plan_criteria.py | 3 +- .../assessment_result/assessment_result.py | 8 +- .../assessment_result_dashboard.py | 2 + .../test_assessment_result.py | 2 +- .../assessment_result_detail.py | 3 +- .../assessment_result_tool.py | 3 +- .../test_assessment_result_tool.py | 2 +- .../content_activity/content_activity.py | 3 +- .../content_question/content_question.py | 3 +- .../content_question/test_content_question.py | 2 +- erpnext/education/doctype/course/course.py | 7 +- .../doctype/course/course_dashboard.py | 2 + .../education/doctype/course/test_course.py | 7 +- .../course_activity/course_activity.py | 2 + .../course_activity/test_course_activity.py | 4 +- .../course_assessment_criteria.py | 3 +- .../doctype/course_content/course_content.py | 3 +- .../course_content/test_course_content.py | 2 +- .../course_enrollment/course_enrollment.py | 5 +- .../course_enrollment_dashboard.py | 2 + .../test_course_enrollment.py | 8 +- .../course_schedule/course_schedule.py | 2 + .../course_schedule_dashboard.py | 2 + .../course_schedule/test_course_schedule.py | 8 +- .../course_scheduling_tool.py | 5 +- .../test_course_scheduling_tool.py | 2 +- .../doctype/course_topic/course_topic.py | 3 +- .../doctype/course_topic/test_course_topic.py | 2 +- .../education_settings/education_settings.py | 1 + .../test_education_settings.py | 2 +- .../doctype/fee_category/fee_category.py | 3 +- .../doctype/fee_category/test_fee_category.py | 1 - .../doctype/fee_component/fee_component.py | 3 +- .../doctype/fee_schedule/fee_schedule.py | 10 +- .../fee_schedule/fee_schedule_dashboard.py | 1 + .../doctype/fee_schedule/test_fee_schedule.py | 1 + .../fee_schedule_program.py | 2 + .../fee_schedule_student_group.py | 2 + .../doctype/fee_structure/fee_structure.py | 1 + .../fee_structure/fee_structure_dashboard.py | 2 + .../fee_structure/test_fee_structure.py | 1 - erpnext/education/doctype/fees/fees.py | 10 +- erpnext/education/doctype/fees/test_fees.py | 4 +- .../doctype/grading_scale/grading_scale.py | 4 +- .../grading_scale/grading_scale_dashboard.py | 2 + .../grading_scale/test_grading_scale.py | 1 - .../grading_scale_interval.py | 3 +- .../education/doctype/guardian/guardian.py | 2 + .../doctype/guardian/test_guardian.py | 1 - .../guardian_interest/guardian_interest.py | 3 +- .../guardian_student/guardian_student.py | 3 +- .../doctype/instructor/instructor.py | 2 + .../instructor/instructor_dashboard.py | 2 + .../doctype/instructor/test_instructor.py | 1 - .../doctype/instructor_log/instructor_log.py | 3 +- erpnext/education/doctype/options/options.py | 3 +- erpnext/education/doctype/program/program.py | 2 + .../doctype/program/program_dashboard.py | 1 + .../education/doctype/program/test_program.py | 9 +- .../doctype/program_course/program_course.py | 3 +- .../program_enrollment/program_enrollment.py | 7 +- .../program_enrollment_dashboard.py | 2 + .../test_program_enrollment.py | 8 +- .../program_enrollment_course.py | 3 +- .../program_enrollment_fee.py | 3 +- .../program_enrollment_tool.py | 5 +- .../test_program_enrollment_tool.py | 2 +- .../program_enrollment_tool_student.py | 3 +- .../doctype/program_fee/program_fee.py | 3 +- .../education/doctype/question/question.py | 2 + .../doctype/question/test_question.py | 2 +- erpnext/education/doctype/quiz/quiz.py | 3 +- erpnext/education/doctype/quiz/test_quiz.py | 2 +- .../doctype/quiz_activity/quiz_activity.py | 3 +- .../quiz_activity/test_quiz_activity.py | 2 +- .../doctype/quiz_question/quiz_question.py | 3 +- .../doctype/quiz_result/quiz_result.py | 3 +- .../doctype/quiz_result/test_quiz_result.py | 2 +- erpnext/education/doctype/room/room.py | 3 +- .../education/doctype/room/room_dashboard.py | 2 + erpnext/education/doctype/room/test_room.py | 1 - .../doctype/school_house/school_house.py | 3 +- .../doctype/school_house/test_school_house.py | 2 +- erpnext/education/doctype/student/student.py | 8 +- .../doctype/student/student_dashboard.py | 2 + .../education/doctype/student/test_student.py | 8 +- .../student_admission/student_admission.py | 1 + .../test_student_admission.py | 1 - .../student_admission_program.py | 2 + .../student_applicant/student_applicant.py | 4 +- .../test_student_applicant.py | 1 - .../student_attendance/student_attendance.py | 7 +- .../student_attendance_dashboard.py | 2 + .../test_student_attendance.py | 1 - .../student_attendance_tool.py | 2 + .../test_student_attendance_tool.py | 2 +- .../student_batch_name/student_batch_name.py | 3 +- .../test_student_batch_name.py | 1 - .../student_category/student_category.py | 3 +- .../student_category_dashboard.py | 2 + .../student_category/test_student_category.py | 1 - .../doctype/student_group/student_group.py | 7 +- .../student_group/student_group_dashboard.py | 2 + .../student_group/test_student_group.py | 5 +- .../student_group_creation_tool.py | 3 + .../test_student_group_creation_tool.py | 2 +- .../student_group_creation_tool_course.py | 3 +- .../student_group_instructor.py | 3 +- .../student_group_student.py | 3 +- .../student_guardian/student_guardian.py | 3 +- .../student_language/student_language.py | 3 +- .../student_language/test_student_language.py | 1 - .../student_leave_application.py | 12 ++- .../student_leave_application_dashboard.py | 1 + .../test_student_leave_application.py | 9 +- .../doctype/student_log/student_log.py | 3 +- .../doctype/student_log/test_student_log.py | 1 - .../student_report_generation_tool.py | 13 ++- .../test_student_report_generation_tool.py | 2 +- .../student_sibling/student_sibling.py | 3 +- .../student_siblings/student_siblings.py | 3 +- erpnext/education/doctype/topic/test_topic.py | 4 +- erpnext/education/doctype/topic/topic.py | 5 +- .../topic_content/test_topic_content.py | 2 +- .../doctype/topic_content/topic_content.py | 3 +- .../absent_student_report.py | 5 +- .../assessment_plan_status.py | 4 +- .../course_wise_assessment_report.py | 6 +- .../final_assessment_grades.py | 12 ++- .../program_wise_fee_collection.py | 2 + .../student_and_guardian_contact_details.py | 1 + .../student_batch_wise_attendance.py | 5 +- .../student_monthly_attendance_sheet.py | 8 +- erpnext/education/utils.py | 4 +- .../student_applicant/student_applicant.py | 1 - .../connectors/woocommerce_connection.py | 11 ++- .../issue_to_task/__init__.py | 2 + .../milestone_to_project/__init__.py | 1 + .../amazon_mws_settings/amazon_methods.py | 14 ++- .../amazon_mws_settings/amazon_mws_api.py | 14 +-- .../amazon_mws_settings.py | 7 +- .../test_amazon_mws_settings.py | 1 + .../doctype/amazon_mws_settings/xml_utils.py | 2 +- .../exotel_settings/exotel_settings.py | 6 +- .../gocardless_mandate/gocardless_mandate.py | 2 + .../test_gocardless_mandate.py | 1 + .../doctype/gocardless_settings/__init__.py | 9 +- .../gocardless_settings.py | 8 +- .../test_gocardless_settings.py | 1 + .../doctype/mpesa_settings/mpesa_connector.py | 4 +- .../mpesa_settings/mpesa_custom_fields.py | 1 + .../doctype/mpesa_settings/mpesa_settings.py | 26 ++++-- .../mpesa_settings/test_mpesa_settings.py | 13 ++- .../doctype/plaid_settings/plaid_connector.py | 5 +- .../doctype/plaid_settings/plaid_settings.py | 7 +- .../plaid_settings/test_plaid_settings.py | 11 ++- .../quickbooks_migrator.py | 13 ++- .../test_quickbooks_migrator.py | 2 +- .../tally_migration/tally_migration.py | 14 +-- .../tally_migration/test_tally_migration.py | 2 +- .../taxjar_settings/taxjar_settings.py | 2 + .../taxjar_settings/test_taxjar_settings.py | 1 + .../test_woocommerce_settings.py | 1 + .../woocommerce_settings.py | 8 +- .../stripe_integration.py | 3 +- .../taxjar_integration.py | 4 +- erpnext/erpnext_integrations/utils.py | 8 +- erpnext/exceptions.py | 2 + .../department_wise_patient_appointments.py | 2 + .../doctype/antibiotic/antibiotic.py | 2 + .../doctype/antibiotic/test_antibiotic.py | 2 + .../appointment_type/appointment_type.py | 4 +- .../appointment_type_dashboard.py | 2 + .../appointment_type_service_item.py | 2 + .../healthcare/doctype/body_part/body_part.py | 2 + .../doctype/body_part/test_body_part.py | 1 + .../doctype/body_part_link/body_part_link.py | 2 + .../clinical_procedure/clinical_procedure.py | 9 +- .../test_clinical_procedure.py | 7 +- .../clinical_procedure_item.py | 2 + .../clinical_procedure_template.py | 6 +- .../clinical_procedure_template_dashboard.py | 2 + .../test_clinical_procedure_template.py | 2 + .../codification_table/codification_table.py | 2 + .../healthcare/doctype/complaint/complaint.py | 2 + .../doctype/complaint/test_complaint.py | 2 + .../descriptive_test_result.py | 2 + .../descriptive_test_template.py | 2 + .../healthcare/doctype/diagnosis/diagnosis.py | 2 + .../doctype/dosage_form/dosage_form.py | 2 + .../doctype/dosage_form/test_dosage_form.py | 1 + .../dosage_strength/dosage_strength.py | 2 + .../drug_prescription/drug_prescription.py | 2 + .../healthcare/doctype/exercise/exercise.py | 2 + .../exercise_difficulty_level.py | 2 + .../test_exercise_difficulty_level.py | 1 + .../doctype/exercise_type/exercise_type.py | 2 + .../exercise_type/test_exercise_type.py | 1 + .../exercise_type_step/exercise_type_step.py | 2 + .../doctype/fee_validity/fee_validity.py | 9 +- .../doctype/fee_validity/test_fee_validity.py | 12 ++- .../fee_validity_reference.py | 2 + erpnext/healthcare/doctype/healthcare.py | 1 + .../healthcare_practitioner.py | 13 ++- .../healthcare_practitioner_dashboard.py | 2 + .../test_healthcare_practitioner.py | 2 + .../healthcare_schedule_time_slot.py | 2 + .../healthcare_service_unit.py | 7 +- .../test_healthcare_service_unit.py | 1 + .../healthcare_service_unit_type.py | 2 + .../healthcare_service_unit_type_dashboard.py | 2 + .../test_healthcare_service_unit_type.py | 3 + .../healthcare_settings.py | 7 +- .../test_healthcare_settings.py | 2 + .../inpatient_medication_entry.py | 7 +- .../inpatient_medication_entry_dashboard.py | 2 + .../test_inpatient_medication_entry.py | 28 +++++- .../inpatient_medication_entry_detail.py | 2 + .../inpatient_medication_order.py | 3 + .../test_inpatient_medication_order.py | 18 +++- .../inpatient_medication_order_entry.py | 2 + .../inpatient_occupancy.py | 2 + .../inpatient_record/inpatient_record.py | 10 +- .../inpatient_record_dashboard.py | 2 + .../inpatient_record/test_inpatient_record.py | 11 ++- .../lab_prescription/lab_prescription.py | 2 + .../healthcare/doctype/lab_test/lab_test.py | 4 +- .../doctype/lab_test/test_lab_test.py | 15 ++- .../lab_test_group_template.py | 2 + .../lab_test_sample/lab_test_sample.py | 2 + .../lab_test_sample/test_lab_test_sample.py | 2 + .../lab_test_template/lab_test_template.py | 8 +- .../lab_test_template_dashboard.py | 2 + .../test_lab_test_template.py | 1 + .../doctype/lab_test_uom/lab_test_uom.py | 2 + .../doctype/lab_test_uom/test_lab_test_uom.py | 1 + .../doctype/medical_code/medical_code.py | 2 + .../doctype/medical_code/test_medical_code.py | 2 + .../medical_code_standard.py | 2 + .../test_medical_code_standard.py | 2 + .../medical_department/medical_department.py | 2 + .../test_medical_department.py | 1 + .../normal_test_result/normal_test_result.py | 2 + .../normal_test_template.py | 2 + .../healthcare/doctype/organism/organism.py | 2 + .../doctype/organism/test_organism.py | 2 + .../organism_test_item/organism_test_item.py | 2 + .../organism_test_result.py | 2 + erpnext/healthcare/doctype/patient/patient.py | 15 ++- .../doctype/patient/patient_dashboard.py | 2 + .../doctype/patient/test_patient.py | 3 + .../patient_appointment.py | 31 +++++-- .../patient_appointment_dashboard.py | 2 + .../test_patient_appointment.py | 44 +++++++-- .../patient_assessment/patient_assessment.py | 2 + .../test_patient_assessment.py | 1 + .../patient_assessment_detail.py | 2 + .../patient_assessment_parameter.py | 2 + .../test_patient_assessment_parameter.py | 1 + .../patient_assessment_sheet.py | 2 + .../patient_assessment_template.py | 2 + .../test_patient_assessment_template.py | 1 + .../patient_encounter/patient_encounter.py | 3 +- .../patient_encounter_dashboard.py | 2 + .../test_patient_encounter.py | 2 + .../patient_encounter_diagnosis.py | 2 + .../patient_encounter_symptom.py | 2 + .../patient_history_custom_document_type.py | 2 + .../patient_history_settings.py | 8 +- .../test_patient_history_settings.py | 7 +- .../patient_history_standard_document_type.py | 2 + .../patient_medical_record.py | 2 + .../test_patient_medical_record.py | 11 ++- .../patient_relation/patient_relation.py | 2 + .../practitioner_schedule.py | 2 + .../test_practitioner_schedule.py | 2 + .../practitioner_service_unit_schedule.py | 2 + .../prescription_dosage.py | 2 + .../test_prescription_dosage.py | 2 + .../prescription_duration.py | 2 + .../test_prescription_duration.py | 2 + .../procedure_prescription.py | 2 + .../sample_collection/sample_collection.py | 4 +- .../doctype/sensitivity/sensitivity.py | 2 + .../doctype/sensitivity/test_sensitivity.py | 1 + .../sensitivity_test_result.py | 2 + .../doctype/therapy_plan/test_therapy_plan.py | 20 +++- .../doctype/therapy_plan/therapy_plan.py | 2 + .../therapy_plan/therapy_plan_dashboard.py | 2 + .../therapy_plan_detail.py | 2 + .../test_therapy_plan_template.py | 1 + .../therapy_plan_template.py | 3 + .../therapy_plan_template_dashboard.py | 2 + .../therapy_plan_template_detail.py | 2 + .../therapy_session/test_therapy_session.py | 1 + .../therapy_session/therapy_session.py | 18 ++-- .../therapy_session_dashboard.py | 2 + .../doctype/therapy_type/test_therapy_type.py | 4 +- .../doctype/therapy_type/therapy_type.py | 7 +- .../test_treatment_plan_template.py | 1 + .../treatment_plan_template.py | 1 + .../treatment_plan_template_item.py | 1 + .../treatment_plan_template_practitioner.py | 1 + .../doctype/vital_signs/test_vital_signs.py | 1 + .../doctype/vital_signs/vital_signs.py | 5 +- .../page/patient_history/patient_history.py | 6 +- .../page/patient_progress/patient_progress.py | 10 +- .../inpatient_medication_orders.py | 7 +- .../test_inpatient_medication_orders.py | 30 ++++-- .../report/lab_test_report/lab_test_report.py | 4 +- .../patient_appointment_analytics.py | 9 +- erpnext/healthcare/utils.py | 16 +++- .../healthcare/web_form/lab_test/lab_test.py | 1 + .../patient_appointments.py | 1 + .../patient_registration.py | 1 + .../web_form/prescription/prescription.py | 1 + erpnext/hooks.py | 1 + .../hotels/doctype/hotel_room/hotel_room.py | 2 + .../doctype/hotel_room/test_hotel_room.py | 2 +- .../hotel_room_amenity/hotel_room_amenity.py | 3 +- .../hotel_room_package/hotel_room_package.py | 2 + .../test_hotel_room_package.py | 2 +- .../hotel_room_pricing/hotel_room_pricing.py | 3 +- .../test_hotel_room_pricing.py | 2 +- .../hotel_room_pricing_item.py | 3 +- .../hotel_room_pricing_package.py | 3 +- .../test_hotel_room_pricing_package.py | 2 +- .../hotel_room_reservation.py | 10 +- .../test_hotel_room_reservation.py | 10 +- .../hotel_room_reservation_item.py | 3 +- .../hotel_room_type/hotel_room_type.py | 3 +- .../hotel_room_type/test_hotel_room_type.py | 2 +- .../doctype/hotel_settings/hotel_settings.py | 3 +- .../hotel_settings/test_hotel_settings.py | 2 +- .../hotel_room_occupancy.py | 2 + .../appointment_letter/appointment_letter.py | 2 + .../test_appointment_letter.py | 1 + .../appointment_letter_content.py | 2 + .../appointment_letter_template.py | 2 + .../test_appointment_letter_template.py | 1 + erpnext/hr/doctype/appraisal/appraisal.py | 9 +- .../hr/doctype/appraisal/test_appraisal.py | 1 - .../doctype/appraisal_goal/appraisal_goal.py | 2 +- .../appraisal_template/appraisal_template.py | 7 +- .../appraisal_template_dashboard.py | 2 +- .../test_appraisal_template.py | 1 - .../appraisal_template_goal.py | 2 +- erpnext/hr/doctype/attendance/attendance.py | 8 +- .../attendance/attendance_dashboard.py | 2 +- .../hr/doctype/attendance/test_attendance.py | 3 +- .../attendance_request/attendance_request.py | 7 +- .../attendance_request_dashboard.py | 1 + .../test_attendance_request.py | 5 +- erpnext/hr/doctype/branch/branch.py | 2 +- erpnext/hr/doctype/branch/test_branch.py | 2 +- .../compensatory_leave_request.py | 15 ++- .../test_compensatory_leave_request.py | 8 +- .../daily_work_summary/daily_work_summary.py | 6 +- .../test_daily_work_summary.py | 6 +- .../daily_work_summary_group.py | 5 +- .../daily_work_summary_group_user.py | 3 +- erpnext/hr/doctype/department/department.py | 4 +- .../hr/doctype/department/test_department.py | 4 +- .../department_approver.py | 2 + erpnext/hr/doctype/designation/designation.py | 2 +- .../doctype/designation/test_designation.py | 2 +- .../designation_skill/designation_skill.py | 2 + erpnext/hr/doctype/driver/driver.py | 2 + erpnext/hr/doctype/driver/test_driver.py | 1 + .../driving_license_category.py | 2 + erpnext/hr/doctype/employee/employee.py | 18 ++-- .../hr/doctype/employee/employee_dashboard.py | 2 + .../hr/doctype/employee/employee_reminders.py | 4 +- erpnext/hr/doctype/employee/test_employee.py | 10 +- .../employee/test_employee_reminders.py | 21 +++-- .../employee_advance/employee_advance.py | 6 +- .../employee_advance_dashboard.py | 2 +- .../employee_advance/test_employee_advance.py | 12 ++- .../employee_attendance_tool.py | 4 +- .../employee_boarding_activity.py | 3 +- .../employee_checkin/employee_checkin.py | 14 ++- .../employee_checkin/test_employee_checkin.py | 12 ++- .../employee_education/employee_education.py | 2 +- .../employee_external_work_history.py | 2 +- .../doctype/employee_grade/employee_grade.py | 3 +- .../employee_grade_dashboard.py | 1 + .../employee_grade/test_employee_grade.py | 2 +- .../employee_grievance/employee_grievance.py | 1 + .../test_employee_grievance.py | 6 +- .../doctype/employee_group/employee_group.py | 2 + .../employee_group/test_employee_group.py | 6 +- .../employee_group_table.py | 2 + .../employee_health_insurance.py | 3 +- .../test_employee_health_insurance.py | 2 +- .../employee_internal_work_history.py | 2 +- .../employee_onboarding.py | 5 +- .../test_employee_onboarding.py | 13 ++- .../employee_onboarding_template.py | 3 +- .../employee_onboarding_template_dashboard.py | 2 +- .../test_employee_onboarding_template.py | 2 +- .../employee_promotion/employee_promotion.py | 3 + .../test_employee_promotion.py | 7 +- .../employee_property_history.py | 3 +- .../employee_referral/employee_referral.py | 6 +- .../employee_referral_dashboard.py | 1 + .../test_employee_referral.py | 10 +- .../employee_separation.py | 2 + .../test_employee_separation.py | 3 +- .../employee_separation_template.py | 3 +- .../employee_separation_template_dashboard.py | 2 +- .../test_employee_separation_template.py | 2 +- .../doctype/employee_skill/employee_skill.py | 2 + .../employee_skill_map/employee_skill_map.py | 2 + .../employee_training/employee_training.py | 2 + .../employee_transfer/employee_transfer.py | 3 + .../test_employee_transfer.py | 7 +- .../employee_transfer_property.py | 3 +- .../test_employee_transfer_property.py | 2 +- .../employment_type/employment_type.py | 2 +- .../employment_type/test_employment_type.py | 2 +- .../hr/doctype/expense_claim/expense_claim.py | 16 ++-- .../expense_claim/expense_claim_dashboard.py | 2 + .../expense_claim/test_expense_claim.py | 8 +- .../expense_claim_account.py | 3 +- .../expense_claim_advance.py | 3 +- .../expense_claim_detail.py | 2 +- .../expense_claim_type/expense_claim_type.py | 2 + .../test_expense_claim_type.py | 1 - .../expense_taxes_and_charges.py | 2 + .../full_and_final_asset.py | 1 + .../test_full_and_final_asset.py | 1 + .../full_and_final_outstanding_statement.py | 1 + .../full_and_final_statement.py | 3 +- .../test_full_and_final_statement.py | 13 ++- .../doctype/grievance_type/grievance_type.py | 1 + .../grievance_type/test_grievance_type.py | 1 + erpnext/hr/doctype/holiday/holiday.py | 2 +- .../hr/doctype/holiday_list/holiday_list.py | 14 ++- .../holiday_list/holiday_list_dashboard.py | 1 + .../doctype/holiday_list/test_holiday_list.py | 5 +- erpnext/hr/doctype/hr_settings/hr_settings.py | 1 - .../doctype/hr_settings/test_hr_settings.py | 5 +- .../identification_document_type.py | 3 +- .../test_identification_document_type.py | 2 +- erpnext/hr/doctype/interest/interest.py | 3 +- erpnext/hr/doctype/interest/test_interest.py | 1 - .../hr/doctype/job_applicant/job_applicant.py | 4 +- .../job_applicant/job_applicant_dashboard.py | 2 +- .../job_applicant/test_job_applicant.py | 3 +- .../job_applicant_source.py | 2 + .../test_job_applicant_source.py | 1 + erpnext/hr/doctype/job_offer/job_offer.py | 6 +- .../hr/doctype/job_offer/test_job_offer.py | 8 +- .../doctype/job_offer_term/job_offer_term.py | 3 +- erpnext/hr/doctype/job_opening/job_opening.py | 11 ++- .../job_opening/job_opening_dashboard.py | 2 +- .../doctype/job_opening/test_job_opening.py | 1 - .../leave_allocation/leave_allocation.py | 12 ++- .../leave_allocation_dashboard.py | 2 +- .../leave_allocation/test_leave_allocation.py | 13 ++- .../leave_application/leave_application.py | 29 +++++- .../test_leave_application.py | 20 ++-- .../leave_block_list/leave_block_list.py | 2 + .../leave_block_list_dashboard.py | 1 + .../leave_block_list/test_leave_block_list.py | 4 +- .../leave_block_list_allow.py | 2 +- .../leave_block_list_date.py | 2 +- .../leave_control_panel.py | 7 +- .../test_leave_control_panel.py | 2 +- .../leave_encashment/leave_encashment.py | 13 ++- .../leave_encashment/test_leave_encashment.py | 14 ++- .../leave_ledger_entry/leave_ledger_entry.py | 6 +- .../test_leave_ledger_entry.py | 1 + .../hr/doctype/leave_period/leave_period.py | 6 +- .../leave_period/leave_period_dashboard.py | 2 + .../doctype/leave_period/test_leave_period.py | 5 +- .../hr/doctype/leave_policy/leave_policy.py | 2 + .../leave_policy/leave_policy_dashboard.py | 2 + .../doctype/leave_policy/test_leave_policy.py | 4 +- .../leave_policy_assignment.py | 13 ++- .../leave_policy_assignment_dashboard.py | 2 + .../test_leave_policy_assignment.py | 13 ++- .../leave_policy_detail.py | 3 +- .../test_leave_policy_detail.py | 2 +- erpnext/hr/doctype/leave_type/leave_type.py | 9 +- .../leave_type/leave_type_dashboard.py | 1 + .../hr/doctype/leave_type/test_leave_type.py | 1 - erpnext/hr/doctype/offer_term/offer_term.py | 3 +- .../hr/doctype/offer_term/test_offer_term.py | 1 - .../purpose_of_travel/purpose_of_travel.py | 3 +- .../test_purpose_of_travel.py | 2 +- .../shift_assignment/shift_assignment.py | 8 +- .../shift_assignment/test_shift_assignment.py | 5 +- .../hr/doctype/shift_request/shift_request.py | 3 + .../shift_request/shift_request_dashboard.py | 2 +- .../shift_request/test_shift_request.py | 6 +- erpnext/hr/doctype/shift_type/shift_type.py | 15 ++- .../shift_type/shift_type_dashboard.py | 2 +- .../hr/doctype/shift_type/test_shift_type.py | 2 +- erpnext/hr/doctype/skill/skill.py | 2 + .../hr/doctype/staffing_plan/staffing_plan.py | 6 +- .../staffing_plan/staffing_plan_dashboard.py | 2 +- .../staffing_plan/test_staffing_plan.py | 12 ++- .../staffing_plan_detail.py | 3 +- .../training_event/test_training_event.py | 7 +- .../doctype/training_event/training_event.py | 5 +- .../training_event_dashboard.py | 2 +- .../training_event_employee.py | 3 +- .../test_training_feedback.py | 11 ++- .../training_feedback/training_feedback.py | 4 +- .../training_program/test_training_program.py | 1 + .../training_program/training_program.py | 2 + .../training_program_dashboard.py | 2 + .../training_result/test_training_result.py | 1 - .../training_result/training_result.py | 3 + .../training_result_employee.py | 3 +- .../travel_itinerary/travel_itinerary.py | 3 +- .../travel_request/test_travel_request.py | 2 +- .../doctype/travel_request/travel_request.py | 4 +- .../travel_request_costing.py | 3 +- .../test_upload_attendance.py | 8 +- .../upload_attendance/upload_attendance.py | 7 +- erpnext/hr/doctype/vehicle/test_vehicle.py | 6 +- erpnext/hr/doctype/vehicle/vehicle.py | 4 +- .../hr/doctype/vehicle/vehicle_dashboard.py | 2 + .../doctype/vehicle_log/test_vehicle_log.py | 7 +- erpnext/hr/doctype/vehicle_log/vehicle_log.py | 5 +- .../vehicle_service/vehicle_service.py | 3 +- .../training_feedback/training_feedback.py | 1 - .../training_scheduled/training_scheduled.py | 1 - .../organizational_chart.py | 2 + erpnext/hr/page/team_updates/team_updates.py | 1 + .../daily_work_summary_replies.py | 5 +- .../employee_advance_summary.py | 4 +- .../employee_analytics/employee_analytics.py | 2 + .../employee_birthday/employee_birthday.py | 3 +- .../employee_leave_balance.py | 15 ++- .../employee_leave_balance_summary.py | 11 ++- .../employees_working_on_a_holiday.py | 1 + .../monthly_attendance_sheet.py | 8 +- .../recruitment_analytics.py | 2 + .../vehicle_expenses/test_vehicle_expenses.py | 12 ++- .../vehicle_expenses/vehicle_expenses.py | 4 +- erpnext/hr/utils.py | 26 ++++-- .../job_application/job_application.py | 1 - erpnext/hub_node/__init__.py | 2 + erpnext/hub_node/api.py | 4 +- .../hub_tracked_item/hub_tracked_item.py | 3 +- .../hub_tracked_item/test_hub_tracked_item.py | 2 +- erpnext/hub_node/doctype/hub_user/hub_user.py | 3 +- .../hub_node/doctype/hub_users/hub_users.py | 3 +- .../marketplace_settings.py | 13 ++- .../test_marketplace_settings.py | 2 +- erpnext/hub_node/legacy.py | 12 ++- .../top_10_pledged_loan_securities.py | 8 +- erpnext/loan_management/doctype/loan/loan.py | 20 +++- .../doctype/loan/loan_dashboard.py | 2 +- .../loan_management/doctype/loan/test_loan.py | 45 ++++++--- .../loan_application/loan_application.py | 27 ++++-- .../loan_application_dashboard.py | 2 +- .../loan_application/test_loan_application.py | 12 ++- .../loan_disbursement/loan_disbursement.py | 20 ++-- .../test_loan_disbursement.py | 42 +++++++-- .../loan_interest_accrual.py | 12 ++- .../test_loan_interest_accrual.py | 30 ++++-- .../doctype/loan_repayment/loan_repayment.py | 25 +++-- .../loan_repayment/test_loan_repayment.py | 1 + .../loan_repayment_detail.py | 2 + .../doctype/loan_security/loan_security.py | 2 + .../loan_security/loan_security_dashboard.py | 2 +- .../loan_security/test_loan_security.py | 1 + .../loan_security_pledge.py | 13 ++- .../test_loan_security_pledge.py | 1 + .../loan_security_price.py | 5 +- .../test_loan_security_price.py | 1 + .../loan_security_shortfall.py | 10 +- .../test_loan_security_shortfall.py | 1 + .../loan_security_type/loan_security_type.py | 2 + .../loan_security_type_dashboard.py | 2 +- .../test_loan_security_type.py | 1 + .../loan_security_unpledge.py | 10 +- .../test_loan_security_unpledge.py | 1 + .../doctype/loan_type/loan_type.py | 2 + .../doctype/loan_type/loan_type_dashboard.py | 2 +- .../doctype/loan_type/test_loan_type.py | 1 + .../doctype/loan_write_off/loan_write_off.py | 10 +- .../loan_write_off/test_loan_write_off.py | 1 + .../loan_management/doctype/pledge/pledge.py | 2 + .../doctype/pledge/test_pledge.py | 1 + .../process_loan_interest_accrual.py | 11 ++- ...process_loan_interest_accrual_dashboard.py | 2 +- .../test_process_loan_interest_accrual.py | 1 + .../process_loan_security_shortfall.py | 10 +- ...ocess_loan_security_shortfall_dashboard.py | 2 +- .../test_process_loan_security_shortfall.py | 1 + .../proposed_pledge/proposed_pledge.py | 2 + .../repayment_schedule/repayment_schedule.py | 2 + .../salary_slip_loan/salary_slip_loan.py | 2 + .../sanctioned_loan_amount.py | 2 + .../test_sanctioned_loan_amount.py | 1 + .../doctype/unpledge/unpledge.py | 2 + .../applicant_wise_loan_security_exposure.py | 7 +- .../loan_interest_report.py | 11 ++- .../loan_repayment_and_closure.py | 2 + .../loan_security_exposure.py | 11 ++- .../loan_security_status.py | 2 + .../maintenance_schedule.py | 11 ++- .../test_maintenance_schedule.py | 10 +- .../maintenance_schedule_detail.py | 3 +- .../maintenance_schedule_item.py | 3 +- .../maintenance_visit/maintenance_visit.py | 2 + .../test_maintenance_visit.py | 1 - .../maintenance_visit_purpose.py | 3 +- erpnext/manufacturing/dashboard_fixtures.py | 9 +- .../doctype/blanket_order/blanket_order.py | 4 +- .../blanket_order/blanket_order_dashboard.py | 2 +- .../blanket_order/test_blanket_order.py | 6 +- .../blanket_order_item/blanket_order_item.py | 2 + erpnext/manufacturing/doctype/bom/bom.py | 29 +++--- .../doctype/bom/bom_dashboard.py | 2 + erpnext/manufacturing/doctype/bom/test_bom.py | 12 ++- .../bom_explosion_item/bom_explosion_item.py | 2 +- .../doctype/bom_item/bom_item.py | 2 +- .../doctype/bom_operation/bom_operation.py | 2 +- .../doctype/bom_scrap_item/bom_scrap_item.py | 3 +- .../bom_update_tool/bom_update_tool.py | 17 ++-- .../bom_update_tool/test_bom_update_tool.py | 7 +- .../bom_website_item/bom_website_item.py | 3 +- .../bom_website_operation.py | 3 +- .../doctype/downtime_entry/downtime_entry.py | 5 +- .../downtime_entry/test_downtime_entry.py | 1 + .../doctype/job_card/job_card.py | 30 ++++-- .../doctype/job_card/job_card_dashboard.py | 2 + .../doctype/job_card/test_job_card.py | 7 +- .../doctype/job_card_item/job_card_item.py | 2 + .../job_card_operation/job_card_operation.py | 2 + .../job_card_time_log/job_card_time_log.py | 2 + .../manufacturing_settings.py | 4 +- .../test_manufacturing_settings.py | 1 + .../material_request_plan_item.py | 2 + .../test_material_request_plan_item.py | 1 + .../doctype/operation/operation.py | 1 + .../doctype/operation/operation_dashboard.py | 2 + .../doctype/operation/test_operation.py | 3 +- .../production_plan/production_plan.py | 33 +++++-- .../production_plan_dashboard.py | 2 + .../production_plan/test_production_plan.py | 22 +++-- .../production_plan_item.py | 2 +- .../production_plan_item_reference.py | 2 + .../production_plan_material_request.py | 3 +- ...duction_plan_material_request_warehouse.py | 2 + ...duction_plan_material_request_warehouse.py | 1 + .../production_plan_sales_order.py | 2 +- .../production_plan_sub_assembly_item.py | 2 + .../manufacturing/doctype/routing/routing.py | 4 +- .../doctype/routing/routing_dashboard.py | 2 +- .../doctype/routing/test_routing.py | 7 +- .../doctype/sub_operation/sub_operation.py | 2 + .../sub_operation/test_sub_operation.py | 1 + .../doctype/work_order/test_work_order.py | 30 ++++-- .../doctype/work_order/work_order.py | 48 +++++++--- .../work_order/work_order_dashboard.py | 2 + .../work_order_item/work_order_item.py | 2 + .../work_order_operation.py | 3 +- .../doctype/workstation/test_workstation.py | 14 ++- .../doctype/workstation/workstation.py | 18 +++- .../workstation/workstation_dashboard.py | 2 + .../workstation_working_hour.py | 3 +- .../material_request_receipt_notification.py | 1 - .../report/bom_explorer/bom_explorer.py | 3 +- .../bom_operations_time.py | 2 + .../bom_stock_calculated.py | 2 + .../bom_stock_report/bom_stock_report.py | 2 + .../bom_variance_report.py | 2 + .../cost_of_poor_quality_report.py | 2 + .../downtime_analysis/downtime_analysis.py | 4 +- .../exponential_smoothing_forecasting.py | 8 +- .../job_card_summary/job_card_summary.py | 7 +- .../production_analytics.py | 5 +- .../production_plan_summary.py | 2 + .../production_planning_report.py | 2 + .../quality_inspection_summary.py | 2 + .../work_order_stock_report.py | 4 +- .../work_order_summary/work_order_summary.py | 7 +- .../certification_application.py | 3 +- .../test_certification_application.py | 2 +- .../certified_consultant.py | 3 +- .../test_certified_consultant.py | 2 +- erpnext/non_profit/doctype/chapter/chapter.py | 2 + .../doctype/chapter/test_chapter.py | 1 + .../doctype/chapter_member/chapter_member.py | 2 + .../non_profit/doctype/donation/donation.py | 10 +- .../doctype/donation/donation_dashboard.py | 2 + .../doctype/donation/test_donation.py | 5 +- erpnext/non_profit/doctype/donor/donor.py | 4 +- .../non_profit/doctype/donor/test_donor.py | 1 + .../doctype/donor_type/donor_type.py | 2 + .../doctype/donor_type/test_donor_type.py | 2 +- .../grant_application/grant_application.py | 4 +- .../test_grant_application.py | 1 + erpnext/non_profit/doctype/member/member.py | 7 +- .../doctype/member/member_dashboard.py | 2 + .../non_profit/doctype/member/test_member.py | 1 + .../doctype/membership/membership.py | 15 +-- .../doctype/membership/test_membership.py | 6 +- .../membership_type/membership_type.py | 4 +- .../membership_type/test_membership_type.py | 1 + .../non_profit_settings.py | 2 + .../test_non_profit_settings.py | 1 + .../doctype/volunteer/test_volunteer.py | 1 + .../non_profit/doctype/volunteer/volunteer.py | 4 +- .../volunteer_skill/volunteer_skill.py | 3 +- .../volunteer_type/test_volunteer_type.py | 1 + .../doctype/volunteer_type/volunteer_type.py | 2 + .../expiring_memberships.py | 4 +- .../certification_application.py | 1 - .../certification_application_usd.py | 1 - .../grant_application/grant_application.py | 1 + .../v10_0/add_default_cash_flow_mappers.py | 1 + erpnext/patches/v10_0/delete_hub_documents.py | 2 +- ...ier_des_ecritures_comptables_for_france.py | 3 + ...ry_settings_to_daily_work_summary_group.py | 1 + .../v10_0/rename_offer_letter_to_job_offer.py | 2 + .../rename_price_to_rate_in_pricing_rule.py | 2 + .../v10_0/set_currency_in_pricing_rule.py | 2 + .../v10_0/update_translatable_fields.py | 1 + .../transfer_subscription_to_auto_repeat.py | 1 + ..._default_dispatch_notification_template.py | 1 + .../add_default_email_template_for_leave.py | 6 +- .../add_expense_claim_default_account.py | 2 + .../add_healthcare_service_unit_tree_root.py | 2 + .../v11_0/add_index_on_nestedset_doctypes.py | 2 + .../patches/v11_0/add_item_group_defaults.py | 2 + erpnext/patches/v11_0/add_market_segments.py | 3 +- .../v11_0/add_permissions_in_gst_settings.py | 2 + erpnext/patches/v11_0/add_sales_stages.py | 4 +- ...eck_buying_selling_in_currency_exchange.py | 2 + .../v11_0/create_default_success_action.py | 3 + ...ate_department_records_for_each_company.py | 2 + .../create_salary_structure_assignments.py | 10 +- .../v11_0/drop_column_max_days_allowed.py | 2 + .../v11_0/ewaybill_fields_gst_india.py | 3 + erpnext/patches/v11_0/hr_ux_cleanups.py | 2 + .../v11_0/inter_state_field_for_gst.py | 5 +- ..._asset_finance_book_against_old_entries.py | 3 +- .../v11_0/make_italian_localization_fields.py | 7 +- erpnext/patches/v11_0/make_job_card.py | 3 + .../v11_0/make_location_from_warehouse.py | 2 + .../v11_0/make_quality_inspection_template.py | 2 + ...efaults_to_child_table_for_multicompany.py | 2 + .../move_leave_approvers_from_employee.py | 3 +- .../patches/v11_0/rebuild_tree_for_company.py | 2 + .../redesign_healthcare_billing_work_flow.py | 4 +- ...odes_field_from_copy_fields_to_variants.py | 1 + .../v11_0/remove_modules_setup_page.py | 2 + ...onal_salary_component_additional_salary.py | 1 + .../v11_0/rename_asset_adjustment_doctype.py | 1 + erpnext/patches/v11_0/rename_bom_wo_fields.py | 2 + .../rename_duplicate_item_code_values.py | 1 + .../v11_0/rename_field_max_days_allowed.py | 2 + .../patches/v11_0/rename_health_insurance.py | 2 + .../rename_healthcare_doctype_and_fields.py | 3 +- .../patches/v11_0/rename_healthcare_fields.py | 3 +- .../rename_members_with_naming_series.py | 2 + .../rename_overproduction_percent_field.py | 4 +- .../rename_production_order_to_work_order.py | 2 + .../rename_supplier_type_to_supplier_group.py | 4 +- .../renamed_from_to_fields_in_project.py | 2 + .../reset_publish_in_hub_for_all_items.py | 2 + .../v11_0/set_default_email_template_in_hr.py | 4 +- .../v11_0/set_department_for_doctypes.py | 1 + .../patches/v11_0/set_missing_gst_hsn_code.py | 3 + .../v11_0/set_salary_component_properties.py | 2 + ...pdate_field_and_value_in_workflow_state.py | 2 + .../set_user_permissions_for_department.py | 2 + ...ip_user_permission_check_for_department.py | 1 + erpnext/patches/v11_0/uom_conversion_data.py | 4 +- .../update_account_type_in_party_type.py | 2 + .../update_allow_transfer_for_manufacture.py | 2 + ...e_backflush_subcontract_rm_based_on_bom.py | 2 + .../v11_0/update_brand_in_item_price.py | 2 + .../v11_0/update_delivery_trip_status.py | 2 + .../v11_0/update_department_lft_rgt.py | 1 + erpnext/patches/v11_0/update_hub_url.py | 2 + .../v11_0/update_sales_partner_type.py | 2 + .../patches/v11_0/update_total_qty_field.py | 2 + erpnext/patches/v11_1/delete_bom_browser.py | 2 + .../patches/v11_1/delete_scheduling_tool.py | 2 + .../patches/v11_1/make_job_card_time_logs.py | 2 + .../move_customer_lead_to_dynamic_column.py | 2 + .../patches/v11_1/rename_depends_on_lwp.py | 2 + .../v11_1/renamed_delayed_item_report.py | 2 + ...t_default_action_for_quality_inspection.py | 2 + .../v11_1/set_missing_opportunity_from.py | 2 + .../v11_1/set_missing_title_for_quotation.py | 1 + .../v11_1/set_salary_details_submittable.py | 2 + ...s_for_material_request_type_manufacture.py | 2 + erpnext/patches/v11_1/set_variant_based_on.py | 2 + erpnext/patches/v11_1/setup_guardian_role.py | 2 + .../v11_1/update_bank_transaction_status.py | 2 + ...pdate_default_supplier_in_item_defaults.py | 2 + .../v11_1/woocommerce_set_creation_user.py | 2 + ...default_buying_selling_terms_in_company.py | 1 + ...ocument_type_field_for_italy_einvoicing.py | 4 +- .../v12_0/add_eway_bill_in_delivery_note.py | 1 + .../add_export_type_field_in_party_master.py | 3 + .../add_gst_category_in_delivery_note.py | 2 + .../add_permission_in_lower_deduction.py | 1 + .../v12_0/add_state_code_for_ladakh.py | 2 + .../v12_0/add_taxjar_integration_field.py | 1 + .../add_variant_of_in_item_attribute_table.py | 1 + ...counting_dimensions_in_missing_doctypes.py | 2 + .../create_default_energy_point_rules.py | 2 + .../create_irs_1099_field_united_states.py | 3 + .../create_itc_reversal_custom_fields.py | 3 + .../v12_0/create_taxable_value_field.py | 2 + .../v12_0/delete_priority_property_setter.py | 1 + .../fix_percent_complete_for_projects.py | 1 + .../v12_0/fix_quotation_expired_status.py | 1 + .../v12_0/generate_leave_ledger_entries.py | 2 + .../patches/v12_0/make_item_manufacturer.py | 2 + .../move_bank_account_swift_number_to_bank.py | 2 + ...e_credit_limit_to_customer_credit_limit.py | 2 + ...ve_due_advance_amount_to_pending_amount.py | 2 + .../move_item_tax_to_item_tax_template.py | 6 +- .../v12_0/move_plaid_settings_to_doctype.py | 1 + ...arget_distribution_from_parent_to_child.py | 2 + .../v12_0/recalculate_requested_qty_in_bin.py | 5 +- .../remove_bank_remittance_custom_fields.py | 3 +- .../remove_denied_leaves_from_leave_ledger.py | 3 +- .../remove_duplicate_leave_ledger_entries.py | 2 + .../remove_patient_medical_record_page.py | 2 + .../v12_0/rename_account_type_doctype.py | 2 + ..._account_field_in_journal_entry_account.py | 2 + .../v12_0/rename_bank_reconciliation.py | 2 + .../rename_bank_reconciliation_fields.py | 1 + .../v12_0/rename_lost_reason_detail.py | 2 + .../v12_0/rename_mws_settings_fields.py | 1 + .../v12_0/rename_pos_closing_doctype.py | 2 + .../rename_pricing_rule_child_doctypes.py | 1 + .../patches/v12_0/rename_tolerance_fields.py | 1 + ...counting_with_accounts_in_home_settings.py | 1 + ...ock_ledger_entries_for_target_warehouse.py | 2 + ...anket_order_in_sales_and_purchase_order.py | 1 + ...eferred_accounting_in_accounts_settings.py | 2 + ..._center_in_child_table_of_expense_claim.py | 2 + .../set_cwip_and_delete_asset_settings.py | 1 + .../v12_0/set_default_homepage_type.py | 1 + .../v12_0/set_default_payroll_based_on.py | 2 + ...se_account_in_landed_cost_voucher_taxes.py | 2 + erpnext/patches/v12_0/set_gst_category.py | 2 + ...ian_import_supplier_invoice_permissions.py | 3 + erpnext/patches/v12_0/set_multi_uom_in_rfq.py | 4 +- .../patches/v12_0/set_payment_entry_status.py | 1 + .../v12_0/set_permission_einvoicing.py | 4 +- .../patches/v12_0/set_priority_for_support.py | 1 + ...qty_field_in_sales_order_for_work_order.py | 3 +- .../set_production_capacity_in_workstation.py | 2 + .../set_published_in_hub_tracked_item.py | 2 + ...t_purchase_receipt_delivery_note_detail.py | 5 +- erpnext/patches/v12_0/set_quotation_status.py | 2 + ...ty_in_material_request_as_per_stock_uom.py | 2 + erpnext/patches/v12_0/set_serial_no_status.py | 2 + erpnext/patches/v12_0/set_task_status.py | 1 + .../v12_0/set_updated_purpose_in_pick_list.py | 1 + ...t_valid_till_date_in_supplier_quotation.py | 2 + .../patches/v12_0/stock_entry_enhancements.py | 2 + .../patches/v12_0/unhide_cost_center_field.py | 2 + ...er_supplier_based_on_type_of_item_price.py | 1 + .../update_address_template_for_india.py | 3 + ...te_appointment_reminder_scheduler_entry.py | 1 + erpnext/patches/v12_0/update_bom_in_so_mr.py | 2 + .../patches/v12_0/update_due_date_in_gle.py | 2 + ...e_end_date_and_status_in_email_campaign.py | 2 + .../v12_0/update_ewaybill_field_position.py | 3 +- erpnext/patches/v12_0/update_gst_category.py | 2 + .../update_healthcare_refactored_changes.py | 3 +- .../v12_0/update_is_cancelled_field.py | 2 + .../v12_0/update_item_tax_template_company.py | 2 + ...r_fields_in_acc_dimension_custom_fields.py | 7 +- .../update_price_list_currency_in_bom.py | 5 +- .../v12_0/update_price_or_product_discount.py | 2 + .../v12_0/update_pricing_rule_fields.py | 1 + .../update_state_code_for_daman_and_diu.py | 2 + .../v12_0/update_uom_conversion_factor.py | 4 +- .../v12_0/update_vehicle_no_reqd_condition.py | 1 + .../add_custom_field_for_south_africa.py | 5 +- erpnext/patches/v13_0/add_doctype_to_sla.py | 1 + .../add_missing_fg_item_for_stock_entry.py | 6 +- .../add_naming_series_to_old_projects.py | 3 +- .../patches/v13_0/add_po_to_global_search.py | 1 + .../v13_0/add_standard_navbar_items.py | 2 + ...r_rejected_quantity_in_purchase_invoice.py | 2 + .../v13_0/change_default_pos_print_format.py | 2 + .../v13_0/check_is_income_tax_component.py | 5 +- .../convert_qi_parameter_to_link_field.py | 2 + ...are_custom_fields_in_stock_entry_detail.py | 2 + ..._based_on_employee_current_leave_policy.py | 1 + .../v13_0/create_uae_pos_invoice_fields.py | 2 + .../custom_fields_for_taxjar_integration.py | 3 + ...delete_old_bank_reconciliation_doctypes.py | 1 + .../v13_0/delete_old_purchase_reports.py | 2 + .../patches/v13_0/delete_old_sales_reports.py | 2 + .../patches/v13_0/delete_orphaned_tables.py | 1 + .../delete_report_requested_items_to_order.py | 1 + .../v13_0/drop_razorpay_payload_column.py | 2 + .../fix_non_unique_represents_company.py | 1 + .../v13_0/germany_make_custom_fields.py | 1 + .../healthcare_lab_module_rename_doctypes.py | 1 + .../item_reposting_for_incorrect_sl_and_gl.py | 7 +- .../loyalty_points_entry_for_pos_invoice.py | 1 + .../v13_0/make_non_standard_user_type.py | 3 + .../v13_0/move_branch_code_to_bank_account.py | 1 + ...rts_and_notification_from_hr_to_payroll.py | 1 + ...oll_setting_separately_from_hr_settings.py | 1 + ..._from_payroll_period_to_income_tax_slab.py | 2 +- ...itional_salary_encashment_and_incentive.py | 1 + .../v13_0/print_uom_after_quantity_patch.py | 2 +- ...tribute_field_from_item_variant_setting.py | 1 + .../rename_discharge_date_in_ip_record.py | 2 + .../v13_0/rename_issue_doctype_fields.py | 2 + .../rename_issue_status_hold_to_on_hold.py | 2 + ...bership_settings_to_non_profit_settings.py | 2 + .../rename_stop_to_send_birthday_reminders.py | 1 + ...eplace_pos_page_with_point_of_sale_page.py | 2 + .../v13_0/replace_pos_payment_mode_table.py | 1 + ...e_date_for_intracompany_payment_entries.py | 1 + erpnext/patches/v13_0/set_app_name.py | 2 +- ...et_company_field_in_healthcare_doctypes.py | 2 + .../set_company_in_leave_ledger_entry.py | 1 + ..._operation_time_based_on_operating_cost.py | 1 + ...ment_channel_in_payment_gateway_account.py | 2 + .../v13_0/set_pos_closing_as_failed.py | 2 + .../v13_0/set_training_event_attendance.py | 2 + erpnext/patches/v13_0/set_youtube_video_id.py | 3 + ..._custom_roles_for_some_regional_reports.py | 3 + ...fields_for_80g_certificate_and_donation.py | 2 + .../setup_gratuity_rule_for_india_and_uae.py | 2 + ..._history_settings_for_standard_doctypes.py | 3 + erpnext/patches/v13_0/setup_uae_vat_fields.py | 2 + .../v13_0/shopify_deprecation_warning.py | 1 - .../patches/v13_0/stock_entry_enhancements.py | 2 + .../update_actual_start_and_end_date_in_wo.py | 1 + ...update_amt_in_work_order_required_items.py | 1 + .../patches/v13_0/update_deferred_settings.py | 2 + .../v13_0/update_export_type_for_gst.py | 1 + .../patches/v13_0/update_job_card_details.py | 2 + erpnext/patches/v13_0/update_level_in_bom.py | 2 + .../v13_0/update_member_email_address.py | 2 + erpnext/patches/v13_0/update_old_loans.py | 16 +++- .../v13_0/update_payment_terms_outstanding.py | 2 + .../update_pos_closing_entry_in_merge_log.py | 2 + .../v13_0/update_project_template_tasks.py | 2 + ...date_reason_for_resignation_in_employee.py | 2 + .../v13_0/update_recipient_email_digest.py | 2 + .../v13_0/update_response_by_variance.py | 2 + .../v13_0/update_returned_qty_in_pr_dn.py | 2 + .../patches/v13_0/update_shipment_status.py | 1 + .../patches/v13_0/update_sla_enhancements.py | 1 + ...start_end_date_for_old_shift_assignment.py | 1 + erpnext/patches/v13_0/update_subscription.py | 2 + ...date_subscription_status_in_memberships.py | 1 + .../patches/v13_0/update_tds_check_field.py | 1 + .../patches/v13_0/update_timesheet_changes.py | 2 + .../updates_for_multi_currency_payroll.py | 1 + .../v13_0/validate_options_for_data_field.py | 2 + .../v14_0/delete_einvoicing_doctypes.py | 1 + erpnext/patches/v4_2/repost_reserved_qty.py | 5 +- .../v4_2/update_requested_and_ordered_qty.py | 4 +- ...e_item_description_based_on_item_master.py | 2 + ...oles_from_gst_report_non_indian_account.py | 2 + erpnext/patches/v8_1/setup_gst_india.py | 2 + .../patches/v8_7/sync_india_custom_fields.py | 5 +- .../additional_salary/additional_salary.py | 7 +- .../test_additional_salary.py | 13 ++- .../employee_benefit_application.py | 21 ++++- .../test_employee_benefit_application.py | 2 + .../employee_benefit_application_detail.py | 2 + .../employee_benefit_claim.py | 13 ++- .../test_employee_benefit_claim.py | 2 + .../employee_incentive/employee_incentive.py | 3 + .../test_employee_incentive.py | 2 +- .../employee_other_income.py | 2 + .../test_employee_other_income.py | 1 + .../employee_tax_exemption_category.py | 3 +- .../test_employee_tax_exemption_category.py | 2 +- .../employee_tax_exemption_declaration.py | 15 ++- ...test_employee_tax_exemption_declaration.py | 6 +- ...oyee_tax_exemption_declaration_category.py | 2 + ...employee_tax_exemption_proof_submission.py | 14 ++- ...employee_tax_exemption_proof_submission.py | 10 +- ...e_tax_exemption_proof_submission_detail.py | 2 + .../employee_tax_exemption_sub_category.py | 4 +- ...est_employee_tax_exemption_sub_category.py | 2 +- erpnext/payroll/doctype/gratuity/gratuity.py | 6 +- .../doctype/gratuity/gratuity_dashboard.py | 2 + .../payroll/doctype/gratuity/test_gratuity.py | 17 ++-- .../gratuity_applicable_component.py | 2 + .../doctype/gratuity_rule/gratuity_rule.py | 4 +- .../gratuity_rule/gratuity_rule_dashboard.py | 2 + .../gratuity_rule/test_gratuity_rule.py | 1 + .../gratuity_rule_slab/gratuity_rule_slab.py | 2 + .../income_tax_slab/income_tax_slab.py | 5 +- .../income_tax_slab/test_income_tax_slab.py | 1 + .../income_tax_slab_other_charges.py | 2 + .../payroll_employee_detail.py | 2 + .../doctype/payroll_entry/payroll_entry.py | 28 ++++-- .../payroll_entry/payroll_entry_dashboard.py | 2 +- .../payroll_entry/test_payroll_entry.py | 34 +++++-- .../doctype/payroll_period/payroll_period.py | 5 +- .../payroll_period_dashboard.py | 2 +- .../payroll_period/test_payroll_period.py | 2 +- .../payroll_period_date.py | 2 + .../payroll_settings/payroll_settings.py | 6 +- .../payroll_settings/test_payroll_settings.py | 1 + .../retention_bonus/retention_bonus.py | 6 +- .../retention_bonus/test_retention_bonus.py | 2 +- .../salary_component/salary_component.py | 2 + .../salary_component/test_salary_component.py | 3 +- .../doctype/salary_detail/salary_detail.py | 3 +- .../doctype/salary_slip/salary_slip.py | 56 ++++++++---- .../doctype/salary_slip/test_salary_slip.py | 48 +++++++--- .../salary_slip_leave/salary_slip_leave.py | 2 + .../salary_slip_timesheet.py | 2 + .../salary_structure/salary_structure.py | 10 +- .../salary_structure_dashboard.py | 2 +- .../salary_structure/test_salary_structure.py | 25 +++-- .../salary_structure_assignment.py | 4 +- .../test_salary_structure_assignment.py | 2 +- .../taxable_salary_slab.py | 2 + .../retention_bonus/retention_bonus.py | 1 - .../report/bank_remittance/bank_remittance.py | 4 +- .../income_tax_deductions.py | 6 +- .../salary_payments_based_on_payment_mode.py | 10 +- .../salary_payments_via_ecs.py | 6 +- .../report/salary_register/salary_register.py | 8 +- erpnext/portal/doctype/homepage/homepage.py | 2 + .../portal/doctype/homepage/test_homepage.py | 4 +- .../homepage_featured_product.py | 3 +- .../homepage_section/homepage_section.py | 2 + .../homepage_section/test_homepage_section.py | 4 +- .../homepage_section_card.py | 2 + .../products_settings/products_settings.py | 4 +- .../test_products_settings.py | 2 +- .../website_attribute/website_attribute.py | 2 + .../website_filter_field.py | 2 + .../item_variants_cache.py | 1 + .../test_product_configurator.py | 5 +- erpnext/portal/product_configurator/utils.py | 4 +- erpnext/portal/utils.py | 9 +- .../doctype/activity_cost/activity_cost.py | 2 + .../activity_cost/test_activity_cost.py | 4 +- .../doctype/activity_type/activity_type.py | 2 + .../activity_type/test_activity_type.py | 2 +- .../doctype/dependent_task/dependent_task.py | 3 +- erpnext/projects/doctype/project/project.py | 17 ++-- .../doctype/project/project_dashboard.py | 2 + .../projects/doctype/project/test_project.py | 5 +- .../project_template/project_template.py | 4 +- .../project_template_dashboard.py | 1 + .../project_template/test_project_template.py | 5 +- .../project_template_task.py | 2 + .../doctype/project_type/project_type.py | 4 +- .../doctype/project_type/test_project_type.py | 1 + .../doctype/project_update/project_update.py | 2 + .../project_update/test_project_update.py | 4 +- .../doctype/project_user/project_user.py | 3 +- .../projects_settings/projects_settings.py | 3 +- .../test_projects_settings.py | 2 +- erpnext/projects/doctype/task/task.py | 2 +- erpnext/projects/doctype/task/test_task.py | 7 +- .../task_depends_on/task_depends_on.py | 3 +- .../projects/doctype/task_type/task_type.py | 2 + .../doctype/task_type/test_task_type.py | 2 +- .../doctype/timesheet/test_timesheet.py | 31 ++++--- .../projects/doctype/timesheet/timesheet.py | 17 ++-- .../doctype/timesheet/timesheet_dashboard.py | 2 + .../timesheet_detail/timesheet_detail.py | 3 +- erpnext/projects/report/billing_summary.py | 4 +- .../daily_timesheet_summary.py | 2 + .../delayed_tasks_summary.py | 2 + .../test_delayed_tasks_summary.py | 6 +- .../employee_billing_summary.py | 4 +- ...ee_hours_utilization_based_on_timesheet.py | 2 + .../test_employee_util.py | 11 ++- .../project_billing_summary.py | 4 +- .../project_profitability.py | 2 + .../test_project_profitability.py | 11 ++- .../report/project_summary/project_summary.py | 2 + .../project_wise_stock_tracking.py | 1 + erpnext/projects/utils.py | 2 + erpnext/projects/web_form/tasks/tasks.py | 1 + .../non_conformance/non_conformance.py | 2 + .../non_conformance/test_non_conformance.py | 1 + .../doctype/quality_action/quality_action.py | 3 +- .../quality_action/test_quality_action.py | 2 +- .../quality_action_resolution.py | 2 + .../quality_feedback/quality_feedback.py | 2 + .../quality_feedback/test_quality_feedback.py | 3 +- .../quality_feedback_parameter.py | 2 + .../quality_feedback_template.py | 2 + .../test_quality_feedback_template.py | 2 +- .../quality_feedback_template_parameter.py | 2 + .../doctype/quality_goal/quality_goal.py | 2 +- .../doctype/quality_goal/test_quality_goal.py | 5 +- .../quality_goal_objective.py | 2 + .../quality_meeting/quality_meeting.py | 2 + .../quality_meeting/test_quality_meeting.py | 2 +- .../quality_meeting_agenda.py | 2 + .../test_quality_meeting_agenda.py | 1 + .../quality_meeting_minutes.py | 2 + .../quality_procedure/quality_procedure.py | 4 +- .../test_quality_procedure.py | 4 +- .../quality_procedure_process.py | 2 + .../doctype/quality_review/quality_review.py | 2 + .../quality_review/test_quality_review.py | 4 +- .../quality_review_objective.py | 2 + erpnext/regional/__init__.py | 3 + .../test_regional_address_template.py | 6 +- .../doctype/datev_settings/datev_settings.py | 2 + .../datev_settings/test_datev_settings.py | 1 + .../doctype/gst_hsn_code/gst_hsn_code.py | 2 + .../doctype/gst_hsn_code/test_gst_hsn_code.py | 2 +- .../doctype/gst_settings/gst_settings.py | 10 +- .../doctype/gst_settings/test_gst_settings.py | 2 +- .../doctype/gstr_3b_report/gstr_3b_report.py | 10 +- .../gstr_3b_report/test_gstr_3b_report.py | 14 +-- .../import_supplier_invoice.py | 16 ++-- .../test_import_supplier_invoice.py | 1 + .../lower_deduction_certificate.py | 5 +- .../test_lower_deduction_certificate.py | 1 + .../product_tax_category.py | 1 + .../test_product_tax_category.py | 1 + .../south_africa_vat_settings.py | 1 + .../test_south_africa_vat_settings.py | 1 + .../tax_exemption_80g_certificate.py | 9 +- .../test_tax_exemption_80g_certificate.py | 13 ++- .../tax_exemption_80g_certificate_detail.py | 2 + .../uae_vat_account/uae_vat_account.py | 2 + .../uae_vat_settings/test_uae_vat_settings.py | 1 + .../uae_vat_settings/uae_vat_settings.py | 2 + erpnext/regional/france/utils.py | 2 +- erpnext/regional/germany/setup.py | 1 - .../regional/germany/utils/datev/datev_csv.py | 4 +- erpnext/regional/india/__init__.py | 1 + erpnext/regional/india/test_utils.py | 4 +- erpnext/regional/india/utils.py | 22 ++--- erpnext/regional/italy/utils.py | 6 +- erpnext/regional/report/datev/datev.py | 11 ++- erpnext/regional/report/datev/test_datev.py | 30 +++--- .../electronic_invoice_register.py | 2 + .../regional/report/eway_bill/eway_bill.py | 5 +- .../fichier_des_ecritures_comptables_[fec].py | 9 +- .../gst_itemised_purchase_register.py | 5 +- .../gst_itemised_sales_register.py | 1 + .../gst_purchase_register.py | 1 + .../gst_sales_register/gst_sales_register.py | 1 + erpnext/regional/report/gstr_1/gstr_1.py | 12 ++- erpnext/regional/report/gstr_2/gstr_2.py | 6 +- .../hsn_wise_summary_of_outward_supplies.py | 16 ++-- erpnext/regional/report/irs_1099/irs_1099.py | 6 +- .../professional_tax_deductions.py | 7 +- .../provident_fund_deductions.py | 4 +- .../report/uae_vat_201/test_uae_vat_201.py | 20 ++-- .../report/uae_vat_201/uae_vat_201.py | 2 + .../vat_audit_report/test_vat_audit_report.py | 8 +- .../vat_audit_report/vat_audit_report.py | 5 +- .../regional/united_arab_emirates/setup.py | 2 +- .../regional/united_arab_emirates/utils.py | 9 +- .../united_states/test_united_states.py | 5 +- .../doctype/restaurant/restaurant.py | 3 +- .../restaurant/restaurant_dashboard.py | 2 + .../doctype/restaurant/test_restaurant.py | 1 - .../restaurant_menu/restaurant_menu.py | 2 + .../restaurant_menu/test_restaurant_menu.py | 3 +- .../restaurant_menu_item.py | 3 +- .../restaurant_order_entry.py | 9 +- .../restaurant_order_entry_item.py | 3 +- .../restaurant_reservation.py | 6 +- .../test_restaurant_reservation.py | 2 +- .../restaurant_table/restaurant_table.py | 5 +- .../restaurant_table/test_restaurant_table.py | 1 - erpnext/selling/doctype/customer/customer.py | 22 +++-- .../selling/doctype/customer/test_customer.py | 12 ++- .../customer_credit_limit.py | 2 + .../doctype/industry_type/industry_type.py | 2 +- .../industry_type/test_industry_type.py | 2 +- .../installation_note/installation_note.py | 6 +- .../test_installation_note.py | 1 - .../installation_note_item.py | 2 +- .../doctype/product_bundle/product_bundle.py | 7 +- .../product_bundle/test_product_bundle.py | 2 +- .../product_bundle_item.py | 3 +- .../selling/doctype/quotation/quotation.py | 5 +- .../doctype/quotation/quotation_dashboard.py | 2 + .../doctype/quotation/test_quotation.py | 17 ++-- .../doctype/quotation_item/quotation_item.py | 2 +- .../doctype/sales_order/sales_order.py | 36 +++++--- .../sales_order/sales_order_dashboard.py | 2 + .../doctype/sales_order/test_sales_order.py | 60 +++++++----- .../sales_order_item/sales_order_item.py | 3 +- .../sales_partner_type/sales_partner_type.py | 2 + .../test_sales_partner_type.py | 1 + .../selling/doctype/sales_team/sales_team.py | 2 +- .../selling_settings/selling_settings.py | 8 +- .../selling_settings/test_selling_settings.py | 1 + .../selling/doctype/sms_center/sms_center.py | 11 +-- .../page/point_of_sale/point_of_sale.py | 7 +- .../selling/page/sales_funnel/sales_funnel.py | 8 +- .../address_and_contacts.py | 6 +- .../available_stock_for_packing_items.py | 2 + .../customer_acquisition_and_loyalty.py | 3 + .../customer_credit_balance.py | 5 +- .../customer_wise_item_price.py | 3 +- .../inactive_customers/inactive_customers.py | 4 +- .../item_wise_sales_history.py | 2 + .../pending_so_items_for_purchase_request.py | 2 + ...t_pending_so_items_for_purchase_request.py | 10 +- .../quotation_trends/quotation_trends.py | 6 +- .../report/sales_analytics/sales_analytics.py | 7 +- .../report/sales_analytics/test_analytics.py | 9 +- .../sales_order_analysis.py | 7 +- .../sales_order_trends/sales_order_trends.py | 6 +- .../sales_partner_commission_summary.py | 4 +- .../item_group_wise_sales_target_variance.py | 10 +- ...ner_target_variance_based_on_item_group.py | 7 +- .../sales_partner_transaction_summary.py | 4 +- .../sales_person_commission_summary.py | 4 +- ...son_target_variance_based_on_item_group.py | 7 +- .../sales_person_wise_transaction_summary.py | 6 +- ...ory_target_variance_based_on_item_group.py | 7 +- .../territory_wise_sales.py | 5 +- erpnext/selling/sales_common.js | 2 +- erpnext/setup/default_energy_point_rules.py | 1 + erpnext/setup/default_success_action.py | 1 + .../authorization_control.py | 7 +- .../authorization_rule/authorization_rule.py | 8 +- .../test_authorization_rule.py | 1 - erpnext/setup/doctype/brand/brand.py | 4 +- erpnext/setup/doctype/brand/test_brand.py | 2 +- erpnext/setup/doctype/company/company.py | 28 +++--- .../doctype/company/company_dashboard.py | 2 + erpnext/setup/doctype/company/test_company.py | 10 +- .../currency_exchange/currency_exchange.py | 5 +- .../test_currency_exchange.py | 8 +- .../doctype/customer_group/customer_group.py | 5 +- .../customer_group/test_customer_group.py | 1 + .../doctype/email_digest/email_digest.py | 27 ++++-- erpnext/setup/doctype/email_digest/quotes.py | 2 + .../doctype/email_digest/test_email_digest.py | 1 - .../email_digest_recipient.py | 2 + .../global_defaults/global_defaults.py | 4 +- .../global_defaults/test_global_defaults.py | 2 +- .../setup/doctype/item_group/item_group.py | 17 ++-- .../doctype/item_group/test_item_group.py | 12 ++- .../doctype/naming_series/naming_series.py | 10 +- .../setup/doctype/party_type/party_type.py | 2 + .../doctype/party_type/test_party_type.py | 1 - .../doctype/print_heading/print_heading.py | 2 +- .../print_heading/test_print_heading.py | 2 +- .../quotation_lost_reason.py | 2 +- .../test_quotation_lost_reason.py | 2 +- .../quotation_lost_reason_detail.py | 2 + .../doctype/sales_partner/sales_partner.py | 4 +- .../sales_partner/test_sales_partner.py | 2 +- .../doctype/sales_person/sales_person.py | 3 + .../sales_person/sales_person_dashboard.py | 2 + .../doctype/sales_person/test_sales_person.py | 1 + .../doctype/supplier_group/supplier_group.py | 2 + .../supplier_group/test_supplier_group.py | 1 + .../doctype/target_detail/target_detail.py | 2 +- .../terms_and_conditions.py | 8 +- .../test_terms_and_conditions.py | 2 +- erpnext/setup/doctype/territory/territory.py | 7 +- .../setup/doctype/territory/test_territory.py | 2 +- .../test_transaction_deletion_record.py | 4 +- .../transaction_deletion_record.py | 6 +- .../transaction_deletion_record_item.py | 2 + erpnext/setup/doctype/uom/test_uom.py | 2 +- erpnext/setup/doctype/uom/uom.py | 2 +- .../test_uom_conversion_factor.py | 1 + .../uom_conversion_factor.py | 2 + .../website_item_group/website_item_group.py | 2 +- erpnext/setup/install.py | 14 +-- .../setup_wizard/data/dashboard_charts.py | 6 +- .../setup/setup_wizard/data/industry_type.py | 2 + .../setup_wizard/operations/company_setup.py | 1 - .../operations/default_website.py | 3 +- .../operations/install_fixtures.py | 10 +- .../setup_wizard/operations/sample_data.py | 8 +- erpnext/setup/setup_wizard/setup_wizard.py | 5 +- erpnext/setup/setup_wizard/utils.py | 6 +- erpnext/setup/utils.py | 6 +- erpnext/shopping_cart/cart.py | 16 ++-- .../shopping_cart_settings.py | 7 +- .../test_shopping_cart_settings.py | 10 +- erpnext/shopping_cart/filters.py | 2 + erpnext/shopping_cart/product_info.py | 10 +- erpnext/shopping_cart/product_query.py | 2 + erpnext/shopping_cart/search.py | 4 +- erpnext/shopping_cart/test_shopping_cart.py | 9 +- erpnext/shopping_cart/utils.py | 7 +- erpnext/startup/__init__.py | 1 - erpnext/startup/boot.py | 2 + erpnext/startup/filters.py | 2 +- erpnext/startup/leaderboard.py | 4 +- erpnext/startup/notifications.py | 2 + erpnext/stock/__init__.py | 1 + erpnext/stock/dashboard/item_dashboard.py | 3 +- .../dashboard/warehouse_capacity_dashboard.py | 5 +- .../warehouse_wise_stock_value.py | 5 +- erpnext/stock/doctype/batch/batch.py | 9 +- erpnext/stock/doctype/batch/test_batch.py | 8 +- erpnext/stock/doctype/bin/bin.py | 5 +- erpnext/stock/doctype/bin/test_bin.py | 1 - .../customs_tariff_number.py | 3 +- .../test_customs_tariff_number.py | 2 +- .../doctype/delivery_note/delivery_note.py | 17 ++-- .../delivery_note/delivery_note_dashboard.py | 2 + .../delivery_note/test_delivery_note.py | 65 ++++++++----- .../delivery_note_item/delivery_note_item.py | 2 +- .../delivery_settings/delivery_settings.py | 3 +- .../test_delivery_settings.py | 2 +- .../doctype/delivery_stop/delivery_stop.py | 2 + .../doctype/delivery_trip/delivery_trip.py | 2 +- .../delivery_trip/test_delivery_trip.py | 11 ++- erpnext/stock/doctype/item/item.py | 42 ++++++--- erpnext/stock/doctype/item/item_dashboard.py | 2 + erpnext/stock/doctype/item/test_item.py | 28 ++++-- .../item_alternative/item_alternative.py | 2 + .../item_alternative/test_item_alternative.py | 28 ++++-- .../doctype/item_attribute/item_attribute.py | 10 +- .../item_attribute/test_item_attribute.py | 5 +- .../item_attribute_value.py | 3 +- .../item_customer_detail.py | 2 +- .../doctype/item_default/item_default.py | 2 + .../item_manufacturer/item_manufacturer.py | 1 + .../test_item_manufacturer.py | 1 + .../stock/doctype/item_price/item_price.py | 1 + .../doctype/item_price/test_item_price.py | 5 +- .../item_quality_inspection_parameter.py | 2 +- .../doctype/item_reorder/item_reorder.py | 2 +- .../doctype/item_supplier/item_supplier.py | 2 +- erpnext/stock/doctype/item_tax/item_tax.py | 2 +- .../doctype/item_variant/item_variant.py | 3 +- .../item_variant_attribute.py | 3 +- .../item_variant_settings.py | 4 +- .../test_item_variant_settings.py | 1 + .../item_website_specification.py | 2 +- .../landed_cost_item/landed_cost_item.py | 2 +- .../landed_cost_purchase_receipt.py | 2 +- .../landed_cost_taxes_and_charges.py | 3 +- .../landed_cost_voucher.py | 13 ++- .../test_landed_cost_voucher.py | 18 +++- .../doctype/manufacturer/manufacturer.py | 5 +- .../doctype/manufacturer/test_manufacturer.py | 1 - .../material_request/material_request.py | 14 ++- .../material_request_dashboard.py | 1 + .../material_request/test_material_request.py | 15 ++- .../material_request_item.py | 3 +- .../stock/doctype/packed_item/packed_item.py | 13 ++- .../doctype/packing_slip/test_packing_slip.py | 1 - .../packing_slip_item/packing_slip_item.py | 2 +- erpnext/stock/doctype/pick_list/pick_list.py | 19 ++-- .../doctype/pick_list/pick_list_dashboard.py | 2 +- .../stock/doctype/pick_list/test_pick_list.py | 12 ++- .../doctype/pick_list_item/pick_list_item.py | 2 + .../stock/doctype/price_list/price_list.py | 9 +- .../doctype/price_list/test_price_list.py | 1 + .../price_list_country/price_list_country.py | 3 +- .../purchase_receipt/purchase_receipt.py | 22 ++--- .../purchase_receipt_dashboard.py | 2 + .../purchase_receipt/test_purchase_receipt.py | 91 ++++++++++++------- .../purchase_receipt_item.py | 2 +- .../doctype/putaway_rule/putaway_rule.py | 12 ++- .../doctype/putaway_rule/test_putaway_rule.py | 14 ++- .../quality_inspection/quality_inspection.py | 12 ++- .../quality_inspection_parameter.py | 2 + .../test_quality_inspection_parameter.py | 1 + .../quality_inspection_parameter_group.py | 2 + ...test_quality_inspection_parameter_group.py | 1 + .../quality_inspection_reading.py | 2 +- .../quality_inspection_template.py | 2 + .../test_quality_inspection_template.py | 1 + .../quick_stock_balance.py | 3 + .../repost_item_valuation.py | 22 +++-- .../test_repost_item_valuation.py | 1 + erpnext/stock/doctype/serial_no/serial_no.py | 15 +-- .../stock/doctype/serial_no/test_serial_no.py | 10 +- erpnext/stock/doctype/shipment/shipment.py | 9 +- .../stock/doctype/shipment/test_shipment.py | 5 +- .../shipment_delivery_note.py | 2 + .../shipment_parcel/shipment_parcel.py | 2 + .../shipment_parcel_template.py | 2 + .../test_shipment_parcel_template.py | 1 + .../stock/doctype/stock_entry/stock_entry.py | 50 ++++++---- .../doctype/stock_entry/stock_entry_utils.py | 7 +- .../doctype/stock_entry/test_stock_entry.py | 43 ++++++--- .../stock_entry_detail/stock_entry_detail.py | 2 +- .../stock_entry_type/stock_entry_type.py | 2 + .../stock_entry_type/test_stock_entry_type.py | 2 +- .../stock_ledger_entry/stock_ledger_entry.py | 16 ++-- .../test_stock_ledger_entry.py | 28 +++--- .../stock_reconciliation.py | 24 +++-- .../test_stock_reconciliation.py | 25 +++-- .../stock_reconciliation_item.py | 3 +- .../doctype/stock_settings/stock_settings.py | 8 +- .../stock_settings/test_stock_settings.py | 4 +- .../doctype/uom_category/test_uom_category.py | 1 + .../doctype/uom_category/uom_category.py | 2 + .../uom_conversion_detail.py | 2 +- .../variant_field/test_variant_field.py | 1 + .../doctype/variant_field/variant_field.py | 2 + .../stock/doctype/warehouse/test_warehouse.py | 6 +- erpnext/stock/doctype/warehouse/warehouse.py | 15 ++- .../warehouse_type/test_warehouse_type.py | 1 + .../doctype/warehouse_type/warehouse_type.py | 2 + erpnext/stock/get_item_details.py | 29 +++--- erpnext/stock/reorder_item.py | 10 +- .../batch_item_expiry_status.py | 4 +- erpnext/stock/report/bom_search/bom_search.py | 3 +- .../cogs_by_item_group/cogs_by_item_group.py | 3 +- .../delayed_item_report.py | 2 + .../delayed_order_report.py | 3 + .../delivery_note_trends.py | 6 +- ...incorrect_balance_qty_after_transaction.py | 3 +- .../incorrect_serial_no_valuation.py | 5 +- .../incorrect_stock_value_report.py | 9 +- .../item_price_stock/item_price_stock.py | 2 + .../stock/report/item_prices/item_prices.py | 4 +- .../item_shortage_report.py | 2 + .../item_variant_details.py | 2 + .../itemwise_recommended_reorder_level.py | 3 +- .../process_loss_report.py | 3 +- .../product_bundle_balance.py | 4 +- .../purchase_receipt_trends.py | 6 +- .../serial_no_ledger/serial_no_ledger.py | 4 +- .../stock/report/stock_ageing/stock_ageing.py | 8 +- .../report/stock_analytics/stock_analytics.py | 9 +- .../stock_analytics/test_stock_analytics.py | 2 +- .../stock_and_account_value_comparison.py | 9 +- .../report/stock_balance/stock_balance.py | 19 ++-- .../stock/report/stock_ledger/stock_ledger.py | 9 +- .../stock_projected_qty.py | 8 +- .../stock_qty_vs_serial_no_count.py | 2 + .../supplier_wise_sales_analytics.py | 2 + .../total_stock_summary.py | 2 + ...rehouse_wise_item_balance_age_and_value.py | 17 +++- erpnext/stock/stock_balance.py | 8 +- erpnext/stock/stock_ledger.py | 23 +++-- erpnext/stock/utils.py | 12 ++- erpnext/support/__init__.py | 1 + erpnext/support/doctype/issue/issue.py | 17 ++-- erpnext/support/doctype/issue/test_issue.py | 16 ++-- .../doctype/issue_priority/issue_priority.py | 4 +- .../issue_priority/test_issue_priority.py | 4 +- .../support/doctype/issue_type/issue_type.py | 3 +- .../doctype/issue_type/test_issue_type.py | 2 +- .../pause_sla_on_status.py | 2 + .../doctype/service_day/service_day.py | 2 + .../service_level_agreement.py | 25 ++++- .../service_level_agreement_dashboard.py | 1 + .../test_service_level_agreement.py | 11 ++- .../service_level_priority.py | 2 + .../sla_fulfilled_on_status.py | 1 + .../support_search_source.py | 2 + .../support_settings/support_settings.py | 3 +- .../support_settings/test_support_settings.py | 1 + .../warranty_claim/test_warranty_claim.py | 3 +- .../doctype/warranty_claim/warranty_claim.py | 8 +- .../first_response_time_for_issues.py | 2 + .../report/issue_analytics/issue_analytics.py | 12 ++- .../issue_analytics/test_issue_analytics.py | 13 ++- .../report/issue_summary/issue_summary.py | 7 +- .../support_hour_distribution.py | 3 +- erpnext/support/web_form/issues/issues.py | 1 - .../telephony/doctype/call_log/call_log.py | 5 +- .../doctype/call_log/test_call_log.py | 1 + .../incoming_call_handling_schedule.py | 2 + .../incoming_call_settings.py | 7 +- .../test_incoming_call_settings.py | 1 + .../test_voice_call_settings.py | 1 + .../voice_call_settings.py | 2 + erpnext/templates/pages/cart.py | 3 +- erpnext/templates/pages/courses.py | 2 +- erpnext/templates/pages/help.py | 5 +- erpnext/templates/pages/home.py | 1 + .../pages/integrations/gocardless_checkout.py | 13 ++- .../integrations/gocardless_confirmation.py | 7 +- .../templates/pages/material_request_info.py | 3 +- .../pages/non_profit/join_chapter.py | 2 + .../pages/non_profit/leave_chapter.py | 2 + erpnext/templates/pages/order.py | 12 ++- erpnext/templates/pages/partners.py | 1 + erpnext/templates/pages/product_search.py | 4 +- erpnext/templates/pages/projects.py | 3 +- .../pages/regional/india/update_gstin.py | 3 +- erpnext/templates/pages/rfq.py | 3 + erpnext/templates/pages/search_help.py | 11 ++- erpnext/templates/pages/task_info.py | 2 +- erpnext/templates/pages/timelog_info.py | 2 +- erpnext/tests/test_init.py | 4 +- erpnext/tests/test_notifications.py | 5 +- erpnext/tests/test_regional.py | 8 +- erpnext/tests/test_search.py | 3 + erpnext/tests/test_subcontracting.py | 26 ++++-- erpnext/tests/test_woocommerce.py | 10 +- erpnext/tests/ui_test_helpers.py | 1 + erpnext/tests/utils.py | 1 + erpnext/utilities/__init__.py | 5 +- erpnext/utilities/activation.py | 5 +- erpnext/utilities/bot.py | 4 +- .../doctype/rename_tool/rename_tool.py | 3 +- erpnext/utilities/doctype/sms_log/sms_log.py | 2 +- .../utilities/doctype/sms_log/test_sms_log.py | 1 - erpnext/utilities/doctype/video/test_video.py | 1 + erpnext/utilities/doctype/video/video.py | 13 ++- .../video_settings/test_video_settings.py | 1 + .../doctype/video_settings/video_settings.py | 4 +- erpnext/utilities/hierarchy_chart.py | 2 + erpnext/utilities/product.py | 4 +- .../youtube_interactions.py | 2 + erpnext/utilities/transaction_base.py | 6 +- .../utilities/web_form/addresses/addresses.py | 1 - erpnext/www/all-products/index.py | 6 +- erpnext/www/book_appointment/index.py | 3 +- erpnext/www/book_appointment/verify/index.py | 3 +- erpnext/www/lms/content.py | 4 +- erpnext/www/lms/course.py | 4 +- erpnext/www/lms/index.py | 4 +- erpnext/www/lms/profile.py | 4 +- erpnext/www/lms/program.py | 4 +- erpnext/www/lms/topic.py | 4 +- erpnext/www/payment_setup_certification.py | 1 + erpnext/www/support/index.py | 2 + pyproject.toml | 11 +++ 2060 files changed, 7707 insertions(+), 3083 deletions(-) create mode 100644 pyproject.toml diff --git a/.github/helper/.flake8_strict b/.github/helper/.flake8_strict index c17871dfa9..4c7f5f82cf 100644 --- a/.github/helper/.flake8_strict +++ b/.github/helper/.flake8_strict @@ -44,7 +44,6 @@ ignore = E303, E305, E306, - E401, E402, E501, E502, @@ -52,7 +51,6 @@ ignore = E702, E703, E741, - F401, F403, W191, W291, diff --git a/.github/helper/semgrep_rules/frappe_correctness.py b/.github/helper/semgrep_rules/frappe_correctness.py index 745e6463b8..83d4acfe4a 100644 --- a/.github/helper/semgrep_rules/frappe_correctness.py +++ b/.github/helper/semgrep_rules/frappe_correctness.py @@ -1,5 +1,5 @@ import frappe -from frappe import _, flt +from frappe import _ from frappe.model.document import Document diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index c2363397c4..16e490a460 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -24,4 +24,4 @@ jobs: python-version: 3.8 - name: Install and Run Pre-commit - uses: pre-commit/action@v2.0.0 + uses: pre-commit/action@v2.0.3 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index df15b687c3..2b3a471f77 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,6 +23,12 @@ repos: args: ['--config', '.github/helper/.flake8_strict'] exclude: ".*setup.py$" + - repo: https://github.com/timothycrosley/isort + rev: 5.9.1 + hooks: + - id: isort + exclude: ".*setup.py$" + ci: autoupdate_schedule: weekly skip: [] diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 17d650568a..45218276f6 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals + import inspect + import frappe + from erpnext.hooks import regional_overrides -from frappe.utils import getdate __version__ = '13.9.0' diff --git a/erpnext/accounts/custom/address.py b/erpnext/accounts/custom/address.py index 628b713472..a6d08d8ff6 100644 --- a/erpnext/accounts/custom/address.py +++ b/erpnext/accounts/custom/address.py @@ -1,7 +1,11 @@ import frappe from frappe import _ -from frappe.contacts.doctype.address.address import Address -from frappe.contacts.doctype.address.address import get_address_templates, get_address_display +from frappe.contacts.doctype.address.address import ( + Address, + get_address_display, + get_address_templates, +) + class ERPNextAddress(Address): def validate(self): diff --git a/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py b/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py index 85f54f98ba..5eb857719a 100644 --- a/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py +++ b/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py @@ -2,14 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, json + +import frappe from frappe import _ -from frappe.utils import add_to_date, date_diff, getdate, nowdate, get_last_day, formatdate, get_link_to_form -from erpnext.accounts.report.general_ledger.general_ledger import execute +from frappe.utils import add_to_date, formatdate, get_link_to_form, getdate, nowdate from frappe.utils.dashboard import cache_source from frappe.utils.dateutils import get_from_date_from_timespan, get_period_ending from frappe.utils.nestedset import get_descendants_of + @frappe.whitelist() @cache_source def get(chart_name = None, chart = None, no_cache = None, filters = None, from_date = None, diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index 173b1eee9a..bcd07718a5 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -2,11 +2,26 @@ from __future__ import unicode_literals import frappe from frappe import _ -from frappe.utils import date_diff, add_months, today, getdate, add_days, flt, get_last_day, get_first_day, cint, get_link_to_form, rounded -from erpnext.accounts.utils import get_account_currency from frappe.email import sendmail_to_system_managers -from frappe.utils.background_jobs import enqueue -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions +from frappe.utils import ( + add_days, + add_months, + cint, + date_diff, + flt, + get_first_day, + get_last_day, + get_link_to_form, + getdate, + rounded, + today, +) + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) +from erpnext.accounts.utils import get_account_currency + def validate_service_stop_date(doc): ''' Validates service_stop_date for Purchase Invoice and Sales Invoice ''' diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py index f763df0852..f6198eb23b 100644 --- a/erpnext/accounts/doctype/account/account.py +++ b/erpnext/accounts/doctype/account/account.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _, throw from frappe.utils import cint, cstr -from frappe import throw, _ from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_of + class RootNotEditable(frappe.ValidationError): pass class BalanceMismatchError(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py index 927adc7086..d6ccd16936 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py +++ b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals +import json +import os -import frappe, os, json +import frappe from frappe.utils import cstr -from unidecode import unidecode -from six import iteritems from frappe.utils.nestedset import rebuild_tree +from six import iteritems +from unidecode import unidecode + def create_charts(company, chart_template=None, existing_company=None, custom_chart=None): chart = custom_chart or get_chart(chart_template, existing_company) @@ -91,11 +94,14 @@ def get_chart(chart_template, existing_company=None): return get_account_tree_from_existing_company(existing_company) elif chart_template == "Standard": - from erpnext.accounts.doctype.account.chart_of_accounts.verified import standard_chart_of_accounts + from erpnext.accounts.doctype.account.chart_of_accounts.verified import ( + standard_chart_of_accounts, + ) return standard_chart_of_accounts.get() elif chart_template == "Standard with Numbers": - from erpnext.accounts.doctype.account.chart_of_accounts.verified \ - import standard_chart_of_accounts_with_account_number + from erpnext.accounts.doctype.account.chart_of_accounts.verified import ( + standard_chart_of_accounts_with_account_number, + ) return standard_chart_of_accounts_with_account_number.get() else: folders = ("verified",) diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/import_from_openerp.py b/erpnext/accounts/doctype/account/chart_of_accounts/import_from_openerp.py index eb3e7ffd90..72223573a2 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/import_from_openerp.py +++ b/erpnext/accounts/doctype/account/chart_of_accounts/import_from_openerp.py @@ -6,12 +6,13 @@ Import chart of accounts from OpenERP sources """ from __future__ import print_function, unicode_literals -import os, json import ast +import json +import os from xml.etree import ElementTree as ET -from frappe.utils.csvutils import read_csv_content -import frappe +import frappe +from frappe.utils.csvutils import read_csv_content from six import iteritems path = "/Users/nabinhait/projects/odoo/addons" diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py b/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py index 161e52a67d..f058afba6a 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get(): return { _("Application of Funds (Assets)"): { diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py b/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py index acb11e557a..9f33952035 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get(): return { _("Application of Funds (Assets)"): { diff --git a/erpnext/accounts/doctype/account/test_account.py b/erpnext/accounts/doctype/account/test_account.py index 533eda31d5..0c3b33e0b9 100644 --- a/erpnext/accounts/doctype/account/test_account.py +++ b/erpnext/accounts/doctype/account/test_account.py @@ -2,10 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest + import frappe -from erpnext.stock import get_warehouse_account, get_company_default_inventory_account -from erpnext.accounts.doctype.account.account import update_account_number, merge_account + +from erpnext.accounts.doctype.account.account import merge_account, update_account_number +from erpnext.stock import get_company_default_inventory_account, get_warehouse_account + class TestAccount(unittest.TestCase): def test_rename_account(self): diff --git a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py index fac28c9239..f3d1b3dc93 100644 --- a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py +++ b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py @@ -3,15 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe import _ + import json -from frappe.model.document import Document + +import frappe +from frappe import _, scrub from frappe.custom.doctype.custom_field.custom_field import create_custom_field -from frappe import scrub -from frappe.utils import cstr -from frappe.utils.background_jobs import enqueue from frappe.model import core_doctypes_list +from frappe.model.document import Document +from frappe.utils import cstr + class AccountingDimension(Document): def before_insert(self): diff --git a/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py b/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py index 4f3ee7643a..3769fc1270 100644 --- a/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py +++ b/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py @@ -3,10 +3,12 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice + +import frappe + from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice test_dependencies = ['Cost Center', 'Location', 'Warehouse', 'Department'] diff --git a/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py b/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py index 17cf549fc4..c116f16453 100644 --- a/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py +++ b/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AccountingDimensionDetail(Document): pass diff --git a/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py b/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py index 6aef9caa74..cb8c7d1c98 100644 --- a/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py +++ b/erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _, scrub from frappe.model.document import Document + class AccountingDimensionFilter(Document): def validate(self): self.validate_applicable_accounts() diff --git a/erpnext/accounts/doctype/accounting_dimension_filter/test_accounting_dimension_filter.py b/erpnext/accounts/doctype/accounting_dimension_filter/test_accounting_dimension_filter.py index 7f6254f99f..9968f68991 100644 --- a/erpnext/accounts/doctype/accounting_dimension_filter/test_accounting_dimension_filter.py +++ b/erpnext/accounts/doctype/accounting_dimension_filter/test_accounting_dimension_filter.py @@ -3,10 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + +from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension import ( + create_dimension, + disable_dimension, +) from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice -from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension import create_dimension, disable_dimension from erpnext.exceptions import InvalidAccountDimensionError, MandatoryAccountDimensionError test_dependencies = ['Location', 'Cost Center', 'Department'] diff --git a/erpnext/accounts/doctype/accounting_period/accounting_period.py b/erpnext/accounts/doctype/accounting_period/accounting_period.py index 739d8f6bc6..67d1a8a09b 100644 --- a/erpnext/accounts/doctype/accounting_period/accounting_period.py +++ b/erpnext/accounts/doctype/accounting_period/accounting_period.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document + class OverlapError(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/accounting_period/test_accounting_period.py b/erpnext/accounts/doctype/accounting_period/test_accounting_period.py index dc472c7695..5885b58e48 100644 --- a/erpnext/accounts/doctype/accounting_period/test_accounting_period.py +++ b/erpnext/accounts/doctype/accounting_period/test_accounting_period.py @@ -3,12 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, add_months -from erpnext.accounts.general_ledger import ClosedAccountingPeriod + +import frappe +from frappe.utils import add_months, nowdate + from erpnext.accounts.doctype.accounting_period.accounting_period import OverlapError from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.accounts.general_ledger import ClosedAccountingPeriod test_dependencies = ['Item'] diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py index 62c97f24d5..f54473351a 100644 --- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py +++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py @@ -4,11 +4,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cint -from frappe.model.document import Document from frappe.custom.doctype.property_setter.property_setter import make_property_setter +from frappe.model.document import Document +from frappe.utils import cint class AccountsSettings(Document): diff --git a/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py index 014cf45e51..c1c156fa65 100644 --- a/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py +++ b/erpnext/accounts/doctype/accounts_settings/test_accounts_settings.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import unittest import frappe diff --git a/erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.py b/erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.py index 597d2ccc62..0c98f24874 100644 --- a/erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.py +++ b/erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AdvanceTaxesandCharges(Document): pass diff --git a/erpnext/accounts/doctype/allowed_dimension/allowed_dimension.py b/erpnext/accounts/doctype/allowed_dimension/allowed_dimension.py index c2afc1a262..b5e7ad3fbe 100644 --- a/erpnext/accounts/doctype/allowed_dimension/allowed_dimension.py +++ b/erpnext/accounts/doctype/allowed_dimension/allowed_dimension.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AllowedDimension(Document): pass diff --git a/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py index a3e4bbcd09..3e84c3071b 100644 --- a/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py +++ b/erpnext/accounts/doctype/allowed_to_transact_with/allowed_to_transact_with.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class AllowedToTransactWith(Document): pass diff --git a/erpnext/accounts/doctype/applicable_on_account/applicable_on_account.py b/erpnext/accounts/doctype/applicable_on_account/applicable_on_account.py index 0fccaf302f..91331fadd5 100644 --- a/erpnext/accounts/doctype/applicable_on_account/applicable_on_account.py +++ b/erpnext/accounts/doctype/applicable_on_account/applicable_on_account.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ApplicableOnAccount(Document): pass diff --git a/erpnext/accounts/doctype/bank/bank.py b/erpnext/accounts/doctype/bank/bank.py index 99fa21c8f9..e1eb984f5f 100644 --- a/erpnext/accounts/doctype/bank/bank.py +++ b/erpnext/accounts/doctype/bank/bank.py @@ -3,9 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + +from frappe.contacts.address_and_contact import ( + delete_contact_and_address, + load_address_and_contact, +) from frappe.model.document import Document -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address + class Bank(Document): def onload(self): diff --git a/erpnext/accounts/doctype/bank/test_bank.py b/erpnext/accounts/doctype/bank/test_bank.py index d8741f24c5..62d14d6fc6 100644 --- a/erpnext/accounts/doctype/bank/test_bank.py +++ b/erpnext/accounts/doctype/bank/test_bank.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestBank(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_account/bank_account.py b/erpnext/accounts/doctype/bank_account/bank_account.py index 3e08c2812e..703f55de80 100644 --- a/erpnext/accounts/doctype/bank_account/bank_account.py +++ b/erpnext/accounts/doctype/bank_account/bank_account.py @@ -3,10 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ +from frappe.contacts.address_and_contact import ( + delete_contact_and_address, + load_address_and_contact, +) from frappe.model.document import Document -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address + class BankAccount(Document): def onload(self): diff --git a/erpnext/accounts/doctype/bank_account/test_bank_account.py b/erpnext/accounts/doctype/bank_account/test_bank_account.py index ed34d17ee7..dc970f3d99 100644 --- a/erpnext/accounts/doctype/bank_account/test_bank_account.py +++ b/erpnext/accounts/doctype/bank_account/test_bank_account.py @@ -3,11 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe -from frappe import _ -from frappe import ValidationError import unittest +import frappe +from frappe import ValidationError + # test_records = frappe.get_test_records('Bank Account') class TestBankAccount(unittest.TestCase): diff --git a/erpnext/accounts/doctype/bank_account_subtype/bank_account_subtype.py b/erpnext/accounts/doctype/bank_account_subtype/bank_account_subtype.py index ab52c4af77..84fa0c92b8 100644 --- a/erpnext/accounts/doctype/bank_account_subtype/bank_account_subtype.py +++ b/erpnext/accounts/doctype/bank_account_subtype/bank_account_subtype.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class BankAccountSubtype(Document): pass diff --git a/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py b/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py index ca3addc979..d4eb88b365 100644 --- a/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py +++ b/erpnext/accounts/doctype/bank_account_subtype/test_bank_account_subtype.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestBankAccountSubtype(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_account_type/bank_account_type.py b/erpnext/accounts/doctype/bank_account_type/bank_account_type.py index b7dc0e0dc3..bba43dc486 100644 --- a/erpnext/accounts/doctype/bank_account_type/bank_account_type.py +++ b/erpnext/accounts/doctype/bank_account_type/bank_account_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class BankAccountType(Document): pass diff --git a/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py b/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py index f04725a2e5..00fd4338d2 100644 --- a/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py +++ b/erpnext/accounts/doctype/bank_account_type/test_bank_account_type.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestBankAccountType(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_clearance/bank_clearance.py b/erpnext/accounts/doctype/bank_clearance/bank_clearance.py index 79f5596384..340b448178 100644 --- a/erpnext/accounts/doctype/bank_clearance/bank_clearance.py +++ b/erpnext/accounts/doctype/bank_clearance/bank_clearance.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt, getdate, nowdate, fmt_money -from frappe import msgprint, _ +from frappe import _, msgprint from frappe.model.document import Document +from frappe.utils import flt, fmt_money, getdate, nowdate form_grid_templates = { "journal_entries": "templates/form_grid/bank_reconciliation_grid.html" diff --git a/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py b/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py index 833abde5ce..bdf3c7f48a 100644 --- a/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py +++ b/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestBankClearance(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_clearance_detail/bank_clearance_detail.py b/erpnext/accounts/doctype/bank_clearance_detail/bank_clearance_detail.py index 59299f81e5..1b23400cd3 100644 --- a/erpnext/accounts/doctype/bank_clearance_detail/bank_clearance_detail.py +++ b/erpnext/accounts/doctype/bank_clearance_detail/bank_clearance_detail.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class BankClearanceDetail(Document): pass diff --git a/erpnext/accounts/doctype/bank_guarantee/bank_guarantee.py b/erpnext/accounts/doctype/bank_guarantee/bank_guarantee.py index a0aac6ab17..8043c5f04e 100644 --- a/erpnext/accounts/doctype/bank_guarantee/bank_guarantee.py +++ b/erpnext/accounts/doctype/bank_guarantee/bank_guarantee.py @@ -3,10 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe.model.document import Document + +import json + +import frappe from frappe import _ from frappe.desk.search import sanitize_searchfield +from frappe.model.document import Document + class BankGuarantee(Document): def validate(self): diff --git a/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py b/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py index 816743a9b0..5cd455fd6c 100644 --- a/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py +++ b/erpnext/accounts/doctype/bank_guarantee/test_bank_guarantee.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestBankGuarantee(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py index 8a17233cf7..ce64ee4f5a 100644 --- a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py +++ b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py @@ -3,17 +3,21 @@ # For license information, please see license.txt from __future__ import unicode_literals + import json import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document from frappe.utils import flt from erpnext import get_company_currency -from erpnext.accounts.utils import get_balance_on -from erpnext.accounts.report.bank_reconciliation_statement.bank_reconciliation_statement import get_entries, get_amounts_not_reflected_in_system from erpnext.accounts.doctype.bank_transaction.bank_transaction import get_paid_amount +from erpnext.accounts.report.bank_reconciliation_statement.bank_reconciliation_statement import ( + get_amounts_not_reflected_in_system, + get_entries, +) +from erpnext.accounts.utils import get_balance_on class BankReconciliationTool(Document): diff --git a/erpnext/accounts/doctype/bank_reconciliation_tool/test_bank_reconciliation_tool.py b/erpnext/accounts/doctype/bank_reconciliation_tool/test_bank_reconciliation_tool.py index d96950abbc..55b83b6bdf 100644 --- a/erpnext/accounts/doctype/bank_reconciliation_tool/test_bank_reconciliation_tool.py +++ b/erpnext/accounts/doctype/bank_reconciliation_tool/test_bank_reconciliation_tool.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestBankReconciliationTool(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py b/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py index ffc9d1c465..25d1023c27 100644 --- a/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py +++ b/erpnext/accounts/doctype/bank_statement_import/bank_statement_import.py @@ -3,22 +3,22 @@ # For license information, please see license.txt from __future__ import unicode_literals + import csv import json import re +import frappe import openpyxl +from frappe import _ +from frappe.core.doctype.data_import.data_import import DataImport +from frappe.core.doctype.data_import.importer import Importer, ImportFile +from frappe.utils.background_jobs import enqueue +from frappe.utils.xlsxutils import ILLEGAL_CHARACTERS_RE, handle_html from openpyxl.styles import Font from openpyxl.utils import get_column_letter from six import string_types -import frappe -from frappe.core.doctype.data_import.importer import Importer, ImportFile -from frappe.utils.background_jobs import enqueue -from frappe.utils.xlsxutils import handle_html, ILLEGAL_CHARACTERS_RE -from frappe import _ - -from frappe.core.doctype.data_import.data_import import DataImport class BankStatementImport(DataImport): def __init__(self, *args, **kwargs): diff --git a/erpnext/accounts/doctype/bank_statement_import/test_bank_statement_import.py b/erpnext/accounts/doctype/bank_statement_import/test_bank_statement_import.py index cd5831412d..5b45fa204b 100644 --- a/erpnext/accounts/doctype/bank_statement_import/test_bank_statement_import.py +++ b/erpnext/accounts/doctype/bank_statement_import/test_bank_statement_import.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestBankStatementImport(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py index 235af2d862..c4cf37e0c8 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from erpnext.controllers.status_updater import StatusUpdater from frappe.utils import flt from six.moves import reduce -from frappe import _ + +from erpnext.controllers.status_updater import StatusUpdater + class BankTransaction(StatusUpdater): def after_insert(self): diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py index dc3b867470..e8d032be36 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe.utils import getdate from frappe.utils.dateutils import parse_date from six import iteritems + @frappe.whitelist() def upload_bank_statement(): if getattr(frappe, "uploaded_file", None): diff --git a/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py index 439d489119..35d08bd803 100644 --- a/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py +++ b/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py @@ -3,14 +3,19 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest import json -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice -from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice +import unittest + +import frappe + +from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import ( + get_linked_payments, + reconcile_vouchers, +) from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry -from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import reconcile_vouchers, get_linked_payments from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile +from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice test_dependencies = ["Item", "Cost Center"] diff --git a/erpnext/accounts/doctype/bank_transaction_mapping/bank_transaction_mapping.py b/erpnext/accounts/doctype/bank_transaction_mapping/bank_transaction_mapping.py index 95a5bc3388..8b809fe705 100644 --- a/erpnext/accounts/doctype/bank_transaction_mapping/bank_transaction_mapping.py +++ b/erpnext/accounts/doctype/bank_transaction_mapping/bank_transaction_mapping.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class BankTransactionMapping(Document): pass diff --git a/erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.py b/erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.py index d6d7c109cf..2546f27a46 100644 --- a/erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.py +++ b/erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class BankTransactionPayments(Document): pass diff --git a/erpnext/accounts/doctype/budget/budget.py b/erpnext/accounts/doctype/budget/budget.py index d93b6ffbaf..9c20e82f16 100644 --- a/erpnext/accounts/doctype/budget/budget.py +++ b/erpnext/accounts/doctype/budget/budget.py @@ -1,15 +1,20 @@ - # -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, getdate, add_months, get_last_day, fmt_money, nowdate -from frappe.model.naming import make_autoname -from erpnext.accounts.utils import get_fiscal_year from frappe.model.document import Document -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions +from frappe.model.naming import make_autoname +from frappe.utils import add_months, flt, fmt_money, get_last_day, getdate + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) +from erpnext.accounts.utils import get_fiscal_year + class BudgetError(frappe.ValidationError): pass class DuplicateBudgetError(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/budget/test_budget.py b/erpnext/accounts/doctype/budget/test_budget.py index 6c25f0024d..cc8220920e 100644 --- a/erpnext/accounts/doctype/budget/test_budget.py +++ b/erpnext/accounts/doctype/budget/test_budget.py @@ -3,13 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, now_datetime + +import frappe +from frappe.utils import now_datetime, nowdate + +from erpnext.accounts.doctype.budget.budget import BudgetError, get_actual_expense +from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry from erpnext.accounts.utils import get_fiscal_year from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order -from erpnext.accounts.doctype.budget.budget import get_actual_expense, BudgetError -from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry test_dependencies = ['Monthly Distribution'] diff --git a/erpnext/accounts/doctype/budget_account/budget_account.py b/erpnext/accounts/doctype/budget_account/budget_account.py index 81b2709ba8..454e47d7a1 100644 --- a/erpnext/accounts/doctype/budget_account/budget_account.py +++ b/erpnext/accounts/doctype/budget_account/budget_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class BudgetAccount(Document): pass diff --git a/erpnext/accounts/doctype/c_form/c_form.py b/erpnext/accounts/doctype/c_form/c_form.py index cfe28f3ff9..b1ab648159 100644 --- a/erpnext/accounts/doctype/c_form/c_form.py +++ b/erpnext/accounts/doctype/c_form/c_form.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt from frappe import _ from frappe.model.document import Document +from frappe.utils import flt + class CForm(Document): def validate(self): diff --git a/erpnext/accounts/doctype/c_form/test_c_form.py b/erpnext/accounts/doctype/c_form/test_c_form.py index c4c95db0f2..e5c5615731 100644 --- a/erpnext/accounts/doctype/c_form/test_c_form.py +++ b/erpnext/accounts/doctype/c_form/test_c_form.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('C-Form') diff --git a/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py b/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py index 20e423a610..1316227df9 100644 --- a/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py +++ b/erpnext/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CFormInvoiceDetail(Document): pass diff --git a/erpnext/accounts/doctype/campaign_item/campaign_item.py b/erpnext/accounts/doctype/campaign_item/campaign_item.py index 4f5fd7f7d7..d78fdf5285 100644 --- a/erpnext/accounts/doctype/campaign_item/campaign_item.py +++ b/erpnext/accounts/doctype/campaign_item/campaign_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class CampaignItem(Document): pass diff --git a/erpnext/accounts/doctype/cash_flow_mapper/cash_flow_mapper.py b/erpnext/accounts/doctype/cash_flow_mapper/cash_flow_mapper.py index 7251533837..96920b329e 100644 --- a/erpnext/accounts/doctype/cash_flow_mapper/cash_flow_mapper.py +++ b/erpnext/accounts/doctype/cash_flow_mapper/cash_flow_mapper.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/cash_flow_mapping/cash_flow_mapping.py b/erpnext/accounts/doctype/cash_flow_mapping/cash_flow_mapping.py index b1ad2972be..9ec466a7a6 100644 --- a/erpnext/accounts/doctype/cash_flow_mapping/cash_flow_mapping.py +++ b/erpnext/accounts/doctype/cash_flow_mapping/cash_flow_mapping.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/cash_flow_mapping/test_cash_flow_mapping.py b/erpnext/accounts/doctype/cash_flow_mapping/test_cash_flow_mapping.py index 499c820479..5e44c61379 100644 --- a/erpnext/accounts/doctype/cash_flow_mapping/test_cash_flow_mapping.py +++ b/erpnext/accounts/doctype/cash_flow_mapping/test_cash_flow_mapping.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + class TestCashFlowMapping(unittest.TestCase): def setUp(self): diff --git a/erpnext/accounts/doctype/cash_flow_mapping_accounts/cash_flow_mapping_accounts.py b/erpnext/accounts/doctype/cash_flow_mapping_accounts/cash_flow_mapping_accounts.py index fc63b8f9af..5174035319 100644 --- a/erpnext/accounts/doctype/cash_flow_mapping_accounts/cash_flow_mapping_accounts.py +++ b/erpnext/accounts/doctype/cash_flow_mapping_accounts/cash_flow_mapping_accounts.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/cash_flow_mapping_template/cash_flow_mapping_template.py b/erpnext/accounts/doctype/cash_flow_mapping_template/cash_flow_mapping_template.py index 6f77a39bab..fabf5796bc 100644 --- a/erpnext/accounts/doctype/cash_flow_mapping_template/cash_flow_mapping_template.py +++ b/erpnext/accounts/doctype/cash_flow_mapping_template/cash_flow_mapping_template.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/cash_flow_mapping_template_details/cash_flow_mapping_template_details.py b/erpnext/accounts/doctype/cash_flow_mapping_template_details/cash_flow_mapping_template_details.py index e10b63829f..f0ff33fb38 100644 --- a/erpnext/accounts/doctype/cash_flow_mapping_template_details/cash_flow_mapping_template_details.py +++ b/erpnext/accounts/doctype/cash_flow_mapping_template_details/cash_flow_mapping_template_details.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/cashier_closing/cashier_closing.py b/erpnext/accounts/doctype/cashier_closing/cashier_closing.py index 081c6fa471..cab7d407b5 100644 --- a/erpnext/accounts/doctype/cashier_closing/cashier_closing.py +++ b/erpnext/accounts/doctype/cashier_closing/cashier_closing.py @@ -3,10 +3,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _ from frappe.model.document import Document -from frappe.utils import cint, flt, cstr -from frappe import _, msgprint, throw +from frappe.utils import flt + class CashierClosing(Document): def validate(self): diff --git a/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py b/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py index 3c489a7872..981093f3d0 100644 --- a/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py +++ b/erpnext/accounts/doctype/cashier_closing/test_cashier_closing.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCashierClosing(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/cashier_closing_payments/cashier_closing_payments.py b/erpnext/accounts/doctype/cashier_closing_payments/cashier_closing_payments.py index f73703158d..a2a8b9437e 100644 --- a/erpnext/accounts/doctype/cashier_closing_payments/cashier_closing_payments.py +++ b/erpnext/accounts/doctype/cashier_closing_payments/cashier_closing_payments.py @@ -3,8 +3,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CashierClosingPayments(Document): pass diff --git a/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py b/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py index 8456b49c8e..61968cf627 100644 --- a/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py +++ b/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py @@ -3,14 +3,26 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import csv +import os from functools import reduce -import frappe, csv, os + +import frappe from frappe import _ -from frappe.utils import cstr, cint from frappe.model.document import Document +from frappe.utils import cint, cstr from frappe.utils.csvutils import UnicodeWriter -from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import create_charts, build_tree_from_json -from frappe.utils.xlsxutils import read_xlsx_file_from_attached_file, read_xls_file_from_attached_file +from frappe.utils.xlsxutils import ( + read_xls_file_from_attached_file, + read_xlsx_file_from_attached_file, +) + +from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import ( + build_tree_from_json, + create_charts, +) + class ChartofAccountsImporter(Document): def validate(self): diff --git a/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py b/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py index 6ab19b771b..ca9cf699aa 100644 --- a/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py +++ b/erpnext/accounts/doctype/chart_of_accounts_importer/test_chart_of_accounts_importer.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestChartofAccountsImporter(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py b/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py index d62ee9deeb..0f595ba933 100644 --- a/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py +++ b/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document + class ChequePrintTemplate(Document): pass diff --git a/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py b/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py index fa9c5b5eb0..8ce8794cfc 100644 --- a/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py +++ b/erpnext/accounts/doctype/cheque_print_template/test_cheque_print_template.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Cheque Print Template') diff --git a/erpnext/accounts/doctype/closed_document/closed_document.py b/erpnext/accounts/doctype/closed_document/closed_document.py index 048ceeecbf..50469bc19c 100644 --- a/erpnext/accounts/doctype/closed_document/closed_document.py +++ b/erpnext/accounts/doctype/closed_document/closed_document.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ClosedDocument(Document): pass diff --git a/erpnext/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py index 981fec308c..166ebb83ac 100644 --- a/erpnext/accounts/doctype/cost_center/cost_center.py +++ b/erpnext/accounts/doctype/cost_center/cost_center.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cint, cstr +from frappe.utils import cint from frappe.utils.nestedset import NestedSet + from erpnext.accounts.utils import validate_field_number diff --git a/erpnext/accounts/doctype/cost_center/test_cost_center.py b/erpnext/accounts/doctype/cost_center/test_cost_center.py index 7779ccefc2..142b925c2e 100644 --- a/erpnext/accounts/doctype/cost_center/test_cost_center.py +++ b/erpnext/accounts/doctype/cost_center/test_cost_center.py @@ -1,7 +1,9 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest + import frappe test_records = frappe.get_test_records('Cost Center') diff --git a/erpnext/accounts/doctype/coupon_code/coupon_code.py b/erpnext/accounts/doctype/coupon_code/coupon_code.py index 92a816d25e..bb2615b361 100644 --- a/erpnext/accounts/doctype/coupon_code/coupon_code.py +++ b/erpnext/accounts/doctype/coupon_code/coupon_code.py @@ -3,10 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import (strip) +from frappe.utils import strip + + class CouponCode(Document): def autoname(self): self.coupon_name = strip(self.coupon_name) diff --git a/erpnext/accounts/doctype/coupon_code/test_coupon_code.py b/erpnext/accounts/doctype/coupon_code/test_coupon_code.py index 06987a8a4a..bf8c014a5b 100644 --- a/erpnext/accounts/doctype/coupon_code/test_coupon_code.py +++ b/erpnext/accounts/doctype/coupon_code/test_coupon_code.py @@ -3,11 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order -from erpnext.stock.get_item_details import get_item_details -from frappe.test_runner import make_test_objects test_dependencies = ['Item'] diff --git a/erpnext/accounts/doctype/customer_group_item/customer_group_item.py b/erpnext/accounts/doctype/customer_group_item/customer_group_item.py index df782ac9e0..100bfd5e66 100644 --- a/erpnext/accounts/doctype/customer_group_item/customer_group_item.py +++ b/erpnext/accounts/doctype/customer_group_item/customer_group_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class CustomerGroupItem(Document): pass diff --git a/erpnext/accounts/doctype/customer_item/customer_item.py b/erpnext/accounts/doctype/customer_item/customer_item.py index a577145e4e..da3533fcc6 100644 --- a/erpnext/accounts/doctype/customer_item/customer_item.py +++ b/erpnext/accounts/doctype/customer_item/customer_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class CustomerItem(Document): pass diff --git a/erpnext/accounts/doctype/discounted_invoice/discounted_invoice.py b/erpnext/accounts/doctype/discounted_invoice/discounted_invoice.py index 93dfcc14bd..11faa773c6 100644 --- a/erpnext/accounts/doctype/discounted_invoice/discounted_invoice.py +++ b/erpnext/accounts/doctype/discounted_invoice/discounted_invoice.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class DiscountedInvoice(Document): pass diff --git a/erpnext/accounts/doctype/distributed_cost_center/distributed_cost_center.py b/erpnext/accounts/doctype/distributed_cost_center/distributed_cost_center.py index 48c589f0c0..436704008e 100644 --- a/erpnext/accounts/doctype/distributed_cost_center/distributed_cost_center.py +++ b/erpnext/accounts/doctype/distributed_cost_center/distributed_cost_center.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class DistributedCostCenter(Document): pass diff --git a/erpnext/accounts/doctype/dunning/dunning.py b/erpnext/accounts/doctype/dunning/dunning.py index 1ef512a489..65ada530df 100644 --- a/erpnext/accounts/doctype/dunning/dunning.py +++ b/erpnext/accounts/doctype/dunning/dunning.py @@ -3,13 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe +from frappe.utils import cint, flt, getdate from six import string_types -from frappe.utils import getdate, get_datetime, rounded, flt, cint -from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) from erpnext.accounts.general_ledger import make_gl_entries, make_reverse_gl_entries -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions from erpnext.controllers.accounts_controller import AccountsController diff --git a/erpnext/accounts/doctype/dunning/dunning_dashboard.py b/erpnext/accounts/doctype/dunning/dunning_dashboard.py index 33c6ab080c..fa3330f7cf 100644 --- a/erpnext/accounts/doctype/dunning/dunning_dashboard.py +++ b/erpnext/accounts/doctype/dunning/dunning_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'dunning', diff --git a/erpnext/accounts/doctype/dunning/test_dunning.py b/erpnext/accounts/doctype/dunning/test_dunning.py index 67692ecc47..9e8b655336 100644 --- a/erpnext/accounts/doctype/dunning/test_dunning.py +++ b/erpnext/accounts/doctype/dunning/test_dunning.py @@ -3,13 +3,19 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import add_days, today, nowdate -from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import unlink_payment_on_cancel_of_invoice -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice_against_cost_center + +import frappe +from frappe.utils import add_days, nowdate, today + from erpnext.accounts.doctype.dunning.dunning import calculate_interest_and_amount from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry +from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + unlink_payment_on_cancel_of_invoice, +) +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import ( + create_sales_invoice_against_cost_center, +) class TestDunning(unittest.TestCase): diff --git a/erpnext/accounts/doctype/dunning_letter_text/dunning_letter_text.py b/erpnext/accounts/doctype/dunning_letter_text/dunning_letter_text.py index 426497b607..b14fdc11f2 100644 --- a/erpnext/accounts/doctype/dunning_letter_text/dunning_letter_text.py +++ b/erpnext/accounts/doctype/dunning_letter_text/dunning_letter_text.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class DunningLetterText(Document): pass diff --git a/erpnext/accounts/doctype/dunning_type/dunning_type.py b/erpnext/accounts/doctype/dunning_type/dunning_type.py index 8708748428..64e7cf420f 100644 --- a/erpnext/accounts/doctype/dunning_type/dunning_type.py +++ b/erpnext/accounts/doctype/dunning_type/dunning_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class DunningType(Document): pass diff --git a/erpnext/accounts/doctype/dunning_type/test_dunning_type.py b/erpnext/accounts/doctype/dunning_type/test_dunning_type.py index b2fb26f34a..ae08907273 100644 --- a/erpnext/accounts/doctype/dunning_type/test_dunning_type.py +++ b/erpnext/accounts/doctype/dunning_type/test_dunning_type.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestDunningType(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py index dbbcedcadf..9c173d0c51 100644 --- a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py +++ b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py @@ -3,13 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt from frappe.model.document import Document from frappe.model.meta import get_field_precision -from erpnext.setup.utils import get_exchange_rate +from frappe.utils import flt + +import erpnext from erpnext.accounts.doctype.journal_entry.journal_entry import get_balance_on +from erpnext.setup.utils import get_exchange_rate + class ExchangeRateRevaluation(Document): def validate(self): diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation_dashboard.py b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation_dashboard.py index b5cfa04ed6..7358f561ed 100644 --- a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation_dashboard.py +++ b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'reference_name', diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/test_exchange_rate_revaluation.py b/erpnext/accounts/doctype/exchange_rate_revaluation/test_exchange_rate_revaluation.py index 3b037d1dc4..e725ce4da4 100644 --- a/erpnext/accounts/doctype/exchange_rate_revaluation/test_exchange_rate_revaluation.py +++ b/erpnext/accounts/doctype/exchange_rate_revaluation/test_exchange_rate_revaluation.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestExchangeRateRevaluation(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation_account/exchange_rate_revaluation_account.py b/erpnext/accounts/doctype/exchange_rate_revaluation_account/exchange_rate_revaluation_account.py index 87d7b67346..58375dd4ef 100644 --- a/erpnext/accounts/doctype/exchange_rate_revaluation_account/exchange_rate_revaluation_account.py +++ b/erpnext/accounts/doctype/exchange_rate_revaluation_account/exchange_rate_revaluation_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ExchangeRateRevaluationAccount(Document): pass diff --git a/erpnext/accounts/doctype/finance_book/finance_book.py b/erpnext/accounts/doctype/finance_book/finance_book.py index bc9fce2ce8..527b8e6788 100644 --- a/erpnext/accounts/doctype/finance_book/finance_book.py +++ b/erpnext/accounts/doctype/finance_book/finance_book.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class FinanceBook(Document): pass diff --git a/erpnext/accounts/doctype/finance_book/test_finance_book.py b/erpnext/accounts/doctype/finance_book/test_finance_book.py index bb9a46d88c..87a8ae260c 100644 --- a/erpnext/accounts/doctype/finance_book/test_finance_book.py +++ b/erpnext/accounts/doctype/finance_book/test_finance_book.py @@ -2,11 +2,13 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry +import unittest import frappe -import unittest + +from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry + class TestFinanceBook(unittest.TestCase): def test_finance_book(self): diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py index 42556269fd..6854ac910d 100644 --- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.py +++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py @@ -2,12 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe import msgprint, _ -from frappe.utils import getdate, add_days, add_years, cstr -from dateutil.relativedelta import relativedelta +import frappe +from dateutil.relativedelta import relativedelta +from frappe import _, msgprint from frappe.model.document import Document +from frappe.utils import add_days, add_years, cstr, getdate + class FiscalYearIncorrectDate(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py index cec4f4492d..b0365afa82 100644 --- a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py +++ b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py @@ -3,7 +3,9 @@ from __future__ import unicode_literals -import frappe, unittest +import unittest + +import frappe from erpnext.accounts.doctype.fiscal_year.fiscal_year import FiscalYearIncorrectDate diff --git a/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.py b/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.py index 8dfc2fa7e2..b9c57f67b0 100644 --- a/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.py +++ b/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class FiscalYearCompany(Document): pass diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py index 0844995f29..1e983b1d42 100644 --- a/erpnext/accounts/doctype/gl_entry/gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py @@ -2,20 +2,30 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt, fmt_money, getdate, formatdate, cint from frappe.model.document import Document -from frappe.model.naming import set_name_from_naming_options from frappe.model.meta import get_field_precision -from erpnext.accounts.party import validate_party_gle_currency, validate_party_frozen_disabled -from erpnext.accounts.utils import get_account_currency -from erpnext.accounts.utils import get_fiscal_year -from erpnext.exceptions import InvalidAccountCurrency, InvalidAccountDimensionError, MandatoryAccountDimensionError -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_checks_for_pl_and_bs_accounts -from erpnext.accounts.doctype.accounting_dimension_filter.accounting_dimension_filter import get_dimension_filter_map +from frappe.model.naming import set_name_from_naming_options +from frappe.utils import flt, fmt_money from six import iteritems +import erpnext +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_checks_for_pl_and_bs_accounts, +) +from erpnext.accounts.doctype.accounting_dimension_filter.accounting_dimension_filter import ( + get_dimension_filter_map, +) +from erpnext.accounts.party import validate_party_frozen_disabled, validate_party_gle_currency +from erpnext.accounts.utils import get_account_currency, get_fiscal_year +from erpnext.exceptions import ( + InvalidAccountCurrency, + InvalidAccountDimensionError, + MandatoryAccountDimensionError, +) + exclude_from_linked_with = True class GLEntry(Document): def autoname(self): diff --git a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py index 4167ca70df..1495952076 100644 --- a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py @@ -2,10 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, unittest + +import unittest + +import frappe from frappe.model.naming import parse_naming_series -from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry + from erpnext.accounts.doctype.gl_entry.gl_entry import rename_gle_sle_docs +from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry + class TestGLEntry(unittest.TestCase): def test_round_off_entry(self): diff --git a/erpnext/accounts/doctype/gst_account/gst_account.py b/erpnext/accounts/doctype/gst_account/gst_account.py index d7848495a6..9ca3f9ac51 100644 --- a/erpnext/accounts/doctype/gst_account/gst_account.py +++ b/erpnext/accounts/doctype/gst_account/gst_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class GSTAccount(Document): pass diff --git a/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py b/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py index b73d8bfbb1..8867f1cd9b 100644 --- a/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py +++ b/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py @@ -3,12 +3,20 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json, erpnext + +import json + +import frappe from frappe import _ -from frappe.utils import flt, getdate, nowdate, add_days -from erpnext.controllers.accounts_controller import AccountsController +from frappe.utils import add_days, flt, getdate, nowdate + +import erpnext +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) from erpnext.accounts.general_ledger import make_gl_entries -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions +from erpnext.controllers.accounts_controller import AccountsController + class InvoiceDiscounting(AccountsController): def validate(self): diff --git a/erpnext/accounts/doctype/invoice_discounting/invoice_discounting_dashboard.py b/erpnext/accounts/doctype/invoice_discounting/invoice_discounting_dashboard.py index 6d35ca2439..bab8e46c31 100644 --- a/erpnext/accounts/doctype/invoice_discounting/invoice_discounting_dashboard.py +++ b/erpnext/accounts/doctype/invoice_discounting/invoice_discounting_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'reference_name', diff --git a/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py b/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py index 919dd0cba7..58aea92e81 100644 --- a/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py +++ b/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py @@ -3,13 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import nowdate, add_days, flt import unittest -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries + +import frappe +from frappe.utils import add_days, flt, nowdate + from erpnext.accounts.doctype.account.test_account import create_account from erpnext.accounts.doctype.journal_entry.journal_entry import get_payment_entry_against_invoice +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries + + class TestInvoiceDiscounting(unittest.TestCase): def setUp(self): self.ar_credit = create_account(account_name="_Test Accounts Receivable Credit", parent_account = "Accounts Receivable - _TC", company="_Test Company") diff --git a/erpnext/accounts/doctype/item_tax_template/item_tax_template.py b/erpnext/accounts/doctype/item_tax_template/item_tax_template.py index d9155cbab4..1e26afe025 100644 --- a/erpnext/accounts/doctype/item_tax_template/item_tax_template.py +++ b/erpnext/accounts/doctype/item_tax_template/item_tax_template.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document + class ItemTaxTemplate(Document): def validate(self): diff --git a/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py b/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py index acf1e446e7..46bb300e37 100644 --- a/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py +++ b/erpnext/accounts/doctype/item_tax_template/test_item_tax_template.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestItemTaxTemplate(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/item_tax_template_detail/item_tax_template_detail.py b/erpnext/accounts/doctype/item_tax_template_detail/item_tax_template_detail.py index d51bed0520..aa3b5420d6 100644 --- a/erpnext/accounts/doctype/item_tax_template_detail/item_tax_template_detail.py +++ b/erpnext/accounts/doctype/item_tax_template_detail/item_tax_template_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ItemTaxTemplateDetail(Document): pass diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py index dc341d7ad7..24368f0441 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py @@ -2,19 +2,30 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext, json -from frappe.utils import cstr, flt, fmt_money, formatdate, getdate, nowdate, cint, get_link_to_form -from frappe import msgprint, _, scrub -from erpnext.controllers.accounts_controller import AccountsController -from erpnext.accounts.utils import get_balance_on, get_stock_accounts, get_stock_and_account_balance, \ - get_account_currency, check_if_stock_and_account_balance_synced -from erpnext.accounts.party import get_party_account -from erpnext.hr.doctype.expense_claim.expense_claim import update_reimbursed_amount -from erpnext.accounts.doctype.invoice_discounting.invoice_discounting \ - import get_party_account_based_on_invoice_discounting -from erpnext.accounts.deferred_revenue import get_deferred_booking_accounts -from six import string_types, iteritems +import json + +import frappe +from frappe import _, msgprint, scrub +from frappe.utils import cint, cstr, flt, fmt_money, formatdate, get_link_to_form, nowdate +from six import iteritems, string_types + +import erpnext +from erpnext.accounts.deferred_revenue import get_deferred_booking_accounts +from erpnext.accounts.doctype.invoice_discounting.invoice_discounting import ( + get_party_account_based_on_invoice_discounting, +) +from erpnext.accounts.party import get_party_account +from erpnext.accounts.utils import ( + check_if_stock_and_account_balance_synced, + get_account_currency, + get_balance_on, + get_stock_accounts, + get_stock_and_account_balance, +) +from erpnext.controllers.accounts_controller import AccountsController +from erpnext.hr.doctype.expense_claim.expense_claim import update_reimbursed_amount + class StockAccountInvalidTransaction(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/journal_entry/test_journal_entry.py b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py index 5835d462ae..d03a08851a 100644 --- a/erpnext/accounts/doctype/journal_entry/test_journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py @@ -2,11 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import unittest, frappe + +import unittest + +import frappe from frappe.utils import flt, nowdate + from erpnext.accounts.doctype.account.test_account import get_inventory_account -from erpnext.exceptions import InvalidAccountCurrency from erpnext.accounts.doctype.journal_entry.journal_entry import StockAccountInvalidTransaction +from erpnext.exceptions import InvalidAccountCurrency + class TestJournalEntry(unittest.TestCase): def test_journal_entry_with_against_jv(self): diff --git a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py index 2e77cf2b44..86d3df4dc2 100644 --- a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py +++ b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class JournalEntryAccount(Document): pass diff --git a/erpnext/accounts/doctype/journal_entry_template/journal_entry_template.py b/erpnext/accounts/doctype/journal_entry_template/journal_entry_template.py index e0b9cbc919..f0813f5e27 100644 --- a/erpnext/accounts/doctype/journal_entry_template/journal_entry_template.py +++ b/erpnext/accounts/doctype/journal_entry_template/journal_entry_template.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class JournalEntryTemplate(Document): pass diff --git a/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py b/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py index 5f74a2042f..61fea94e82 100644 --- a/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py +++ b/erpnext/accounts/doctype/journal_entry_template/test_journal_entry_template.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestJournalEntryTemplate(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/journal_entry_template_account/journal_entry_template_account.py b/erpnext/accounts/doctype/journal_entry_template_account/journal_entry_template_account.py index 48e6abbc28..d0408ca2fc 100644 --- a/erpnext/accounts/doctype/journal_entry_template_account/journal_entry_template_account.py +++ b/erpnext/accounts/doctype/journal_entry_template_account/journal_entry_template_account.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class JournalEntryTemplateAccount(Document): pass diff --git a/erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.py b/erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.py index 3579a1a960..0813926f5f 100644 --- a/erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.py +++ b/erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document from frappe.utils import today diff --git a/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py b/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py index b6e2d57b9f..07856cfd5d 100644 --- a/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py +++ b/erpnext/accounts/doctype/loyalty_point_entry/test_loyalty_point_entry.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestLoyaltyPointEntry(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/loyalty_point_entry_redemption/loyalty_point_entry_redemption.py b/erpnext/accounts/doctype/loyalty_point_entry_redemption/loyalty_point_entry_redemption.py index e4382b6c78..506e2ce839 100644 --- a/erpnext/accounts/doctype/loyalty_point_entry_redemption/loyalty_point_entry_redemption.py +++ b/erpnext/accounts/doctype/loyalty_point_entry_redemption/loyalty_point_entry_redemption.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LoyaltyPointEntryRedemption(Document): pass diff --git a/erpnext/accounts/doctype/loyalty_program/loyalty_program.py b/erpnext/accounts/doctype/loyalty_program/loyalty_program.py index cb753a3723..89ed461fd5 100644 --- a/erpnext/accounts/doctype/loyalty_program/loyalty_program.py +++ b/erpnext/accounts/doctype/loyalty_program/loyalty_program.py @@ -3,11 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import today, flt +from frappe.utils import flt, today + class LoyaltyProgram(Document): pass diff --git a/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py b/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py index 189004f5ec..267bbbf00b 100644 --- a/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py +++ b/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py @@ -1,7 +1,5 @@ from __future__ import unicode_literals -from frappe import _ - def get_data(): return { diff --git a/erpnext/accounts/doctype/loyalty_program/test_loyalty_program.py b/erpnext/accounts/doctype/loyalty_program/test_loyalty_program.py index 31994885aa..a039e32b8b 100644 --- a/erpnext/accounts/doctype/loyalty_program/test_loyalty_program.py +++ b/erpnext/accounts/doctype/loyalty_program/test_loyalty_program.py @@ -3,12 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import today, cint, flt, getdate -from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details_with_points + +import frappe +from frappe.utils import cint, flt, getdate, today + +from erpnext.accounts.doctype.loyalty_program.loyalty_program import ( + get_loyalty_program_details_with_points, +) from erpnext.accounts.party import get_dashboard_info + class TestLoyaltyProgram(unittest.TestCase): @classmethod def setUpClass(self): diff --git a/erpnext/accounts/doctype/loyalty_program_collection/loyalty_program_collection.py b/erpnext/accounts/doctype/loyalty_program_collection/loyalty_program_collection.py index 42cc38cb4c..4bbcf3ae9f 100644 --- a/erpnext/accounts/doctype/loyalty_program_collection/loyalty_program_collection.py +++ b/erpnext/accounts/doctype/loyalty_program_collection/loyalty_program_collection.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LoyaltyProgramCollection(Document): pass diff --git a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py index cea921e999..dfe42df226 100644 --- a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py +++ b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document +import frappe from frappe import _ +from frappe.model.document import Document + class ModeofPayment(Document): def validate(self): diff --git a/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py b/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py index ad6cd4795f..299687b067 100644 --- a/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py +++ b/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Mode of Payment') diff --git a/erpnext/accounts/doctype/mode_of_payment_account/mode_of_payment_account.py b/erpnext/accounts/doctype/mode_of_payment_account/mode_of_payment_account.py index 5cb195a3ba..40b5f302f2 100644 --- a/erpnext/accounts/doctype/mode_of_payment_account/mode_of_payment_account.py +++ b/erpnext/accounts/doctype/mode_of_payment_account/mode_of_payment_account.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ModeofPaymentAccount(Document): pass diff --git a/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py index ad8623fb4e..c0e00d6209 100644 --- a/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py +++ b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import (flt, add_months) from frappe.model.document import Document +from frappe.utils import add_months, flt + class MonthlyDistribution(Document): @frappe.whitelist() diff --git a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py index efbf4eb105..63faa158f1 100644 --- a/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py +++ b/erpnext/accounts/doctype/monthly_distribution/test_monthly_distribution.py @@ -2,9 +2,11 @@ # See license.txt from __future__ import unicode_literals -import frappe + import unittest +import frappe + test_records = frappe.get_test_records('Monthly Distribution') class TestMonthlyDistribution(unittest.TestCase): diff --git a/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py b/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py index d9e8bf9c77..8ec30c79af 100644 --- a/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py +++ b/erpnext/accounts/doctype/monthly_distribution_percentage/monthly_distribution_percentage.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class MonthlyDistributionPercentage(Document): pass diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py index 9914b45dfc..2b94bf4c1f 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py @@ -3,14 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import traceback from json import dumps + +import frappe from frappe import _, scrub -from frappe.utils import flt, nowdate from frappe.model.document import Document +from frappe.utils import flt, nowdate from frappe.utils.background_jobs import enqueue -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) class OpeningInvoiceCreationTool(Document): diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py b/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py index 8d6de2d562..ed3c6a9da0 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py @@ -3,12 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe from frappe.cache_manager import clear_doctype_cache from frappe.custom.doctype.property_setter.property_setter import make_property_setter -from erpnext.accounts.doctype.opening_invoice_creation_tool.opening_invoice_creation_tool import get_temporary_opening_account + +from erpnext.accounts.doctype.opening_invoice_creation_tool.opening_invoice_creation_tool import ( + get_temporary_opening_account, +) test_dependencies = ["Customer", "Supplier"] diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.py b/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.py index d47c3e94ec..4008022a26 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.py +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class OpeningInvoiceCreationToolItem(Document): pass diff --git a/erpnext/accounts/doctype/party_account/party_account.py b/erpnext/accounts/doctype/party_account/party_account.py index 21cfb96dba..08d67c7a7b 100644 --- a/erpnext/accounts/doctype/party_account/party_account.py +++ b/erpnext/accounts/doctype/party_account/party_account.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PartyAccount(Document): pass diff --git a/erpnext/accounts/doctype/party_link/party_link.py b/erpnext/accounts/doctype/party_link/party_link.py index 9cbba35273..daf667caf0 100644 --- a/erpnext/accounts/doctype/party_link/party_link.py +++ b/erpnext/accounts/doctype/party_link/party_link.py @@ -5,6 +5,7 @@ import frappe from frappe import _ from frappe.model.document import Document + class PartyLink(Document): def validate(self): if self.primary_role not in ['Customer', 'Supplier']: diff --git a/erpnext/accounts/doctype/party_link/test_party_link.py b/erpnext/accounts/doctype/party_link/test_party_link.py index a3ea3959ba..2ae338133e 100644 --- a/erpnext/accounts/doctype/party_link/test_party_link.py +++ b/erpnext/accounts/doctype/party_link/test_party_link.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestPartyLink(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index f9fa63d823..bbbb7768db 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -3,22 +3,37 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext, json -from frappe import _, scrub, ValidationError, throw -from frappe.utils import flt, comma_or, nowdate, getdate, cint -from erpnext.accounts.utils import get_outstanding_invoices, get_account_currency, get_balance_on -from erpnext.accounts.party import get_party_account -from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account -from erpnext.setup.utils import get_exchange_rate -from erpnext.accounts.general_ledger import make_gl_entries -from erpnext.hr.doctype.expense_claim.expense_claim import update_reimbursed_amount -from erpnext.accounts.doctype.bank_account.bank_account import get_party_bank_account, get_bank_account_details -from erpnext.controllers.accounts_controller import AccountsController, get_supplier_block_status -from erpnext.accounts.doctype.invoice_discounting.invoice_discounting import get_party_account_based_on_invoice_discounting -from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import get_party_tax_withholding_details -from six import string_types, iteritems -from erpnext.controllers.accounts_controller import validate_taxes_and_charges +import json + +import frappe +from frappe import ValidationError, _, scrub, throw +from frappe.utils import cint, comma_or, flt, getdate, nowdate +from six import iteritems, string_types + +import erpnext +from erpnext.accounts.doctype.bank_account.bank_account import ( + get_bank_account_details, + get_party_bank_account, +) +from erpnext.accounts.doctype.invoice_discounting.invoice_discounting import ( + get_party_account_based_on_invoice_discounting, +) +from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account +from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import ( + get_party_tax_withholding_details, +) +from erpnext.accounts.general_ledger import make_gl_entries +from erpnext.accounts.party import get_party_account +from erpnext.accounts.utils import get_account_currency, get_balance_on, get_outstanding_invoices +from erpnext.controllers.accounts_controller import ( + AccountsController, + get_supplier_block_status, + validate_taxes_and_charges, +) +from erpnext.hr.doctype.expense_claim.expense_claim import update_reimbursed_amount +from erpnext.setup.utils import get_exchange_rate + class InvalidPaymentEntry(ValidationError): pass diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py index dac927b2ce..c90a3c503c 100644 --- a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py @@ -3,14 +3,25 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import flt, nowdate -from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order -from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry, InvalidPaymentEntry -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice, create_sales_invoice_against_cost_center -from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice, make_purchase_invoice_against_cost_center + +from erpnext.accounts.doctype.payment_entry.payment_entry import ( + InvalidPaymentEntry, + get_payment_entry, +) +from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + make_purchase_invoice, + make_purchase_invoice_against_cost_center, +) +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import ( + create_sales_invoice, + create_sales_invoice_against_cost_center, +) from erpnext.hr.doctype.expense_claim.test_expense_claim import make_expense_claim +from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order test_dependencies = ["Item"] @@ -324,7 +335,10 @@ class TestPaymentEntry(unittest.TestCase): self.assertEqual(flt(pe.unallocated_amount, 2), 0.0) def test_payment_entry_retrieves_last_exchange_rate(self): - from erpnext.setup.doctype.currency_exchange.test_currency_exchange import test_records, save_new_records + from erpnext.setup.doctype.currency_exchange.test_currency_exchange import ( + save_new_records, + test_records, + ) save_new_records(test_records) diff --git a/erpnext/accounts/doctype/payment_entry_deduction/payment_entry_deduction.py b/erpnext/accounts/doctype/payment_entry_deduction/payment_entry_deduction.py index d6686bbe42..9cfed7b56d 100644 --- a/erpnext/accounts/doctype/payment_entry_deduction/payment_entry_deduction.py +++ b/erpnext/accounts/doctype/payment_entry_deduction/payment_entry_deduction.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PaymentEntryDeduction(Document): pass diff --git a/erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.py b/erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.py index 51f8c06165..a686f495cd 100644 --- a/erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.py +++ b/erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PaymentEntryReference(Document): pass diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py index 3529c16a1c..1d8a8ac5e1 100644 --- a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py +++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class PaymentGatewayAccount(Document): def autoname(self): self.name = self.payment_gateway + " - " + self.currency diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py index 08982296f3..2edc1a1590 100644 --- a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py +++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py @@ -1,7 +1,5 @@ from __future__ import unicode_literals -from frappe import _ - def get_data(): return { diff --git a/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py b/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py index 84c3bc4a60..f76aa4a80f 100644 --- a/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py +++ b/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Payment Gateway Account') diff --git a/erpnext/accounts/doctype/payment_order/payment_order.py b/erpnext/accounts/doctype/payment_order/payment_order.py index 8d29ae70ae..e9b5ad9dc4 100644 --- a/erpnext/accounts/doctype/payment_order/payment_order.py +++ b/erpnext/accounts/doctype/payment_order/payment_order.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import nowdate -from erpnext.accounts.party import get_party_account from frappe.model.document import Document +from frappe.utils import nowdate + +from erpnext.accounts.party import get_party_account + class PaymentOrder(Document): def on_submit(self): diff --git a/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py b/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py index a4f335833e..d9262be9b8 100644 --- a/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py +++ b/erpnext/accounts/doctype/payment_order/payment_order_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/accounts/doctype/payment_order/test_payment_order.py b/erpnext/accounts/doctype/payment_order/test_payment_order.py index 9ba57aef30..6414473346 100644 --- a/erpnext/accounts/doctype/payment_order/test_payment_order.py +++ b/erpnext/accounts/doctype/payment_order/test_payment_order.py @@ -3,13 +3,19 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import getdate + from erpnext.accounts.doctype.bank_transaction.test_bank_transaction import create_bank_account -from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry, make_payment_order +from erpnext.accounts.doctype.payment_entry.payment_entry import ( + get_payment_entry, + make_payment_order, +) from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice + class TestPaymentOrder(unittest.TestCase): def setUp(self): create_bank_account() diff --git a/erpnext/accounts/doctype/payment_order_reference/payment_order_reference.py b/erpnext/accounts/doctype/payment_order_reference/payment_order_reference.py index b3a92940e2..4bb98a3b61 100644 --- a/erpnext/accounts/doctype/payment_order_reference/payment_order_reference.py +++ b/erpnext/accounts/doctype/payment_order_reference/payment_order_reference.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PaymentOrderReference(Document): pass diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py index 1286bf0f0b..9de79aee58 100644 --- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py +++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py @@ -2,14 +2,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import flt, today, getdate, nowdate -from frappe import msgprint, _ + +import frappe +from frappe import _, msgprint from frappe.model.document import Document -from erpnext.accounts.utils import (get_outstanding_invoices, - update_reference_in_payment_entry, reconcile_against_document) +from frappe.utils import flt, getdate, nowdate, today + +import erpnext +from erpnext.accounts.utils import get_outstanding_invoices, reconcile_against_document from erpnext.controllers.accounts_controller import get_advance_payment_entries + class PaymentReconciliation(Document): @frappe.whitelist() def get_unreconciled_entries(self): diff --git a/erpnext/accounts/doctype/payment_reconciliation/test_payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/test_payment_reconciliation.py index 87eaaee856..2271f48a2b 100644 --- a/erpnext/accounts/doctype/payment_reconciliation/test_payment_reconciliation.py +++ b/erpnext/accounts/doctype/payment_reconciliation/test_payment_reconciliation.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestPaymentReconciliation(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.py b/erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.py index 0fb63b1cd1..9db8e62af0 100644 --- a/erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.py +++ b/erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class PaymentReconciliationAllocation(Document): pass diff --git a/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.py b/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.py index 800d800975..5ac1855c03 100644 --- a/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.py +++ b/erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PaymentReconciliationInvoice(Document): pass diff --git a/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.py b/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.py index c76f7852c8..78c84ff5a6 100644 --- a/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.py +++ b/erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PaymentReconciliationPayment(Document): pass diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index f83cb375fc..1570b499ac 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -3,18 +3,25 @@ # For license information, please see license.txt from __future__ import unicode_literals + import json + import frappe from frappe import _ +from frappe.integrations.utils import get_payment_gateway_controller from frappe.model.document import Document -from frappe.utils import flt, nowdate, get_url +from frappe.utils import flt, get_url, nowdate +from frappe.utils.background_jobs import enqueue + +from erpnext.accounts.doctype.payment_entry.payment_entry import ( + get_company_defaults, + get_payment_entry, +) +from erpnext.accounts.doctype.subscription_plan.subscription_plan import get_plan_rate from erpnext.accounts.party import get_party_account, get_party_bank_account from erpnext.accounts.utils import get_account_currency -from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry, get_company_defaults -from frappe.integrations.utils import get_payment_gateway_controller -from frappe.utils.background_jobs import enqueue from erpnext.erpnext_integrations.stripe_integration import create_stripe_subscription -from erpnext.accounts.doctype.subscription_plan.subscription_plan import get_plan_rate + class PaymentRequest(Document): def validate(self): diff --git a/erpnext/accounts/doctype/payment_request/test_payment_request.py b/erpnext/accounts/doctype/payment_request/test_payment_request.py index ad6ff6f555..c97c873fc4 100644 --- a/erpnext/accounts/doctype/payment_request/test_payment_request.py +++ b/erpnext/accounts/doctype/payment_request/test_payment_request.py @@ -3,11 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order + +import frappe + from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.setup.utils import get_exchange_rate test_dependencies = ["Currency Exchange", "Journal Entry", "Contact", "Address"] diff --git a/erpnext/accounts/doctype/payment_schedule/payment_schedule.py b/erpnext/accounts/doctype/payment_schedule/payment_schedule.py index 41740170f0..33d5efa10e 100644 --- a/erpnext/accounts/doctype/payment_schedule/payment_schedule.py +++ b/erpnext/accounts/doctype/payment_schedule/payment_schedule.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/payment_term/payment_term.py b/erpnext/accounts/doctype/payment_term/payment_term.py index 5d4df053fb..a04c183bed 100644 --- a/erpnext/accounts/doctype/payment_term/payment_term.py +++ b/erpnext/accounts/doctype/payment_term/payment_term.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/payment_term/test_payment_term.py b/erpnext/accounts/doctype/payment_term/test_payment_term.py index d9baa5907b..bc0645f9a6 100644 --- a/erpnext/accounts/doctype/payment_term/test_payment_term.py +++ b/erpnext/accounts/doctype/payment_term/test_payment_term.py @@ -2,6 +2,7 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest diff --git a/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py b/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py index 39627eb376..3568591132 100644 --- a/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py +++ b/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py @@ -5,9 +5,9 @@ from __future__ import unicode_literals import frappe -from frappe.model.document import Document -from frappe.utils import flt, cint from frappe import _ +from frappe.model.document import Document +from frappe.utils import flt class PaymentTermsTemplate(Document): diff --git a/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py b/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py index 6daaf1ed74..2052a5093d 100644 --- a/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py +++ b/erpnext/accounts/doctype/payment_terms_template/test_payment_terms_template.py @@ -2,6 +2,7 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest import frappe diff --git a/erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.py b/erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.py index 54c0fda011..c857a88b9f 100644 --- a/erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.py +++ b/erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document diff --git a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py index ebe55f6a6e..888bf9fd94 100644 --- a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +++ b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py @@ -2,13 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt from frappe import _ +from frappe.utils import flt + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimensions, +) from erpnext.accounts.utils import get_account_currency from erpnext.controllers.accounts_controller import AccountsController -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (get_accounting_dimensions, - get_dimensions) + class PeriodClosingVoucher(AccountsController): def validate(self): diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py index 2a636bb338..2d417a4cfb 100644 --- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py +++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py @@ -3,13 +3,17 @@ from __future__ import unicode_literals + import unittest + import frappe -from frappe.utils import flt, today -from erpnext.accounts.utils import get_fiscal_year, now -from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry +from frappe.utils import today + from erpnext.accounts.doctype.finance_book.test_finance_book import create_finance_book +from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.accounts.utils import get_fiscal_year, now + class TestPeriodClosingVoucher(unittest.TestCase): def test_closing_entry(self): diff --git a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py index 82528728dd..896ebdfd5e 100644 --- a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py +++ b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py @@ -3,13 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import json from frappe import _ -from frappe.utils import get_datetime, flt +from frappe.utils import flt, get_datetime + +from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import ( + consolidate_pos_invoices, + unconsolidate_pos_invoices, +) from erpnext.controllers.status_updater import StatusUpdater -from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_data -from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import consolidate_pos_invoices, unconsolidate_pos_invoices + class POSClosingEntry(StatusUpdater): def validate(self): diff --git a/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py b/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py index 5b18ebb40d..44c87d6e41 100644 --- a/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py +++ b/erpnext/accounts/doctype/pos_closing_entry/test_pos_closing_entry.py @@ -2,14 +2,19 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe + import unittest -from frappe.utils import nowdate -from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + +import frappe + +from erpnext.accounts.doctype.pos_closing_entry.pos_closing_entry import ( + make_closing_entry_from_opening, +) from erpnext.accounts.doctype.pos_invoice.test_pos_invoice import create_pos_invoice -from erpnext.accounts.doctype.pos_closing_entry.pos_closing_entry import make_closing_entry_from_opening from erpnext.accounts.doctype.pos_opening_entry.test_pos_opening_entry import create_opening_entry from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile +from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + class TestPOSClosingEntry(unittest.TestCase): def setUp(self): diff --git a/erpnext/accounts/doctype/pos_closing_entry_detail/pos_closing_entry_detail.py b/erpnext/accounts/doctype/pos_closing_entry_detail/pos_closing_entry_detail.py index 46b6c773bc..4293abdfdc 100644 --- a/erpnext/accounts/doctype/pos_closing_entry_detail/pos_closing_entry_detail.py +++ b/erpnext/accounts/doctype/pos_closing_entry_detail/pos_closing_entry_detail.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class POSClosingEntryDetail(Document): pass diff --git a/erpnext/accounts/doctype/pos_closing_entry_taxes/pos_closing_entry_taxes.py b/erpnext/accounts/doctype/pos_closing_entry_taxes/pos_closing_entry_taxes.py index f72d9a61e1..74cf754031 100644 --- a/erpnext/accounts/doctype/pos_closing_entry_taxes/pos_closing_entry_taxes.py +++ b/erpnext/accounts/doctype/pos_closing_entry_taxes/pos_closing_entry_taxes.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class POSClosingEntryTaxes(Document): pass diff --git a/erpnext/accounts/doctype/pos_customer_group/pos_customer_group.py b/erpnext/accounts/doctype/pos_customer_group/pos_customer_group.py index 85c1c9f8dd..570eb9ea17 100644 --- a/erpnext/accounts/doctype/pos_customer_group/pos_customer_group.py +++ b/erpnext/accounts/doctype/pos_customer_group/pos_customer_group.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class POSCustomerGroup(Document): pass diff --git a/erpnext/accounts/doctype/pos_field/pos_field.py b/erpnext/accounts/doctype/pos_field/pos_field.py index b4720b309b..00faebb7ab 100644 --- a/erpnext/accounts/doctype/pos_field/pos_field.py +++ b/erpnext/accounts/doctype/pos_field/pos_field.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class POSField(Document): pass diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py index 034a217a26..d6e41e6f90 100644 --- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py +++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py @@ -3,19 +3,24 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.model.document import Document -from erpnext.accounts.utils import get_account_currency -from erpnext.accounts.party import get_party_account, get_due_date -from frappe.utils import cint, flt, getdate, nowdate, get_link_to_form -from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request -from erpnext.accounts.doctype.loyalty_program.loyalty_program import validate_loyalty_points -from erpnext.stock.doctype.serial_no.serial_no import get_pos_reserved_serial_nos, get_serial_nos -from erpnext.accounts.doctype.sales_invoice.sales_invoice import SalesInvoice, get_bank_cash_account, update_multi_mode_option, get_mode_of_payment_info - +from frappe.utils import cint, flt, get_link_to_form, getdate, nowdate from six import iteritems +from erpnext.accounts.doctype.loyalty_program.loyalty_program import validate_loyalty_points +from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request +from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( + SalesInvoice, + get_bank_cash_account, + get_mode_of_payment_info, + update_multi_mode_option, +) +from erpnext.accounts.party import get_due_date, get_party_account +from erpnext.stock.doctype.serial_no.serial_no import get_pos_reserved_serial_nos, get_serial_nos + + class POSInvoice(SalesInvoice): def __init__(self, *args, **kwargs): super(POSInvoice, self).__init__(*args, **kwargs) @@ -309,7 +314,7 @@ class POSInvoice(SalesInvoice): def set_pos_fields(self, for_validate=False): """Set retail related fields from POS Profiles""" - from erpnext.stock.get_item_details import get_pos_profile_item_details, get_pos_profile + from erpnext.stock.get_item_details import get_pos_profile, get_pos_profile_item_details if not self.pos_profile: pos_profile = get_pos_profile(self.company) or {} if not pos_profile: @@ -519,6 +524,7 @@ def make_sales_return(source_name, target_doc=None): @frappe.whitelist() def make_merge_log(invoices): import json + from six import string_types if isinstance(invoices, string_types): diff --git a/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py index d2527fb2e5..e6e0dd238f 100644 --- a/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py +++ b/erpnext/accounts/doctype/pos_invoice/test_pos_invoice.py @@ -3,14 +3,18 @@ # See license.txt from __future__ import unicode_literals +import copy +import unittest + import frappe -import unittest, copy, time -from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile + from erpnext.accounts.doctype.pos_invoice.pos_invoice import make_sales_return -from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt -from erpnext.stock.doctype.item.test_item import make_item +from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry + class TestPOSInvoice(unittest.TestCase): @classmethod @@ -213,8 +217,8 @@ class TestPOSInvoice(unittest.TestCase): self.assertEqual(pos_return.get('payments')[1].amount, -500) def test_pos_return_for_serialized_item(self): - from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item se = make_serialized_item(company='_Test Company', target_warehouse="Stores - _TC", cost_center='Main - _TC', expense_account='Cost of Goods Sold - _TC') @@ -239,8 +243,8 @@ class TestPOSInvoice(unittest.TestCase): self.assertEqual(pos_return.get('items')[0].serial_no, serial_nos[0]) def test_partial_pos_returns(self): - from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item se = make_serialized_item(company='_Test Company', target_warehouse="Stores - _TC", cost_center='Main - _TC', expense_account='Cost of Goods Sold - _TC') @@ -293,8 +297,8 @@ class TestPOSInvoice(unittest.TestCase): self.assertRaises(frappe.ValidationError, inv.insert) def test_serialized_item_transaction(self): - from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item se = make_serialized_item(company='_Test Company', target_warehouse="Stores - _TC", cost_center='Main - _TC', expense_account='Cost of Goods Sold - _TC') @@ -324,8 +328,8 @@ class TestPOSInvoice(unittest.TestCase): self.assertRaises(frappe.ValidationError, pos2.submit) def test_delivered_serialized_item_transaction(self): - from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item se = make_serialized_item(company='_Test Company', target_warehouse="Stores - _TC", cost_center='Main - _TC', expense_account='Cost of Goods Sold - _TC') @@ -353,8 +357,10 @@ class TestPOSInvoice(unittest.TestCase): self.assertRaises(frappe.ValidationError, pos2.submit) def test_loyalty_points(self): + from erpnext.accounts.doctype.loyalty_program.loyalty_program import ( + get_loyalty_program_details_with_points, + ) from erpnext.accounts.doctype.loyalty_program.test_loyalty_program import create_records - from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details_with_points create_records() frappe.db.set_value("Customer", "Test Loyalty Customer", "loyalty_program", "Test Single Loyalty") @@ -374,7 +380,10 @@ class TestPOSInvoice(unittest.TestCase): self.assertEqual(after_cancel_lp_details.loyalty_points, before_lp_details.loyalty_points) def test_loyalty_points_redeemption(self): - from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details_with_points + from erpnext.accounts.doctype.loyalty_program.loyalty_program import ( + get_loyalty_program_details_with_points, + ) + # add 10 loyalty points create_pos_invoice(customer="Test Loyalty Customer", rate=10000) @@ -392,8 +401,12 @@ class TestPOSInvoice(unittest.TestCase): self.assertEqual(after_redeem_lp_details.loyalty_points, 9) def test_merging_into_sales_invoice_with_discount(self): - from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile - from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import consolidate_pos_invoices + from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import ( + init_user_and_profile, + ) + from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import ( + consolidate_pos_invoices, + ) frappe.db.sql("delete from `tabPOS Invoice`") test_user, pos_profile = init_user_and_profile() @@ -416,8 +429,12 @@ class TestPOSInvoice(unittest.TestCase): self.assertEqual(rounded_total, 3470) def test_merging_into_sales_invoice_with_discount_and_inclusive_tax(self): - from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile - from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import consolidate_pos_invoices + from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import ( + init_user_and_profile, + ) + from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import ( + consolidate_pos_invoices, + ) frappe.db.sql("delete from `tabPOS Invoice`") test_user, pos_profile = init_user_and_profile() @@ -457,8 +474,12 @@ class TestPOSInvoice(unittest.TestCase): self.assertEqual(rounded_total, 840) def test_merging_with_validate_selling_price(self): - from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile - from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import consolidate_pos_invoices + from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import ( + init_user_and_profile, + ) + from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import ( + consolidate_pos_invoices, + ) if not frappe.db.get_single_value("Selling Settings", "validate_selling_price"): frappe.db.set_value("Selling Settings", "Selling Settings", "validate_selling_price", 1) diff --git a/erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.py b/erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.py index 92ce61be52..99e471991c 100644 --- a/erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.py +++ b/erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class POSInvoiceItem(Document): pass diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py index e50d437ba6..0be8ca7ee6 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py @@ -3,17 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import json + import frappe +import six from frappe import _ -from frappe.model import default_fields +from frappe.core.page.background_jobs.background_jobs import get_info from frappe.model.document import Document +from frappe.model.mapper import map_child_doc, map_doc from frappe.utils import flt, getdate, nowdate from frappe.utils.background_jobs import enqueue -from frappe.model.mapper import map_doc, map_child_doc from frappe.utils.scheduler import is_scheduler_inactive -from frappe.core.page.background_jobs.background_jobs import get_info -import json -import six + class POSInvoiceMergeLog(Document): def validate(self): diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py index 1b9659409c..c531bb9f07 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py @@ -3,13 +3,18 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest import json -from erpnext.accounts.doctype.pos_invoice.test_pos_invoice import create_pos_invoice -from erpnext.accounts.doctype.pos_invoice.pos_invoice import make_sales_return -from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import consolidate_pos_invoices +import unittest + +import frappe + from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile +from erpnext.accounts.doctype.pos_invoice.pos_invoice import make_sales_return +from erpnext.accounts.doctype.pos_invoice.test_pos_invoice import create_pos_invoice +from erpnext.accounts.doctype.pos_invoice_merge_log.pos_invoice_merge_log import ( + consolidate_pos_invoices, +) + class TestPOSInvoiceMergeLog(unittest.TestCase): def test_consolidated_invoice_creation(self): diff --git a/erpnext/accounts/doctype/pos_invoice_reference/pos_invoice_reference.py b/erpnext/accounts/doctype/pos_invoice_reference/pos_invoice_reference.py index 4c45265f60..9bce082c95 100644 --- a/erpnext/accounts/doctype/pos_invoice_reference/pos_invoice_reference.py +++ b/erpnext/accounts/doctype/pos_invoice_reference/pos_invoice_reference.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class POSInvoiceReference(Document): pass diff --git a/erpnext/accounts/doctype/pos_item_group/pos_item_group.py b/erpnext/accounts/doctype/pos_item_group/pos_item_group.py index ceaa57ba60..b5ff794ccc 100644 --- a/erpnext/accounts/doctype/pos_item_group/pos_item_group.py +++ b/erpnext/accounts/doctype/pos_item_group/pos_item_group.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class POSItemGroup(Document): pass diff --git a/erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py b/erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py index 3318fefab1..979479ffb5 100644 --- a/erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py +++ b/erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import cint, get_link_to_form + from erpnext.controllers.status_updater import StatusUpdater + class POSOpeningEntry(StatusUpdater): def validate(self): self.validate_pos_profile_and_cashier() diff --git a/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py b/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py index c115be5ae9..35a2b5835f 100644 --- a/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py +++ b/erpnext/accounts/doctype/pos_opening_entry/test_pos_opening_entry.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestPOSOpeningEntry(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/pos_opening_entry_detail/pos_opening_entry_detail.py b/erpnext/accounts/doctype/pos_opening_entry_detail/pos_opening_entry_detail.py index 555706227f..be5d876a16 100644 --- a/erpnext/accounts/doctype/pos_opening_entry_detail/pos_opening_entry_detail.py +++ b/erpnext/accounts/doctype/pos_opening_entry_detail/pos_opening_entry_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class POSOpeningEntryDetail(Document): pass diff --git a/erpnext/accounts/doctype/pos_payment_method/pos_payment_method.py b/erpnext/accounts/doctype/pos_payment_method/pos_payment_method.py index 8a46d84bfe..851d8efde1 100644 --- a/erpnext/accounts/doctype/pos_payment_method/pos_payment_method.py +++ b/erpnext/accounts/doctype/pos_payment_method/pos_payment_method.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class POSPaymentMethod(Document): pass diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.py b/erpnext/accounts/doctype/pos_profile/pos_profile.py index cf7ed26d27..b64e2eda2d 100644 --- a/erpnext/accounts/doctype/pos_profile/pos_profile.py +++ b/erpnext/accounts/doctype/pos_profile/pos_profile.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ -from frappe.utils import cint, now, get_link_to_form -from six import iteritems +from frappe import _, msgprint from frappe.model.document import Document +from frappe.utils import get_link_to_form, now +from six import iteritems + class POSProfile(Document): def validate(self): diff --git a/erpnext/accounts/doctype/pos_profile/test_pos_profile.py b/erpnext/accounts/doctype/pos_profile/test_pos_profile.py index 0033965700..83ecfb47bb 100644 --- a/erpnext/accounts/doctype/pos_profile/test_pos_profile.py +++ b/erpnext/accounts/doctype/pos_profile/test_pos_profile.py @@ -3,10 +3,12 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.stock.get_item_details import get_pos_profile + +import frappe + from erpnext.accounts.doctype.pos_profile.pos_profile import get_child_nodes +from erpnext.stock.get_item_details import get_pos_profile test_dependencies = ['Item'] diff --git a/erpnext/accounts/doctype/pos_profile_user/pos_profile_user.py b/erpnext/accounts/doctype/pos_profile_user/pos_profile_user.py index d77cddea61..404c4ab629 100644 --- a/erpnext/accounts/doctype/pos_profile_user/pos_profile_user.py +++ b/erpnext/accounts/doctype/pos_profile_user/pos_profile_user.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class POSProfileUser(Document): pass diff --git a/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py b/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py index 5c69ab1fb8..dca3556408 100644 --- a/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py +++ b/erpnext/accounts/doctype/pos_profile_user/test_pos_profile_user.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestPOSProfileUser(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/pos_search_fields/pos_search_fields.py b/erpnext/accounts/doctype/pos_search_fields/pos_search_fields.py index 720ea77745..32f9f9298b 100644 --- a/erpnext/accounts/doctype/pos_search_fields/pos_search_fields.py +++ b/erpnext/accounts/doctype/pos_search_fields/pos_search_fields.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class POSSearchFields(Document): pass diff --git a/erpnext/accounts/doctype/pos_settings/pos_settings.py b/erpnext/accounts/doctype/pos_settings/pos_settings.py index d925dd9d86..5c5aaa04ed 100644 --- a/erpnext/accounts/doctype/pos_settings/pos_settings.py +++ b/erpnext/accounts/doctype/pos_settings/pos_settings.py @@ -3,9 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class POSSettings(Document): def validate(self): pass diff --git a/erpnext/accounts/doctype/pos_settings/test_pos_settings.py b/erpnext/accounts/doctype/pos_settings/test_pos_settings.py index a3df10803c..949fed775b 100644 --- a/erpnext/accounts/doctype/pos_settings/test_pos_settings.py +++ b/erpnext/accounts/doctype/pos_settings/test_pos_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestPOSSettings(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py index ccfb29f355..e5bf3b8064 100644 --- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py @@ -3,15 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -import json + import copy +import json import re -from frappe import throw, _ -from frappe.utils import flt, cint, getdate +import frappe +from frappe import _, throw from frappe.model.document import Document - +from frappe.utils import cint, flt, getdate from six import string_types apply_on_dict = {"Item Code": "items", @@ -228,8 +228,12 @@ def get_serial_no_for_item(args): return item_details def get_pricing_rule_for_item(args, price_list_rate=0, doc=None, for_validate=False): - from erpnext.accounts.doctype.pricing_rule.utils import (get_pricing_rules, - get_applied_pricing_rules, get_pricing_rule_items, get_product_discount_rule) + from erpnext.accounts.doctype.pricing_rule.utils import ( + get_applied_pricing_rules, + get_pricing_rule_items, + get_pricing_rules, + get_product_discount_rule, + ) if isinstance(doc, string_types): doc = json.loads(doc) @@ -389,8 +393,10 @@ def apply_price_discount_rule(pricing_rule, item_details, args): if pricing_rule else args.get(field, 0)) def remove_pricing_rule_for_item(pricing_rules, item_details, item_code=None): - from erpnext.accounts.doctype.pricing_rule.utils import (get_applied_pricing_rules, - get_pricing_rule_items) + from erpnext.accounts.doctype.pricing_rule.utils import ( + get_applied_pricing_rules, + get_pricing_rule_items, + ) for d in get_applied_pricing_rules(pricing_rules): if not d or not frappe.db.exists("Pricing Rule", d): continue pricing_rule = frappe.get_cached_doc('Pricing Rule', d) diff --git a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py index 680370b6af..2e2d425dab 100644 --- a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py +++ b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py @@ -3,14 +3,18 @@ from __future__ import unicode_literals + import unittest + import frappe -from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice -from erpnext.stock.get_item_details import get_item_details from frappe import MandatoryError -from erpnext.stock.doctype.item.test_item import make_item + +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.healthcare.doctype.lab_test_template.lab_test_template import make_item_price +from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order +from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.get_item_details import get_item_details + class TestPricingRule(unittest.TestCase): def setUp(self): @@ -21,9 +25,10 @@ class TestPricingRule(unittest.TestCase): delete_existing_pricing_rules() def test_pricing_rule_for_discount(self): - from erpnext.stock.get_item_details import get_item_details from frappe import MandatoryError + from erpnext.stock.get_item_details import get_item_details + test_record = { "doctype": "Pricing Rule", "title": "_Test Pricing Rule", @@ -103,9 +108,10 @@ class TestPricingRule(unittest.TestCase): self.assertEqual(details.get("discount_percentage"), 15) def test_pricing_rule_for_margin(self): - from erpnext.stock.get_item_details import get_item_details from frappe import MandatoryError + from erpnext.stock.get_item_details import get_item_details + test_record = { "doctype": "Pricing Rule", "title": "_Test Pricing Rule", @@ -196,9 +202,10 @@ class TestPricingRule(unittest.TestCase): self.assertEqual(details.get("discount_percentage"), 10) def test_pricing_rule_for_variants(self): - from erpnext.stock.get_item_details import get_item_details from frappe import MandatoryError + from erpnext.stock.get_item_details import get_item_details + if not frappe.db.exists("Item", "Test Variant PRT"): frappe.get_doc({ "doctype": "Item", diff --git a/erpnext/accounts/doctype/pricing_rule/utils.py b/erpnext/accounts/doctype/pricing_rule/utils.py index 6f24587ac7..12b486e45e 100644 --- a/erpnext/accounts/doctype/pricing_rule/utils.py +++ b/erpnext/accounts/doctype/pricing_rule/utils.py @@ -8,14 +8,14 @@ from __future__ import unicode_literals import copy import json -from six import string_types - import frappe +from frappe import _, bold +from frappe.utils import cint, flt, fmt_money, get_link_to_form, getdate, today + from erpnext.setup.doctype.item_group.item_group import get_child_item_groups from erpnext.stock.doctype.warehouse.warehouse import get_child_warehouses from erpnext.stock.get_item_details import get_conversion_factor -from frappe import _, bold -from frappe.utils import cint, flt, get_link_to_form, getdate, today, fmt_money + class MultiplePricingRuleConflict(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/pricing_rule_brand/pricing_rule_brand.py b/erpnext/accounts/doctype/pricing_rule_brand/pricing_rule_brand.py index e2f70af4a1..5e10b8411a 100644 --- a/erpnext/accounts/doctype/pricing_rule_brand/pricing_rule_brand.py +++ b/erpnext/accounts/doctype/pricing_rule_brand/pricing_rule_brand.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PricingRuleBrand(Document): pass diff --git a/erpnext/accounts/doctype/pricing_rule_detail/pricing_rule_detail.py b/erpnext/accounts/doctype/pricing_rule_detail/pricing_rule_detail.py index 3cb7da9158..a90ecbb6f7 100644 --- a/erpnext/accounts/doctype/pricing_rule_detail/pricing_rule_detail.py +++ b/erpnext/accounts/doctype/pricing_rule_detail/pricing_rule_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PricingRuleDetail(Document): pass diff --git a/erpnext/accounts/doctype/pricing_rule_item_code/pricing_rule_item_code.py b/erpnext/accounts/doctype/pricing_rule_item_code/pricing_rule_item_code.py index 4468620314..4746b39e17 100644 --- a/erpnext/accounts/doctype/pricing_rule_item_code/pricing_rule_item_code.py +++ b/erpnext/accounts/doctype/pricing_rule_item_code/pricing_rule_item_code.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PricingRuleItemCode(Document): pass diff --git a/erpnext/accounts/doctype/pricing_rule_item_group/pricing_rule_item_group.py b/erpnext/accounts/doctype/pricing_rule_item_group/pricing_rule_item_group.py index d3c36197c7..ff1ba75a60 100644 --- a/erpnext/accounts/doctype/pricing_rule_item_group/pricing_rule_item_group.py +++ b/erpnext/accounts/doctype/pricing_rule_item_group/pricing_rule_item_group.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PricingRuleItemGroup(Document): pass diff --git a/erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.py b/erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.py index 5e7583a974..72b7b23e14 100644 --- a/erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.py +++ b/erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.py @@ -3,13 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import erpnext from frappe import _ from frappe.model.document import Document + +from erpnext.accounts.deferred_revenue import ( + build_conditions, + convert_deferred_expense_to_expense, + convert_deferred_revenue_to_income, +) from erpnext.accounts.general_ledger import make_reverse_gl_entries -from erpnext.accounts.deferred_revenue import convert_deferred_expense_to_expense, \ - convert_deferred_revenue_to_income, build_conditions + class ProcessDeferredAccounting(Document): def validate(self): diff --git a/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py b/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py index 03c269ac76..69e2caa8e8 100644 --- a/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py +++ b/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py @@ -3,11 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + from erpnext.accounts.doctype.account.test_account import create_account +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import ( + check_gl_entries, + create_sales_invoice, +) from erpnext.stock.doctype.item.test_item import create_item -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice, check_gl_entries + class TestProcessDeferredAccounting(unittest.TestCase): def test_creation_of_ledger_entry_on_submit(self): diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py index 30b1edcec8..73f3038512 100644 --- a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py +++ b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py @@ -3,22 +3,24 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import copy + import frappe from frappe import _ from frappe.model.document import Document -from erpnext.accounts.report.general_ledger.general_ledger import execute as get_soa -from erpnext.accounts.report.accounts_receivable_summary.accounts_receivable_summary import execute as get_ageing +from frappe.utils import add_days, add_months, format_date, getdate, today +from frappe.utils.jinja import validate_template +from frappe.utils.pdf import get_pdf +from frappe.www.printview import get_print_style + from erpnext import get_company_currency from erpnext.accounts.party import get_party_account_currency +from erpnext.accounts.report.accounts_receivable_summary.accounts_receivable_summary import ( + execute as get_ageing, +) +from erpnext.accounts.report.general_ledger.general_ledger import execute as get_soa -from frappe.utils.print_format import report_to_pdf -from frappe.utils.pdf import get_pdf -from frappe.utils import today, add_days, add_months, getdate, format_date -from frappe.utils.jinja import validate_template - -import copy -from datetime import timedelta -from frappe.www.printview import get_print_style class ProcessStatementOfAccounts(Document): def validate(self): diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/test_process_statement_of_accounts.py b/erpnext/accounts/doctype/process_statement_of_accounts/test_process_statement_of_accounts.py index 30efbb3683..7ddcd105af 100644 --- a/erpnext/accounts/doctype/process_statement_of_accounts/test_process_statement_of_accounts.py +++ b/erpnext/accounts/doctype/process_statement_of_accounts/test_process_statement_of_accounts.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestProcessStatementOfAccounts(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/process_statement_of_accounts_customer/process_statement_of_accounts_customer.py b/erpnext/accounts/doctype/process_statement_of_accounts_customer/process_statement_of_accounts_customer.py index 1a760101db..fe94009407 100644 --- a/erpnext/accounts/doctype/process_statement_of_accounts_customer/process_statement_of_accounts_customer.py +++ b/erpnext/accounts/doctype/process_statement_of_accounts_customer/process_statement_of_accounts_customer.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ProcessStatementOfAccountsCustomer(Document): pass diff --git a/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py b/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py index 3d7a891f33..d09f7dc2da 100644 --- a/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py +++ b/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py @@ -3,10 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cstr -from frappe.model.naming import make_autoname from frappe.model.document import Document pricing_rule_fields = ['apply_on', 'mixed_conditions', 'is_cumulative', 'other_item_code', 'other_item_group', diff --git a/erpnext/accounts/doctype/promotional_scheme/promotional_scheme_dashboard.py b/erpnext/accounts/doctype/promotional_scheme/promotional_scheme_dashboard.py index 54fedb7738..6d07924268 100644 --- a/erpnext/accounts/doctype/promotional_scheme/promotional_scheme_dashboard.py +++ b/erpnext/accounts/doctype/promotional_scheme/promotional_scheme_dashboard.py @@ -1,5 +1,6 @@ from frappe import _ + def get_data(): return { 'fieldname': 'promotional_scheme', diff --git a/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py b/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py index 286f7cf6ed..190b734cc1 100644 --- a/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py +++ b/erpnext/accounts/doctype/promotional_scheme/test_promotional_scheme.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestPromotionalScheme(unittest.TestCase): def test_promotional_scheme(self): ps = make_promotional_scheme() diff --git a/erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.py b/erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.py index 380ae32f9a..ab8efc3314 100644 --- a/erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.py +++ b/erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PromotionalSchemePriceDiscount(Document): pass diff --git a/erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.py b/erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.py index 2931106f76..85019b4e45 100644 --- a/erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.py +++ b/erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PromotionalSchemeProductDiscount(Document): pass diff --git a/erpnext/accounts/doctype/psoa_cost_center/psoa_cost_center.py b/erpnext/accounts/doctype/psoa_cost_center/psoa_cost_center.py index 0aeef3ed3a..cb5aaa9c5e 100644 --- a/erpnext/accounts/doctype/psoa_cost_center/psoa_cost_center.py +++ b/erpnext/accounts/doctype/psoa_cost_center/psoa_cost_center.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PSOACostCenter(Document): pass diff --git a/erpnext/accounts/doctype/psoa_project/psoa_project.py b/erpnext/accounts/doctype/psoa_project/psoa_project.py index f4a5dee975..1cd995179d 100644 --- a/erpnext/accounts/doctype/psoa_project/psoa_project.py +++ b/erpnext/accounts/doctype/psoa_project/psoa_project.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PSOAProject(Document): pass diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index e2f02f37ee..62cd90ee9f 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -3,29 +3,43 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import cint, cstr, formatdate, flt, getdate, nowdate, get_link_to_form -from frappe import _, throw -import frappe.defaults -from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account -from erpnext.controllers.buying_controller import BuyingController -from erpnext.accounts.party import get_party_account, get_due_date -from erpnext.accounts.utils import get_account_currency, get_fiscal_year -from erpnext.stock.doctype.purchase_receipt.purchase_receipt import update_billed_amount_based_on_po -from erpnext.stock import get_warehouse_account_map -from erpnext.accounts.general_ledger import make_gl_entries, merge_similar_entries, make_reverse_gl_entries -from erpnext.accounts.doctype.gl_entry.gl_entry import update_outstanding_amt -from erpnext.buying.utils import check_on_hold_or_closed_status -from erpnext.accounts.general_ledger import get_round_off_account_and_cost_center -from erpnext.assets.doctype.asset.asset import get_asset_account, is_cwip_accounting_enabled +import frappe +from frappe import _, throw from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, cstr, flt, formatdate, get_link_to_form, getdate, nowdate from six import iteritems -from erpnext.accounts.doctype.sales_invoice.sales_invoice import validate_inter_company_party, update_linked_doc,\ - unlink_inter_company_doc, check_if_return_invoice_linked_with_payment_entry -from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import get_party_tax_withholding_details + +import erpnext from erpnext.accounts.deferred_revenue import validate_service_stop_date -from erpnext.stock.doctype.purchase_receipt.purchase_receipt import get_item_account_wise_additional_cost +from erpnext.accounts.doctype.gl_entry.gl_entry import update_outstanding_amt +from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( + check_if_return_invoice_linked_with_payment_entry, + unlink_inter_company_doc, + update_linked_doc, + validate_inter_company_party, +) +from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import ( + get_party_tax_withholding_details, +) +from erpnext.accounts.general_ledger import ( + get_round_off_account_and_cost_center, + make_gl_entries, + make_reverse_gl_entries, + merge_similar_entries, +) +from erpnext.accounts.party import get_due_date, get_party_account +from erpnext.accounts.utils import get_account_currency, get_fiscal_year +from erpnext.assets.doctype.asset.asset import get_asset_account, is_cwip_accounting_enabled +from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account +from erpnext.buying.utils import check_on_hold_or_closed_status +from erpnext.controllers.buying_controller import BuyingController +from erpnext.stock import get_warehouse_account_map +from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( + get_item_account_wise_additional_cost, + update_billed_amount_based_on_po, +) + class WarehouseMissingError(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py index b6467a3d5c..4cc319d594 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'purchase_invoice', diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py index 37ff52c610..20d6c466e4 100644 --- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py @@ -3,20 +3,25 @@ from __future__ import unicode_literals + import unittest -import frappe, erpnext -import frappe.model + +import frappe +from frappe.utils import add_days, cint, flt, getdate, nowdate, today + +import erpnext +from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry -from frappe.utils import cint, flt, today, nowdate, add_days, getdate -import frappe.defaults -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt, get_taxes +from erpnext.buying.doctype.supplier.test_supplier import create_supplier from erpnext.controllers.accounts_controller import get_payment_terms from erpnext.exceptions import InvalidCurrency -from erpnext.stock.doctype.stock_entry.test_stock_entry import get_qty_after_transaction from erpnext.projects.doctype.project.test_project import make_project -from erpnext.accounts.doctype.account.test_account import get_inventory_account, create_account from erpnext.stock.doctype.item.test_item import create_item -from erpnext.buying.doctype.supplier.test_supplier import create_supplier +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import ( + get_taxes, + make_purchase_receipt, +) +from erpnext.stock.doctype.stock_entry.test_stock_entry import get_qty_after_transaction test_dependencies = ["Item", "Cost Center", "Payment Term", "Payment Terms Template"] test_ignore = ["Serial No"] @@ -231,7 +236,9 @@ class TestPurchaseInvoice(unittest.TestCase): self.assertEqual(expected_values[gle.account][2], gle.credit) def test_purchase_invoice_with_exchange_rate_difference(self): - from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice as create_purchase_invoice + from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( + make_purchase_invoice as create_purchase_invoice, + ) pr = make_purchase_receipt(company="_Test Company with perpetual inventory", warehouse='Stores - TCP1', currency = "USD", conversion_rate = 70) @@ -401,8 +408,9 @@ class TestPurchaseInvoice(unittest.TestCase): self.assertEqual(tax.total, expected_values[i][2]) def test_purchase_invoice_with_advance(self): - from erpnext.accounts.doctype.journal_entry.test_journal_entry \ - import test_records as jv_test_records + from erpnext.accounts.doctype.journal_entry.test_journal_entry import ( + test_records as jv_test_records, + ) jv = frappe.copy_doc(jv_test_records[1]) jv.insert() @@ -441,8 +449,9 @@ class TestPurchaseInvoice(unittest.TestCase): where reference_type='Purchase Invoice' and reference_name=%s""", pi.name)) def test_invoice_with_advance_and_multi_payment_terms(self): - from erpnext.accounts.doctype.journal_entry.test_journal_entry \ - import test_records as jv_test_records + from erpnext.accounts.doctype.journal_entry.test_journal_entry import ( + test_records as jv_test_records, + ) jv = frappe.copy_doc(jv_test_records[1]) jv.insert() @@ -714,8 +723,9 @@ class TestPurchaseInvoice(unittest.TestCase): "warehouse"), pi.get("items")[0].rejected_warehouse) def test_outstanding_amount_after_advance_jv_cancelation(self): - from erpnext.accounts.doctype.journal_entry.test_journal_entry \ - import test_records as jv_test_records + from erpnext.accounts.doctype.journal_entry.test_journal_entry import ( + test_records as jv_test_records, + ) jv = frappe.copy_doc(jv_test_records[1]) jv.accounts[0].is_advance = 'Yes' @@ -794,8 +804,7 @@ class TestPurchaseInvoice(unittest.TestCase): self.assertEqual(flt(pi.outstanding_amount), flt(pi.rounded_total + pi.total_advance)) def test_purchase_invoice_with_shipping_rule(self): - from erpnext.accounts.doctype.shipping_rule.test_shipping_rule \ - import create_shipping_rule + from erpnext.accounts.doctype.shipping_rule.test_shipping_rule import create_shipping_rule shipping_rule = create_shipping_rule(shipping_rule_type = "Buying", shipping_rule_name = "Shipping Rule - Purchase Invoice Test") @@ -1133,9 +1142,9 @@ class TestPurchaseInvoice(unittest.TestCase): frappe.db.set_value("Company", "_Test Company", "exchange_gain_loss_account", original_account) def test_purchase_invoice_advance_taxes(self): - from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.buying.doctype.purchase_order.purchase_order import get_mapped_purchase_invoice + from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order # create a new supplier to test supplier = create_supplier(supplier_name = '_Test TDS Advance Supplier', diff --git a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py index d157837a7a..ec2ce65168 100644 --- a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py +++ b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PurchaseInvoiceAdvance(Document): pass diff --git a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py index 50ec7d8b4d..ad2a24c0e2 100644 --- a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py +++ b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PurchaseInvoiceItem(Document): pass diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py index 5854ddee94..34ac25753b 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PurchaseTaxesandCharges(Document): pass diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.py b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.py index efcef469bd..53b549f682 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.py +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.py @@ -3,10 +3,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document -from erpnext.accounts.doctype.sales_taxes_and_charges_template.sales_taxes_and_charges_template \ - import valdiate_taxes_and_charges_template + +from erpnext.accounts.doctype.sales_taxes_and_charges_template.sales_taxes_and_charges_template import ( + valdiate_taxes_and_charges_template, +) + class PurchaseTaxesandChargesTemplate(Document): def validate(self): diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py index 97fbca31b6..c60c81b723 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Purchase Taxes and Charges Template') diff --git a/erpnext/accounts/doctype/salary_component_account/salary_component_account.py b/erpnext/accounts/doctype/salary_component_account/salary_component_account.py index 983d0156a5..d96ef62c29 100644 --- a/erpnext/accounts/doctype/salary_component_account/salary_component_account.py +++ b/erpnext/accounts/doctype/salary_component_account/salary_component_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SalaryComponentAccount(Document): pass diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 93546c3be7..ec249c2419 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -2,33 +2,51 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -import frappe.defaults -from frappe.utils import cint, flt, getdate, add_days, add_months, cstr, nowdate, get_link_to_form, formatdate + +import frappe from frappe import _, msgprint, throw -from erpnext.accounts.party import get_party_account, get_due_date, get_party_details -from frappe.model.mapper import get_mapped_doc -from erpnext.controllers.selling_controller import SellingController -from erpnext.accounts.utils import get_account_currency -from erpnext.stock.doctype.delivery_note.delivery_note import update_billed_amount_based_on_so -from erpnext.projects.doctype.timesheet.timesheet import get_projectwise_timesheet_data -from erpnext.assets.doctype.asset.depreciation \ - import get_disposal_account_and_cost_center, get_gl_entries_on_asset_disposal, get_gl_entries_on_asset_regain, post_depreciation_entries -from erpnext.stock.doctype.batch.batch import set_batch_nos -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos, get_delivery_note_serial_no -from erpnext.setup.doctype.company.company import update_company_current_month_sales -from erpnext.accounts.general_ledger import get_round_off_account_and_cost_center -from erpnext.accounts.doctype.loyalty_program.loyalty_program import \ - get_loyalty_program_details_with_points, get_loyalty_details, validate_loyalty_points -from erpnext.accounts.deferred_revenue import validate_service_stop_date -from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import get_party_tax_withholding_details -from frappe.model.utils import get_fetch_values from frappe.contacts.doctype.address.address import get_address_display - -from erpnext.healthcare.utils import manage_invoice_submit_cancel - +from frappe.model.mapper import get_mapped_doc +from frappe.model.utils import get_fetch_values +from frappe.utils import ( + add_days, + add_months, + cint, + cstr, + flt, + formatdate, + get_link_to_form, + getdate, + nowdate, +) from six import iteritems +import erpnext +from erpnext.accounts.deferred_revenue import validate_service_stop_date +from erpnext.accounts.doctype.loyalty_program.loyalty_program import ( + get_loyalty_program_details_with_points, + validate_loyalty_points, +) +from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import ( + get_party_tax_withholding_details, +) +from erpnext.accounts.general_ledger import get_round_off_account_and_cost_center +from erpnext.accounts.party import get_due_date, get_party_account, get_party_details +from erpnext.accounts.utils import get_account_currency +from erpnext.assets.doctype.asset.depreciation import ( + get_disposal_account_and_cost_center, + get_gl_entries_on_asset_disposal, + get_gl_entries_on_asset_regain, + post_depreciation_entries, +) +from erpnext.controllers.selling_controller import SellingController +from erpnext.healthcare.utils import manage_invoice_submit_cancel +from erpnext.projects.doctype.timesheet.timesheet import get_projectwise_timesheet_data +from erpnext.setup.doctype.company.company import update_company_current_month_sales +from erpnext.stock.doctype.batch.batch import set_batch_nos +from erpnext.stock.doctype.delivery_note.delivery_note import update_billed_amount_based_on_so +from erpnext.stock.doctype.serial_no.serial_no import get_delivery_note_serial_no, get_serial_nos + form_grid_templates = { "items": "templates/form_grid/item_grid.html" } @@ -480,7 +498,7 @@ class SalesInvoice(SellingController): if not self.account_for_change_amount: self.account_for_change_amount = frappe.get_cached_value('Company', self.company, 'default_cash_account') - from erpnext.stock.get_item_details import get_pos_profile_item_details, get_pos_profile + from erpnext.stock.get_item_details import get_pos_profile, get_pos_profile_item_details if not self.pos_profile: pos_profile = get_pos_profile(self.company) or {} if not pos_profile: @@ -1374,8 +1392,10 @@ class SalesInvoice(SellingController): # redeem the loyalty points. def apply_loyalty_points(self): - from erpnext.accounts.doctype.loyalty_point_entry.loyalty_point_entry \ - import get_loyalty_point_entries, get_redemption_details + from erpnext.accounts.doctype.loyalty_point_entry.loyalty_point_entry import ( + get_loyalty_point_entries, + get_redemption_details, + ) loyalty_point_entries = get_loyalty_point_entries(self.customer, self.loyalty_program, self.company, self.posting_date) redemption_details = get_redemption_details(self.customer, self.loyalty_program, self.company) @@ -2008,7 +2028,11 @@ def get_mode_of_payment_info(mode_of_payment, company): @frappe.whitelist() def create_dunning(source_name, target_doc=None): from frappe.model.mapper import get_mapped_doc - from erpnext.accounts.doctype.dunning.dunning import get_dunning_letter_text, calculate_interest_and_amount + + from erpnext.accounts.doctype.dunning.dunning import ( + calculate_interest_and_amount, + get_dunning_letter_text, + ) def set_missing_values(source, target): target.sales_invoice = source_name target.outstanding_amount = source.outstanding_amount diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py index 3238ead431..64b35b2987 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'sales_invoice', diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py index e06a3bb5b1..da0c315193 100644 --- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -2,31 +2,39 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext +import copy +import unittest -import unittest, copy, time -from frappe.utils import nowdate, flt, getdate, cint, add_days, add_months +import frappe from frappe.model.dynamic_links import get_dynamic_link_map -from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry, get_qty_after_transaction -from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import unlink_payment_on_cancel_of_invoice -from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import WarehouseMissingError -from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile -from erpnext.assets.doctype.asset.test_asset import create_asset, create_asset_data -from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries -from erpnext.exceptions import InvalidAccountCurrency, InvalidCurrency -from erpnext.stock.doctype.serial_no.serial_no import SerialNoWarehouseError from frappe.model.naming import make_autoname -from erpnext.accounts.doctype.account.test_account import get_inventory_account, create_account -from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_data -from erpnext.stock.doctype.item.test_item import create_item +from frappe.utils import add_days, flt, getdate, nowdate from six import iteritems + +import erpnext +from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account +from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile +from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import WarehouseMissingError +from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + unlink_payment_on_cancel_of_invoice, +) from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_transaction -from erpnext.regional.india.utils import get_ewb_data -from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt -from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice -from erpnext.stock.utils import get_incoming_rate from erpnext.accounts.utils import PaymentEntryUnlinkError +from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries +from erpnext.assets.doctype.asset.test_asset import create_asset, create_asset_data +from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_data +from erpnext.exceptions import InvalidAccountCurrency, InvalidCurrency +from erpnext.regional.india.utils import get_ewb_data +from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice +from erpnext.stock.doctype.item.test_item import create_item +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.serial_no.serial_no import SerialNoWarehouseError +from erpnext.stock.doctype.stock_entry.test_stock_entry import ( + get_qty_after_transaction, + make_stock_entry, +) +from erpnext.stock.utils import get_incoming_rate + class TestSalesInvoice(unittest.TestCase): def make(self): @@ -677,8 +685,9 @@ class TestSalesInvoice(unittest.TestCase): def test_payment(self): w = self.make() - from erpnext.accounts.doctype.journal_entry.test_journal_entry \ - import test_records as jv_test_records + from erpnext.accounts.doctype.journal_entry.test_journal_entry import ( + test_records as jv_test_records, + ) jv = frappe.get_doc(frappe.copy_doc(jv_test_records[0])) jv.get("accounts")[0].reference_type = w.doctype @@ -944,16 +953,18 @@ class TestSalesInvoice(unittest.TestCase): def _insert_purchase_receipt(self): - from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \ - as pr_test_records + from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import ( + test_records as pr_test_records, + ) pr = frappe.copy_doc(pr_test_records[0]) pr.naming_series = "_T-Purchase Receipt-" pr.insert() pr.submit() def _insert_delivery_note(self): - from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records \ - as dn_test_records + from erpnext.stock.doctype.delivery_note.test_delivery_note import ( + test_records as dn_test_records, + ) dn = frappe.copy_doc(dn_test_records[0]) dn.naming_series = "_T-Delivery Note-" dn.insert() @@ -961,8 +972,9 @@ class TestSalesInvoice(unittest.TestCase): return dn def test_sales_invoice_with_advance(self): - from erpnext.accounts.doctype.journal_entry.test_journal_entry \ - import test_records as jv_test_records + from erpnext.accounts.doctype.journal_entry.test_journal_entry import ( + test_records as jv_test_records, + ) jv = frappe.copy_doc(jv_test_records[0]) jv.insert() @@ -994,8 +1006,8 @@ class TestSalesInvoice(unittest.TestCase): si.cancel() def test_serialized(self): - from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item se = make_serialized_item() serial_nos = get_serial_nos(se.get("items")[0].serial_no) @@ -1048,9 +1060,9 @@ class TestSalesInvoice(unittest.TestCase): check if the sales invoice item serial numbers and the delivery note items serial numbers are same """ - from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item se = make_serialized_item() serial_nos = get_serial_nos(se.get("items")[0].serial_no) @@ -1290,8 +1302,9 @@ class TestSalesInvoice(unittest.TestCase): self.assertEqual(si.get("items")[0].rate, flt((price_list_rate*25)/100 + price_list_rate)) def test_outstanding_amount_after_advance_jv_cancelation(self): - from erpnext.accounts.doctype.journal_entry.test_journal_entry \ - import test_records as jv_test_records + from erpnext.accounts.doctype.journal_entry.test_journal_entry import ( + test_records as jv_test_records, + ) jv = frappe.copy_doc(jv_test_records[0]) jv.accounts[0].is_advance = 'Yes' @@ -1577,8 +1590,7 @@ class TestSalesInvoice(unittest.TestCase): self.assertEqual(expected_values[gle.account][2], gle.credit) def test_sales_invoice_with_shipping_rule(self): - from erpnext.accounts.doctype.shipping_rule.test_shipping_rule \ - import create_shipping_rule + from erpnext.accounts.doctype.shipping_rule.test_shipping_rule import create_shipping_rule shipping_rule = create_shipping_rule(shipping_rule_type = "Selling", shipping_rule_name = "Shipping Rule - Sales Invoice Test") @@ -2129,7 +2141,9 @@ class TestSalesInvoice(unittest.TestCase): self.assertEqual(sales_invoice.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC") def test_sales_invoice_with_discount_accounting_enabled(self): - from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import enable_discount_accounting + from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + enable_discount_accounting, + ) enable_discount_accounting() @@ -2147,7 +2161,9 @@ class TestSalesInvoice(unittest.TestCase): enable_discount_accounting(enable=0) def test_additional_discount_for_sales_invoice_with_discount_accounting_enabled(self): - from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import enable_discount_accounting + from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + enable_discount_accounting, + ) enable_discount_accounting() additional_discount_account = create_account(account_name="Discount Account", @@ -2201,7 +2217,9 @@ class TestSalesInvoice(unittest.TestCase): self.assertTrue(schedule.journal_entry) def test_sales_invoice_against_supplier(self): - from erpnext.accounts.doctype.opening_invoice_creation_tool.test_opening_invoice_creation_tool import make_customer + from erpnext.accounts.doctype.opening_invoice_creation_tool.test_opening_invoice_creation_tool import ( + make_customer, + ) from erpnext.buying.doctype.supplier.test_supplier import create_supplier # create a customer diff --git a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py index 28aeef4d5e..ae69598a66 100644 --- a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py +++ b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class SalesInvoiceAdvance(Document): pass diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py index a73b03acc8..063c591f76 100644 --- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py +++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class SalesInvoiceItem(Document): pass diff --git a/erpnext/accounts/doctype/sales_invoice_payment/sales_invoice_payment.py b/erpnext/accounts/doctype/sales_invoice_payment/sales_invoice_payment.py index cc0b7a620d..a980ece580 100644 --- a/erpnext/accounts/doctype/sales_invoice_payment/sales_invoice_payment.py +++ b/erpnext/accounts/doctype/sales_invoice_payment/sales_invoice_payment.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SalesInvoicePayment(Document): pass diff --git a/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.py b/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.py index afc05ab7ed..e8d4b114fe 100644 --- a/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.py +++ b/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SalesInvoiceTimesheet(Document): pass diff --git a/erpnext/accounts/doctype/sales_partner_item/sales_partner_item.py b/erpnext/accounts/doctype/sales_partner_item/sales_partner_item.py index 9796c7b0cc..97489d155f 100644 --- a/erpnext/accounts/doctype/sales_partner_item/sales_partner_item.py +++ b/erpnext/accounts/doctype/sales_partner_item/sales_partner_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class SalesPartnerItem(Document): pass diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py index b1de9d85fd..39872f3377 100644 --- a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py +++ b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class SalesTaxesandCharges(Document): pass diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.py b/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.py index 8f9eb6577b..0a0bb3e00b 100644 --- a/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.py +++ b/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.py @@ -2,11 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt from frappe.model.document import Document -from erpnext.controllers.accounts_controller import validate_taxes_and_charges, validate_inclusive_tax, validate_cost_center, validate_account_head +from frappe.utils import flt + +from erpnext.controllers.accounts_controller import ( + validate_account_head, + validate_cost_center, + validate_inclusive_tax, + validate_taxes_and_charges, +) + class SalesTaxesandChargesTemplate(Document): def validate(self): diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py b/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py index 1c0c0c77e7..1cad4129f8 100644 --- a/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py +++ b/erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + test_records = frappe.get_test_records('Sales Taxes and Charges Template') class TestSalesTaxesandChargesTemplate(unittest.TestCase): diff --git a/erpnext/accounts/doctype/share_balance/share_balance.py b/erpnext/accounts/doctype/share_balance/share_balance.py index bd165cd38a..0353e99823 100644 --- a/erpnext/accounts/doctype/share_balance/share_balance.py +++ b/erpnext/accounts/doctype/share_balance/share_balance.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ShareBalance(Document): pass diff --git a/erpnext/accounts/doctype/share_transfer/share_transfer.py b/erpnext/accounts/doctype/share_transfer/share_transfer.py index 3d4543fb05..5117ef8b5b 100644 --- a/erpnext/accounts/doctype/share_transfer/share_transfer.py +++ b/erpnext/accounts/doctype/share_transfer/share_transfer.py @@ -3,13 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.model.document import Document -from frappe.model.naming import make_autoname from frappe.exceptions import ValidationError +from frappe.model.document import Document +from frappe.model.naming import make_autoname from frappe.utils import nowdate + class ShareDontExists(ValidationError): pass class ShareTransfer(Document): diff --git a/erpnext/accounts/doctype/share_transfer/test_share_transfer.py b/erpnext/accounts/doctype/share_transfer/test_share_transfer.py index 2ff9b02129..b40e5fbbf8 100644 --- a/erpnext/accounts/doctype/share_transfer/test_share_transfer.py +++ b/erpnext/accounts/doctype/share_transfer/test_share_transfer.py @@ -3,8 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + from erpnext.accounts.doctype.share_transfer.share_transfer import ShareDontExists test_dependencies = ["Share Type", "Shareholder"] diff --git a/erpnext/accounts/doctype/share_type/share_type.py b/erpnext/accounts/doctype/share_type/share_type.py index ab4b8bc1ef..5b133aa34a 100644 --- a/erpnext/accounts/doctype/share_type/share_type.py +++ b/erpnext/accounts/doctype/share_type/share_type.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ShareType(Document): pass diff --git a/erpnext/accounts/doctype/share_type/test_share_type.py b/erpnext/accounts/doctype/share_type/test_share_type.py index 1c1f051658..a6f8d611c1 100644 --- a/erpnext/accounts/doctype/share_type/test_share_type.py +++ b/erpnext/accounts/doctype/share_type/test_share_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestShareType(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/shareholder/shareholder.py b/erpnext/accounts/doctype/shareholder/shareholder.py index c507fcfaa9..12c50c8283 100644 --- a/erpnext/accounts/doctype/shareholder/shareholder.py +++ b/erpnext/accounts/doctype/shareholder/shareholder.py @@ -3,9 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + +from frappe.contacts.address_and_contact import ( + delete_contact_and_address, + load_address_and_contact, +) from frappe.model.document import Document -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address + class Shareholder(Document): def onload(self): diff --git a/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py b/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py index 3b77fd51b5..0084f2567a 100644 --- a/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py +++ b/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py @@ -1,7 +1,5 @@ from __future__ import unicode_literals -from frappe import _ - def get_data(): return { diff --git a/erpnext/accounts/doctype/shareholder/test_shareholder.py b/erpnext/accounts/doctype/shareholder/test_shareholder.py index 9ce00932fa..6790fdd2ff 100644 --- a/erpnext/accounts/doctype/shareholder/test_shareholder.py +++ b/erpnext/accounts/doctype/shareholder/test_shareholder.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestShareholder(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py index d32a348741..2852101472 100644 --- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py +++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py @@ -4,10 +4,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _, msgprint, throw -from frappe.utils import flt, fmt_money from frappe.model.document import Document +from frappe.utils import flt, fmt_money + +import erpnext + class OverlappingConditionError(frappe.ValidationError): pass class FromGreaterThanToError(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py index abc6ab82d3..bdd9be3bed 100644 --- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py +++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py @@ -2,9 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.accounts.doctype.shipping_rule.shipping_rule import FromGreaterThanToError, ManyBlankToValuesError, OverlappingConditionError + +import frappe + +from erpnext.accounts.doctype.shipping_rule.shipping_rule import ( + FromGreaterThanToError, + ManyBlankToValuesError, + OverlappingConditionError, +) test_records = frappe.get_test_records('Shipping Rule') diff --git a/erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py b/erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py index db6ef117c2..66cd269e51 100644 --- a/erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py +++ b/erpnext/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ShippingRuleCondition(Document): pass diff --git a/erpnext/accounts/doctype/shipping_rule_country/shipping_rule_country.py b/erpnext/accounts/doctype/shipping_rule_country/shipping_rule_country.py index b9646cfc29..9576acd0ab 100644 --- a/erpnext/accounts/doctype/shipping_rule_country/shipping_rule_country.py +++ b/erpnext/accounts/doctype/shipping_rule_country/shipping_rule_country.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ShippingRuleCountry(Document): pass diff --git a/erpnext/accounts/doctype/south_africa_vat_account/south_africa_vat_account.py b/erpnext/accounts/doctype/south_africa_vat_account/south_africa_vat_account.py index 4bd8c65a04..d9a3bcc0df 100644 --- a/erpnext/accounts/doctype/south_africa_vat_account/south_africa_vat_account.py +++ b/erpnext/accounts/doctype/south_africa_vat_account/south_africa_vat_account.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class SouthAfricaVATAccount(Document): pass diff --git a/erpnext/accounts/doctype/subscription/subscription.py b/erpnext/accounts/doctype/subscription/subscription.py index 8bf7b78f58..445eb3c709 100644 --- a/erpnext/accounts/doctype/subscription/subscription.py +++ b/erpnext/accounts/doctype/subscription/subscription.py @@ -6,13 +6,27 @@ from __future__ import unicode_literals import frappe -import erpnext from frappe import _ from frappe.model.document import Document -from frappe.utils.data import nowdate, getdate, cstr, cint, add_days, date_diff, get_last_day, add_to_date, flt -from erpnext.accounts.doctype.subscription_plan.subscription_plan import get_plan_rate -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions +from frappe.utils.data import ( + add_days, + add_to_date, + cint, + cstr, + date_diff, + flt, + get_last_day, + getdate, + nowdate, +) + +import erpnext from erpnext import get_default_company +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) +from erpnext.accounts.doctype.subscription_plan.subscription_plan import get_plan_rate + class Subscription(Document): def before_insert(self): diff --git a/erpnext/accounts/doctype/subscription/test_subscription.py b/erpnext/accounts/doctype/subscription/test_subscription.py index 4f2cf487a4..e2cf4d5a44 100644 --- a/erpnext/accounts/doctype/subscription/test_subscription.py +++ b/erpnext/accounts/doctype/subscription/test_subscription.py @@ -6,9 +6,18 @@ from __future__ import unicode_literals import unittest import frappe +from frappe.utils.data import ( + add_days, + add_months, + add_to_date, + date_diff, + flt, + get_date_str, + nowdate, +) + from erpnext.accounts.doctype.subscription.subscription import get_prorata_factor -from frappe.utils.data import (nowdate, add_days, add_to_date, add_months, date_diff, flt, get_date_str, - get_first_day, get_last_day) + def create_plan(): if not frappe.db.exists('Subscription Plan', '_Test Plan Name'): diff --git a/erpnext/accounts/doctype/subscription_invoice/subscription_invoice.py b/erpnext/accounts/doctype/subscription_invoice/subscription_invoice.py index 6f459b4790..687c94cce2 100644 --- a/erpnext/accounts/doctype/subscription_invoice/subscription_invoice.py +++ b/erpnext/accounts/doctype/subscription_invoice/subscription_invoice.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SubscriptionInvoice(Document): pass diff --git a/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py b/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py index e60a4eeca9..2cc3038d91 100644 --- a/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py +++ b/erpnext/accounts/doctype/subscription_invoice/test_subscription_invoice.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSubscriptionInvoice(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/subscription_plan/subscription_plan.py b/erpnext/accounts/doctype/subscription_plan/subscription_plan.py index a341c2af6a..c7bb58cb26 100644 --- a/erpnext/accounts/doctype/subscription_plan/subscription_plan.py +++ b/erpnext/accounts/doctype/subscription_plan/subscription_plan.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import get_first_day, get_last_day, date_diff, flt, getdate from frappe.model.document import Document +from frappe.utils import date_diff, flt, get_first_day, get_last_day, getdate + from erpnext.utilities.product import get_price + class SubscriptionPlan(Document): def validate(self): self.validate_interval_count() diff --git a/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py b/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py index 73afbf620e..ba99763247 100644 --- a/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py +++ b/erpnext/accounts/doctype/subscription_plan/test_subscription_plan.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSubscriptionPlan(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/subscription_plan_detail/subscription_plan_detail.py b/erpnext/accounts/doctype/subscription_plan_detail/subscription_plan_detail.py index 1d9606ff78..a63a27700c 100644 --- a/erpnext/accounts/doctype/subscription_plan_detail/subscription_plan_detail.py +++ b/erpnext/accounts/doctype/subscription_plan_detail/subscription_plan_detail.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SubscriptionPlanDetail(Document): pass diff --git a/erpnext/accounts/doctype/subscription_settings/subscription_settings.py b/erpnext/accounts/doctype/subscription_settings/subscription_settings.py index cc378e4d9f..54735834ba 100644 --- a/erpnext/accounts/doctype/subscription_settings/subscription_settings.py +++ b/erpnext/accounts/doctype/subscription_settings/subscription_settings.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SubscriptionSettings(Document): pass diff --git a/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py b/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py index 82c7e1d269..5875ee069e 100644 --- a/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py +++ b/erpnext/accounts/doctype/subscription_settings/test_subscription_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSubscriptionSettings(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py b/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py index de0444ee19..61c16fe0ff 100644 --- a/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py +++ b/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class SupplierGroupItem(Document): pass diff --git a/erpnext/accounts/doctype/supplier_item/supplier_item.py b/erpnext/accounts/doctype/supplier_item/supplier_item.py index ad66e230c8..2105b1d332 100644 --- a/erpnext/accounts/doctype/supplier_item/supplier_item.py +++ b/erpnext/accounts/doctype/supplier_item/supplier_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class SupplierItem(Document): pass diff --git a/erpnext/accounts/doctype/tax_category/tax_category.py b/erpnext/accounts/doctype/tax_category/tax_category.py index 2870e3200f..df31a5e45f 100644 --- a/erpnext/accounts/doctype/tax_category/tax_category.py +++ b/erpnext/accounts/doctype/tax_category/tax_category.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TaxCategory(Document): pass diff --git a/erpnext/accounts/doctype/tax_category/test_tax_category.py b/erpnext/accounts/doctype/tax_category/test_tax_category.py index 548d00852a..90931058f0 100644 --- a/erpnext/accounts/doctype/tax_category/test_tax_category.py +++ b/erpnext/accounts/doctype/tax_category/test_tax_category.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestTaxCategory(unittest.TestCase): pass diff --git a/erpnext/accounts/doctype/tax_rule/tax_rule.py b/erpnext/accounts/doctype/tax_rule/tax_rule.py index 5814231817..150498d6ac 100644 --- a/erpnext/accounts/doctype/tax_rule/tax_rule.py +++ b/erpnext/accounts/doctype/tax_rule/tax_rule.py @@ -3,19 +3,21 @@ # For license information, please see license.txt from __future__ import unicode_literals -from past.builtins import cmp -import frappe -from frappe import _ -from frappe.model.document import Document -from frappe.utils import cstr, cint -from frappe.contacts.doctype.address.address import get_default_address -from frappe.utils.nestedset import get_root_of -from erpnext.setup.doctype.customer_group.customer_group import get_parent_customer_groups import functools +import frappe +from frappe import _ +from frappe.contacts.doctype.address.address import get_default_address +from frappe.model.document import Document +from frappe.utils import cint, cstr +from frappe.utils.nestedset import get_root_of +from past.builtins import cmp from six import iteritems +from erpnext.setup.doctype.customer_group.customer_group import get_parent_customer_groups + + class IncorrectCustomerGroup(frappe.ValidationError): pass class IncorrectSupplierType(frappe.ValidationError): pass class ConflictingTaxRule(frappe.ValidationError): pass diff --git a/erpnext/accounts/doctype/tax_rule/test_tax_rule.py b/erpnext/accounts/doctype/tax_rule/test_tax_rule.py index cf7226822e..f937274edf 100644 --- a/erpnext/accounts/doctype/tax_rule/test_tax_rule.py +++ b/erpnext/accounts/doctype/tax_rule/test_tax_rule.py @@ -3,16 +3,19 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.accounts.doctype.tax_rule.tax_rule import IncorrectCustomerGroup, IncorrectSupplierType, ConflictingTaxRule, get_tax_template -from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity + +import frappe + +from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule, get_tax_template from erpnext.crm.doctype.opportunity.opportunity import make_quotation +from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity test_records = frappe.get_test_records('Tax Rule') from six import iteritems + class TestTaxRule(unittest.TestCase): @classmethod def setUpClass(cls): diff --git a/erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.py b/erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.py index 76e3fa32b0..fd194829e5 100644 --- a/erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.py +++ b/erpnext/accounts/doctype/tax_withholding_account/tax_withholding_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TaxWithholdingAccount(Document): pass diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py index 5772ac23b8..b4bdd73c49 100644 --- a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py +++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import flt, getdate, cint +from frappe.utils import cint, getdate + from erpnext.accounts.utils import get_fiscal_year + class TaxWithholdingCategory(Document): pass diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py index d51ba65b13..152ee46081 100644 --- a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py +++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py @@ -1,7 +1,5 @@ from __future__ import unicode_literals -from frappe import _ - def get_data(): return { diff --git a/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py index 0f921db678..c4a5ba52fe 100644 --- a/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py +++ b/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py @@ -3,11 +3,12 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import today + from erpnext.accounts.utils import get_fiscal_year -from erpnext.buying.doctype.supplier.test_supplier import create_supplier test_dependencies = ["Supplier Group", "Customer Group"] diff --git a/erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.py b/erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.py index 6e32abec39..6556277509 100644 --- a/erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.py +++ b/erpnext/accounts/doctype/tax_withholding_rate/tax_withholding_rate.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TaxWithholdingRate(Document): pass diff --git a/erpnext/accounts/doctype/territory_item/territory_item.py b/erpnext/accounts/doctype/territory_item/territory_item.py index d46edc9dca..bcc02be2dd 100644 --- a/erpnext/accounts/doctype/territory_item/territory_item.py +++ b/erpnext/accounts/doctype/territory_item/territory_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class TerritoryItem(Document): pass diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py index 3126138408..4bf2b828ed 100644 --- a/erpnext/accounts/general_ledger.py +++ b/erpnext/accounts/general_ledger.py @@ -2,12 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import flt, cstr, cint, comma_and, today, getdate, formatdate, now + +import frappe from frappe import _ from frappe.model.meta import get_field_precision +from frappe.utils import cint, cstr, flt, formatdate, getdate, now + +import erpnext +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) from erpnext.accounts.doctype.budget.budget import validate_expense_against_budget -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions + class ClosedAccountingPeriod(frappe.ValidationError): pass diff --git a/erpnext/accounts/notification/notification_for_new_fiscal_year/notification_for_new_fiscal_year.py b/erpnext/accounts/notification/notification_for_new_fiscal_year/notification_for_new_fiscal_year.py index 1bc4d1874c..f57de916dd 100644 --- a/erpnext/accounts/notification/notification_for_new_fiscal_year/notification_for_new_fiscal_year.py +++ b/erpnext/accounts/notification/notification_for_new_fiscal_year/notification_for_new_fiscal_year.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_context(context): # do your magic here pass diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index b78ea42850..7ea6ccee5b 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -3,20 +3,37 @@ from __future__ import unicode_literals -import frappe, erpnext +import frappe from frappe import _, msgprint, scrub +from frappe.contacts.doctype.address.address import ( + get_address_display, + get_company_address, + get_default_address, +) +from frappe.contacts.doctype.contact.contact import get_contact_details from frappe.core.doctype.user_permission.user_permission import get_permitted_documents from frappe.model.utils import get_fetch_values -from frappe.utils import (add_days, getdate, formatdate, date_diff, - add_years, get_timestamp, nowdate, flt, cstr, add_months, get_last_day, cint) -from frappe.contacts.doctype.address.address import (get_address_display, - get_default_address, get_company_address) -from frappe.contacts.doctype.contact.contact import get_contact_details -from erpnext.exceptions import PartyFrozen, PartyDisabled, InvalidAccountCurrency -from erpnext.accounts.utils import get_fiscal_year -from erpnext import get_company_currency +from frappe.utils import ( + add_days, + add_months, + add_years, + cint, + cstr, + date_diff, + flt, + formatdate, + get_last_day, + get_timestamp, + getdate, + nowdate, +) +from six import iteritems + +import erpnext +from erpnext import get_company_currency +from erpnext.accounts.utils import get_fiscal_year +from erpnext.exceptions import InvalidAccountCurrency, PartyDisabled, PartyFrozen -from six import iteritems, string_types class DuplicatePartyAccountError(frappe.ValidationError): pass @@ -386,7 +403,7 @@ def get_address_tax_category(tax_category=None, billing_address=None, shipping_a @frappe.whitelist() def set_taxes(party, party_type, posting_date, company, customer_group=None, supplier_group=None, tax_category=None, billing_address=None, shipping_address=None, use_for_shopping_cart=None): - from erpnext.accounts.doctype.tax_rule.tax_rule import get_tax_template, get_party_details + from erpnext.accounts.doctype.tax_rule.tax_rule import get_party_details, get_tax_template args = { party_type.lower(): party, "company": company diff --git a/erpnext/accounts/report/account_balance/account_balance.py b/erpnext/accounts/report/account_balance/account_balance.py index be64c327fd..9ae61ddcfd 100644 --- a/erpnext/accounts/report/account_balance/account_balance.py +++ b/erpnext/accounts/report/account_balance/account_balance.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + from erpnext.accounts.utils import get_balance_on + def execute(filters=None): filters = frappe._dict(filters or {}) columns = get_columns(filters) diff --git a/erpnext/accounts/report/account_balance/test_account_balance.py b/erpnext/accounts/report/account_balance/test_account_balance.py index f5c9449e85..94c73f5264 100644 --- a/erpnext/accounts/report/account_balance/test_account_balance.py +++ b/erpnext/accounts/report/account_balance/test_account_balance.py @@ -1,10 +1,13 @@ from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import getdate -from erpnext.accounts.report.account_balance.account_balance import execute + from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.accounts.report.account_balance.account_balance import execute + class TestAccountBalance(unittest.TestCase): def test_account_balance(self): diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.py b/erpnext/accounts/report/accounts_payable/accounts_payable.py index 246ead6016..0de573e454 100644 --- a/erpnext/accounts/report/accounts_payable/accounts_payable.py +++ b/erpnext/accounts/report/accounts_payable/accounts_payable.py @@ -2,9 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from erpnext.accounts.report.accounts_receivable.accounts_receivable import ReceivablePayableReport + def execute(filters=None): args = { "party_type": "Supplier", diff --git a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.py b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.py index c08582b564..6034ec0d83 100644 --- a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.py +++ b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from erpnext.accounts.report.accounts_receivable_summary.accounts_receivable_summary \ - import AccountsReceivableSummary + +from erpnext.accounts.report.accounts_receivable_summary.accounts_receivable_summary import ( + AccountsReceivableSummary, +) + def execute(filters=None): args = { diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py index cedfc0f58b..e91fdf27cd 100755 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py @@ -2,12 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe import _, scrub -from frappe.utils import getdate, nowdate, flt, cint, formatdate, cstr, now, time_diff_in_seconds + from collections import OrderedDict + +import frappe +from frappe import _, scrub +from frappe.utils import cint, cstr, flt, getdate, nowdate + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimension_with_children, +) from erpnext.accounts.utils import get_currency_precision -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions, get_dimension_with_children # This report gives a summary of all Outstanding Invoices considering the following diff --git a/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py index cca6760823..1d24561bb3 100644 --- a/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py @@ -1,11 +1,14 @@ from __future__ import unicode_literals -import frappe -import frappe.defaults + import unittest -from frappe.utils import today, getdate, add_days -from erpnext.accounts.report.accounts_receivable.accounts_receivable import execute -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice + +import frappe +from frappe.utils import add_days, getdate, today + from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.accounts.report.accounts_receivable.accounts_receivable import execute + class TestAccountsReceivable(unittest.TestCase): def test_accounts_receivable(self): diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py index 4bfb022c4e..106f224a74 100644 --- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py +++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _, scrub -from frappe.utils import flt, cint +from frappe.utils import cint +from six import iteritems + from erpnext.accounts.party import get_partywise_advanced_payment_amount from erpnext.accounts.report.accounts_receivable.accounts_receivable import ReceivablePayableReport -from six import iteritems + def execute(filters=None): args = { diff --git a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py index 2162a02eff..0fd4ca0f24 100644 --- a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py +++ b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import flt + +import frappe from frappe import _ +from frappe.utils import flt + def execute(filters=None): columns, data = get_columns(), get_data(filters) diff --git a/erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py b/erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py index 5001ad9f12..d34bc854bb 100644 --- a/erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py +++ b/erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py @@ -2,9 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import formatdate, flt, add_days +from frappe.utils import add_days, flt, formatdate def execute(filters=None): diff --git a/erpnext/accounts/report/balance_sheet/balance_sheet.py b/erpnext/accounts/report/balance_sheet/balance_sheet.py index 7838385dc5..78ee7cab9a 100644 --- a/erpnext/accounts/report/balance_sheet/balance_sheet.py +++ b/erpnext/accounts/report/balance_sheet/balance_sheet.py @@ -2,11 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, cint -from erpnext.accounts.report.financial_statements import (get_period_list, get_columns, get_data, - get_filtered_list_for_consolidated_report) +from frappe.utils import cint, flt + +from erpnext.accounts.report.financial_statements import ( + get_columns, + get_data, + get_filtered_list_for_consolidated_report, + get_period_list, +) + def execute(filters=None): period_list = get_period_list(filters.from_fiscal_year, filters.to_fiscal_year, diff --git a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py index 95f724cc58..1a1fa964fe 100644 --- a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py +++ b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import nowdate, getdate +from frappe.utils import getdate, nowdate + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py index 63317c52d8..b9843068a1 100644 --- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py +++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt, getdate, nowdate from frappe import _ +from frappe.utils import flt, getdate, nowdate + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py b/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py index 2dcea22f7e..6c4cd671b2 100644 --- a/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py +++ b/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): data = get_data(filters) or [] columns = get_columns() diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py index 443126e465..c204250377 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py @@ -2,12 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import datetime -from six import iteritems import frappe from frappe import _ from frappe.utils import flt, formatdate +from six import iteritems from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges diff --git a/erpnext/accounts/report/cash_flow/cash_flow.py b/erpnext/accounts/report/cash_flow/cash_flow.py index 3577457c98..d5271885b7 100644 --- a/erpnext/accounts/report/cash_flow/cash_flow.py +++ b/erpnext/accounts/report/cash_flow/cash_flow.py @@ -2,14 +2,23 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import cint, cstr -from erpnext.accounts.report.financial_statements import (get_period_list, get_columns, get_data, get_filtered_list_for_consolidated_report) -from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import get_net_profit_loss -from erpnext.accounts.utils import get_fiscal_year from six import iteritems +from erpnext.accounts.report.financial_statements import ( + get_columns, + get_data, + get_filtered_list_for_consolidated_report, + get_period_list, +) +from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import ( + get_net_profit_loss, +) +from erpnext.accounts.utils import get_fiscal_year + def execute(filters=None): if cint(frappe.db.get_single_value('Accounts Settings', 'use_custom_cash_flow')): diff --git a/erpnext/accounts/report/cash_flow/custom_cash_flow.py b/erpnext/accounts/report/cash_flow/custom_cash_flow.py index c11c15390b..bbc020e591 100644 --- a/erpnext/accounts/report/cash_flow/custom_cash_flow.py +++ b/erpnext/accounts/report/cash_flow/custom_cash_flow.py @@ -2,11 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import add_to_date -from erpnext.accounts.report.financial_statements import (get_period_list, get_columns, get_data) -from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import get_net_profit_loss + +from erpnext.accounts.report.financial_statements import get_columns, get_data, get_period_list +from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import ( + get_net_profit_loss, +) def get_mapper_for(mappers, position): diff --git a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py index fc4212733a..e419727c2d 100644 --- a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py +++ b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py @@ -2,17 +2,37 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt, cint, getdate -from erpnext.accounts.report.utils import get_currency, convert_to_presentation_currency +from frappe.utils import cint, flt, getdate + +from erpnext.accounts.report.balance_sheet.balance_sheet import ( + check_opening_balance, + get_chart_data, + get_provisional_profit_loss, +) +from erpnext.accounts.report.balance_sheet.balance_sheet import ( + get_report_summary as get_bs_summary, +) +from erpnext.accounts.report.cash_flow.cash_flow import ( + add_total_row_account, + get_account_type_based_gl_data, + get_cash_flow_accounts, +) +from erpnext.accounts.report.cash_flow.cash_flow import get_report_summary as get_cash_flow_summary from erpnext.accounts.report.financial_statements import get_fiscal_year_data, sort_accounts -from erpnext.accounts.report.balance_sheet.balance_sheet import (get_provisional_profit_loss, - check_opening_balance, get_chart_data, get_report_summary as get_bs_summary) -from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import (get_net_profit_loss, - get_chart_data as get_pl_chart_data, get_report_summary as get_pl_summary) -from erpnext.accounts.report.cash_flow.cash_flow import (get_cash_flow_accounts, get_account_type_based_gl_data, - add_total_row_account, get_report_summary as get_cash_flow_summary) +from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import ( + get_chart_data as get_pl_chart_data, +) +from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import ( + get_net_profit_loss, +) +from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import ( + get_report_summary as get_pl_summary, +) +from erpnext.accounts.report.utils import convert_to_presentation_currency + def execute(filters=None): columns, data, message, chart = [], [], [], [] diff --git a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py index c79d7401e6..603fbac5aa 100644 --- a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py +++ b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py @@ -2,12 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import erpnext from frappe import _, scrub from frappe.utils import getdate, nowdate from six import iteritems, itervalues + class PartyLedgerSummaryReport(object): def __init__(self, filters=None): self.filters = frappe._dict(filters or {}) diff --git a/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py b/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py index 9953d8fcaf..f096094296 100644 --- a/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py +++ b/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe import _ + from erpnext.accounts.report.non_billed_report import get_ordered_to_be_billed_data + def execute(filters=None): columns = get_column() args = get_args() diff --git a/erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py b/erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py index de7ed4926e..4212137d7a 100644 --- a/erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py +++ b/erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py @@ -2,14 +2,19 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe import _ -from frappe.utils import (flt, cstr) -from erpnext.accounts.report.financial_statements import filter_accounts, filter_out_zero_value_rows +import frappe +from frappe import _ +from frappe.utils import cstr, flt +from six import itervalues + +import erpnext +from erpnext.accounts.report.financial_statements import ( + filter_accounts, + filter_out_zero_value_rows, +) from erpnext.accounts.report.trial_balance.trial_balance import validate_filters -from six import itervalues def execute(filters=None): validate_filters(filters) diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py index f5309cd6fd..2cb8a6802a 100644 --- a/erpnext/accounts/report/financial_statements.py +++ b/erpnext/accounts/report/financial_statements.py @@ -5,19 +5,23 @@ from __future__ import unicode_literals -import re -from past.builtins import cmp import functools import math +import re -import frappe, erpnext -from erpnext.accounts.report.utils import get_currency, convert_to_presentation_currency -from erpnext.accounts.utils import get_fiscal_year +import frappe from frappe import _ -from frappe.utils import (flt, getdate, get_first_day, add_months, add_days, formatdate, cstr, cint) - +from frappe.utils import add_days, add_months, cint, cstr, flt, formatdate, get_first_day, getdate +from past.builtins import cmp from six import itervalues -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions, get_dimension_with_children + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimension_with_children, +) +from erpnext.accounts.report.utils import convert_to_presentation_currency, get_currency +from erpnext.accounts.utils import get_fiscal_year + def get_period_list(from_fiscal_year, to_fiscal_year, period_start_date, period_end_date, filter_based_on, periodicity, accumulated_values=False, company=None, reset_period_on_fy_change=True, ignore_fiscal_year=False): diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py index 3723c8e0d2..a044518749 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.py +++ b/erpnext/accounts/report/general_ledger/general_ledger.py @@ -2,17 +2,24 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from erpnext import get_company_currency, get_default_company -from erpnext.accounts.report.utils import get_currency, convert_to_presentation_currency -from frappe.utils import getdate, cstr, flt, fmt_money -from frappe import _, _dict -from erpnext.accounts.utils import get_account_currency -from erpnext.accounts.report.financial_statements import get_cost_centers_with_children -from six import iteritems -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions, get_dimension_with_children + from collections import OrderedDict +import frappe +from frappe import _, _dict +from frappe.utils import cstr, flt, getdate +from six import iteritems + +from erpnext import get_company_currency, get_default_company +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimension_with_children, +) +from erpnext.accounts.report.financial_statements import get_cost_centers_with_children +from erpnext.accounts.report.utils import convert_to_presentation_currency, get_currency +from erpnext.accounts.utils import get_account_currency + + def execute(filters=None): if not filters: return [], [] diff --git a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py index 8e33af7ee8..49522d9c87 100644 --- a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py +++ b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py @@ -2,11 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import copy + import frappe from frappe import _ from frappe.utils import flt -from erpnext.accounts.report.financial_statements import (get_period_list, get_columns, get_data) -import copy + +from erpnext.accounts.report.financial_statements import get_columns, get_data, get_period_list + def execute(filters=None): period_list = get_period_list(filters.from_fiscal_year, filters.to_fiscal_year, filters.period_start_date, diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py index 8ea5e07aef..f08bca9dda 100644 --- a/erpnext/accounts/report/gross_profit/gross_profit.py +++ b/erpnext/accounts/report/gross_profit/gross_profit.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _, scrub -from erpnext.stock.utils import get_incoming_rate +from frappe.utils import cint, flt + from erpnext.controllers.queries import get_match_cond -from frappe.utils import flt, cint +from erpnext.stock.utils import get_incoming_rate def execute(filters=None): @@ -46,7 +48,7 @@ def execute(filters=None): else: get_data_when_not_grouped_by_invoice(gross_profit_data, filters, group_wise_columns, data) - + return columns, data def get_data_when_grouped_by_invoice(columns, gross_profit_data, filters, group_wise_columns, data): @@ -57,7 +59,7 @@ def get_data_when_grouped_by_invoice(columns, gross_profit_data, filters, group_ # removing Item Code and Item Name columns del columns[4:6] - for src in gross_profit_data.si_list: + for src in gross_profit_data.si_list: row = frappe._dict() row.indent = src.indent row.parent_invoice = src.parent_invoice @@ -121,23 +123,23 @@ def get_columns(group_wise_columns, filters): def get_column_names(): return frappe._dict({ - 'parent': 'sales_invoice', - 'customer': 'customer', - 'customer_group': 'customer_group', - 'posting_date': 'posting_date', - 'item_code': 'item_code', - 'item_name': 'item_name', - 'item_group': 'item_group', - 'brand': 'brand', - 'description': 'description', - 'warehouse': 'warehouse', - 'qty': 'qty', - 'base_rate': 'avg._selling_rate', - 'buying_rate': 'valuation_rate', - 'base_amount': 'selling_amount', - 'buying_amount': 'buying_amount', - 'gross_profit': 'gross_profit', - 'gross_profit_percent': 'gross_profit_%', + 'parent': 'sales_invoice', + 'customer': 'customer', + 'customer_group': 'customer_group', + 'posting_date': 'posting_date', + 'item_code': 'item_code', + 'item_name': 'item_name', + 'item_group': 'item_group', + 'brand': 'brand', + 'description': 'description', + 'warehouse': 'warehouse', + 'qty': 'qty', + 'base_rate': 'avg._selling_rate', + 'buying_rate': 'valuation_rate', + 'base_amount': 'selling_amount', + 'buying_amount': 'buying_amount', + 'gross_profit': 'gross_profit', + 'gross_profit_percent': 'gross_profit_%', 'project': 'project' }) @@ -466,16 +468,16 @@ class GrossProfitGenerator(object): 'description': None, 'warehouse': None, 'item_group': None, - 'brand': None, - 'dn_detail': None, - 'delivery_note': None, - 'qty': None, - 'item_row': None, - 'is_return': row.is_return, + 'brand': None, + 'dn_detail': None, + 'delivery_note': None, + 'qty': None, + 'item_row': None, + 'is_return': row.is_return, 'cost_center': row.cost_center, 'base_net_amount': frappe.db.get_value('Sales Invoice', row.parent, 'base_net_total') }) - + def add_bundle_items(self, product_bundle, index): bundle_items = self.get_bundle_items(product_bundle) @@ -509,19 +511,19 @@ class GrossProfitGenerator(object): 'description': description, 'warehouse': product_bundle.warehouse, 'item_group': item_group, - 'brand': brand, - 'dn_detail': product_bundle.dn_detail, - 'delivery_note': product_bundle.delivery_note, - 'qty': (flt(product_bundle.qty) * flt(item.qty)), - 'item_row': None, - 'is_return': product_bundle.is_return, + 'brand': brand, + 'dn_detail': product_bundle.dn_detail, + 'delivery_note': product_bundle.delivery_note, + 'qty': (flt(product_bundle.qty) * flt(item.qty)), + 'item_row': None, + 'is_return': product_bundle.is_return, 'cost_center': product_bundle.cost_center }) def get_bundle_item_details(self, item_code): return frappe.db.get_value( - 'Item', - item_code, + 'Item', + item_code, ['item_name', 'description', 'item_group', 'brand'] ) diff --git a/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py b/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py index 7dea80cbe2..8f822711a7 100644 --- a/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py +++ b/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import getdate, add_days, today, cint from frappe import _ +from frappe.utils import cint + def execute(filters=None): columns = get_columns() diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py index 685419a17e..cd25c05004 100644 --- a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py +++ b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py @@ -2,14 +2,23 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ from frappe.utils import flt -from erpnext.accounts.report.item_wise_sales_register.item_wise_sales_register import (get_tax_accounts, - get_grand_total, add_total_row, get_display_value, get_group_by_and_display_fields, add_sub_total_row, - get_group_by_conditions) + +import erpnext +from erpnext.accounts.report.item_wise_sales_register.item_wise_sales_register import ( + add_sub_total_row, + add_total_row, + get_grand_total, + get_group_by_and_display_fields, + get_group_by_conditions, + get_tax_accounts, +) from erpnext.selling.report.item_wise_sales_history.item_wise_sales_history import get_item_details + def execute(filters=None): return _execute(filters) diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py index c9c22c246e..847a127d36 100644 --- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py +++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py @@ -2,13 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt, cstr from frappe.model.meta import get_field_precision +from frappe.utils import cstr, flt from frappe.utils.xlsxutils import handle_html + from erpnext.accounts.report.sales_register.sales_register import get_mode_of_payments -from erpnext.selling.report.item_wise_sales_history.item_wise_sales_history import get_item_details, get_customer_details +from erpnext.selling.report.item_wise_sales_history.item_wise_sales_history import ( + get_customer_details, + get_item_details, +) + def execute(filters=None): return _execute(filters) diff --git a/erpnext/accounts/report/non_billed_report.py b/erpnext/accounts/report/non_billed_report.py index 5173505689..b61f87df5b 100644 --- a/erpnext/accounts/report/non_billed_report.py +++ b/erpnext/accounts/report/non_billed_report.py @@ -2,11 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import _ -from erpnext import get_default_currency from frappe.model.meta import get_field_precision +from erpnext import get_default_currency + + def get_ordered_to_be_billed_data(args): doctype, party = args.get('doctype'), args.get('party') child_tab = doctype + " Item" diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py index 556f5ad4f7..6c6af1cc5a 100644 --- a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py +++ b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ +from frappe.utils import flt, getdate + from erpnext.accounts.report.accounts_receivable.accounts_receivable import ReceivablePayableReport -from frappe.utils import getdate, flt def execute(filters=None): diff --git a/erpnext/accounts/report/pos_register/pos_register.py b/erpnext/accounts/report/pos_register/pos_register.py index b7e112c0c9..c9463caa6d 100644 --- a/erpnext/accounts/report/pos_register/pos_register.py +++ b/erpnext/accounts/report/pos_register/pos_register.py @@ -2,11 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import _, _dict -from erpnext import get_company_currency, get_default_company +from frappe import _ + from erpnext.accounts.report.sales_register.sales_register import get_mode_of_payments + def execute(filters=None): if not filters: return [], [] diff --git a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py index 5d04824b57..ef799f63bf 100644 --- a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py +++ b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py @@ -2,11 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt -from erpnext.accounts.report.financial_statements import (get_period_list, get_columns, get_data, - get_filtered_list_for_consolidated_report) + +from erpnext.accounts.report.financial_statements import ( + get_columns, + get_data, + get_filtered_list_for_consolidated_report, + get_period_list, +) + def execute(filters=None): period_list = get_period_list(filters.from_fiscal_year, filters.to_fiscal_year, diff --git a/erpnext/accounts/report/profitability_analysis/profitability_analysis.py b/erpnext/accounts/report/profitability_analysis/profitability_analysis.py index 48bd7308bc..ad97808973 100644 --- a/erpnext/accounts/report/profitability_analysis/profitability_analysis.py +++ b/erpnext/accounts/report/profitability_analysis/profitability_analysis.py @@ -2,10 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, getdate, formatdate, cstr -from erpnext.accounts.report.financial_statements import filter_accounts, filter_out_zero_value_rows +from frappe.utils import cstr, flt + +from erpnext.accounts.report.financial_statements import ( + filter_accounts, + filter_out_zero_value_rows, +) from erpnext.accounts.report.trial_balance.trial_balance import validate_filters value_fields = ("income", "expense", "gross_profit_loss") diff --git a/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py b/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py index ba236b9969..b26c733bc7 100644 --- a/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py +++ b/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from erpnext.controllers.trends import get_columns,get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/accounts/report/purchase_register/purchase_register.py b/erpnext/accounts/report/purchase_register/purchase_register.py index 10edd41aa8..5d4a03ce60 100644 --- a/erpnext/accounts/report/purchase_register/purchase_register.py +++ b/erpnext/accounts/report/purchase_register/purchase_register.py @@ -2,10 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _, msgprint from frappe.utils import flt -from frappe import msgprint, _ -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions, get_dimension_with_children + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimension_with_children, +) + def execute(filters=None): return _execute(filters) diff --git a/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py b/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py index a5eced5f80..adf6b29ea8 100644 --- a/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py +++ b/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe import _ + from erpnext.accounts.report.non_billed_report import get_ordered_to_be_billed_data + def execute(filters=None): columns = get_column() args = get_args() diff --git a/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py index ee3992f6f4..0ec54c932b 100644 --- a/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py +++ b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from erpnext.controllers.trends import get_columns,get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py b/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py index ff774681a2..9ad7007a2c 100644 --- a/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py +++ b/erpnext/accounts/report/sales_payment_summary/sales_payment_summary.py @@ -1,6 +1,7 @@ # Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import cstr diff --git a/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py b/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py index e4a3d3527f..9fd7bc3de7 100644 --- a/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py +++ b/erpnext/accounts/report/sales_payment_summary/test_sales_payment_summary.py @@ -2,11 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest + import frappe -from erpnext.accounts.report.sales_payment_summary.sales_payment_summary import get_mode_of_payments, get_mode_of_payment_details from frappe.utils import today + from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry +from erpnext.accounts.report.sales_payment_summary.sales_payment_summary import ( + get_mode_of_payment_details, + get_mode_of_payments, +) test_dependencies = ["Sales Invoice"] diff --git a/erpnext/accounts/report/sales_register/sales_register.py b/erpnext/accounts/report/sales_register/sales_register.py index f38bd78c0d..57b69aa818 100644 --- a/erpnext/accounts/report/sales_register/sales_register.py +++ b/erpnext/accounts/report/sales_register/sales_register.py @@ -2,11 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt -from frappe import msgprint, _ +from frappe import _, msgprint from frappe.model.meta import get_field_precision -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions, get_dimension_with_children +from frappe.utils import flt + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimension_with_children, +) + def execute(filters=None): return _execute(filters) diff --git a/erpnext/accounts/report/share_balance/share_balance.py b/erpnext/accounts/report/share_balance/share_balance.py index 9f22f81d2b..03efc9ec33 100644 --- a/erpnext/accounts/report/share_balance/share_balance.py +++ b/erpnext/accounts/report/share_balance/share_balance.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ +from frappe import _ + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/accounts/report/share_ledger/share_ledger.py b/erpnext/accounts/report/share_ledger/share_ledger.py index 3ed3c91141..9be662220d 100644 --- a/erpnext/accounts/report/share_ledger/share_ledger.py +++ b/erpnext/accounts/report/share_ledger/share_ledger.py @@ -3,9 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cstr, cint, getdate -from frappe import msgprint, _ +from frappe import _ + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.py b/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.py index fbd25b13bb..00316ba265 100644 --- a/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.py +++ b/erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.py @@ -2,8 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from erpnext.accounts.report.customer_ledger_summary.customer_ledger_summary import PartyLedgerSummaryReport + +from erpnext.accounts.report.customer_ledger_summary.customer_ledger_summary import ( + PartyLedgerSummaryReport, +) + def execute(filters=None): args = { diff --git a/erpnext/accounts/report/tax_detail/tax_detail.py b/erpnext/accounts/report/tax_detail/tax_detail.py index 18436de3d8..f03498d5b2 100644 --- a/erpnext/accounts/report/tax_detail/tax_detail.py +++ b/erpnext/accounts/report/tax_detail/tax_detail.py @@ -3,8 +3,10 @@ # Contributed by Case Solved and sponsored by Nulight Studios from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe import _ # NOTE: Payroll is implemented using Journal Entries which are included as GL Entries diff --git a/erpnext/accounts/report/tax_detail/test_tax_detail.py b/erpnext/accounts/report/tax_detail/test_tax_detail.py index 743ddba024..e74b905db1 100644 --- a/erpnext/accounts/report/tax_detail/test_tax_detail.py +++ b/erpnext/accounts/report/tax_detail/test_tax_detail.py @@ -1,16 +1,26 @@ from __future__ import unicode_literals -import frappe -import unittest import datetime import json import os -from frappe.utils import getdate, add_to_date, get_first_day, get_last_day, get_year_start, get_year_ending +import unittest + +import frappe +from frappe.utils import ( + add_to_date, + get_first_day, + get_last_day, + get_year_ending, + get_year_start, + getdate, +) + from .tax_detail import filter_match, save_custom_report + class TestTaxDetail(unittest.TestCase): def load_testdocs(self): - from erpnext.accounts.utils import get_fiscal_year, FiscalYearError + from erpnext.accounts.utils import FiscalYearError, get_fiscal_year datapath, _ = os.path.splitext(os.path.realpath(__file__)) with open(datapath + '.json', 'r') as fp: docs = json.load(fp) diff --git a/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py b/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py index 6b9df41f54..c4a8c7a899 100644 --- a/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py +++ b/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py @@ -1,10 +1,15 @@ from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + +from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import ( + get_advance_vouchers, + get_debit_note_amount, +) from erpnext.accounts.utils import get_fiscal_year -from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category \ - import get_advance_vouchers, get_debit_note_amount + def execute(filters=None): validate_filters(filters) diff --git a/erpnext/accounts/report/tds_payable_monthly/tds_payable_monthly.py b/erpnext/accounts/report/tds_payable_monthly/tds_payable_monthly.py index ceefa31cfa..9e1382b922 100644 --- a/erpnext/accounts/report/tds_payable_monthly/tds_payable_monthly.py +++ b/erpnext/accounts/report/tds_payable_monthly/tds_payable_monthly.py @@ -2,9 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate + def execute(filters=None): filters["invoices"] = frappe.cache().hget("invoices", frappe.session.user) diff --git a/erpnext/accounts/report/trial_balance/trial_balance.py b/erpnext/accounts/report/trial_balance/trial_balance.py index 1fc0faab3a..d65bcc4ada 100644 --- a/erpnext/accounts/report/trial_balance/trial_balance.py +++ b/erpnext/accounts/report/trial_balance/trial_balance.py @@ -2,12 +2,21 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt, getdate, formatdate, cstr -from erpnext.accounts.report.financial_statements \ - import filter_accounts, set_gl_entries_by_account, filter_out_zero_value_rows -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions, get_dimension_with_children +from frappe.utils import cstr, flt, formatdate, getdate + +import erpnext +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, + get_dimension_with_children, +) +from erpnext.accounts.report.financial_statements import ( + filter_accounts, + filter_out_zero_value_rows, + set_gl_entries_by_account, +) value_fields = ("opening_debit", "opening_credit", "debit", "credit", "closing_debit", "closing_credit") diff --git a/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py b/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py index f034e7450e..8e245443c3 100644 --- a/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py +++ b/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py @@ -2,11 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, cint +from frappe.utils import cint, flt + from erpnext.accounts.report.trial_balance.trial_balance import validate_filters + def execute(filters=None): validate_filters(filters) diff --git a/erpnext/accounts/report/unpaid_expense_claim/unpaid_expense_claim.py b/erpnext/accounts/report/unpaid_expense_claim/unpaid_expense_claim.py index 1250d676a0..71fe4a294a 100644 --- a/erpnext/accounts/report/unpaid_expense_claim/unpaid_expense_claim.py +++ b/erpnext/accounts/report/unpaid_expense_claim/unpaid_expense_claim.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns, data = [], [] columns = get_columns() diff --git a/erpnext/accounts/report/utils.py b/erpnext/accounts/report/utils.py index ba461edaf8..57ff9b0ec9 100644 --- a/erpnext/accounts/report/utils.py +++ b/erpnext/accounts/report/utils.py @@ -1,9 +1,11 @@ from __future__ import unicode_literals + import frappe +from frappe.utils import flt, formatdate, get_datetime_str + from erpnext import get_company_currency, get_default_company -from erpnext.setup.utils import get_exchange_rate from erpnext.accounts.doctype.fiscal_year.fiscal_year import get_from_and_to_date -from frappe.utils import cint, get_datetime_str, formatdate, flt +from erpnext.setup.utils import get_exchange_rate __exchange_rates = {} diff --git a/erpnext/accounts/test/test_utils.py b/erpnext/accounts/test/test_utils.py index 628c8ce646..d7b60daa37 100644 --- a/erpnext/accounts/test/test_utils.py +++ b/erpnext/accounts/test/test_utils.py @@ -1,8 +1,11 @@ from __future__ import unicode_literals + import unittest -from erpnext.accounts.party import get_party_shipping_address + from frappe.test_runner import make_test_objects +from erpnext.accounts.party import get_party_shipping_address + class TestUtils(unittest.TestCase): @classmethod diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index c46eb7e631..4692869343 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -4,18 +4,19 @@ from __future__ import unicode_literals -import frappe, erpnext +import frappe import frappe.defaults -from frappe.utils import nowdate, cstr, flt, cint, now, getdate -from frappe import throw, _ -from frappe.utils import formatdate, get_number_format_info -from six import iteritems -# imported to enable erpnext.accounts.utils.get_account_currency -from erpnext.accounts.doctype.account.account import get_account_currency +from frappe import _, throw from frappe.model.meta import get_field_precision +from frappe.utils import cint, cstr, flt, formatdate, get_number_format_info, getdate, now, nowdate -from erpnext.stock.utils import get_stock_value_on +import erpnext + +# imported to enable erpnext.accounts.utils.get_account_currency +from erpnext.accounts.doctype.account.account import get_account_currency # noqa from erpnext.stock import get_warehouse_account_map +from erpnext.stock.utils import get_stock_value_on + class StockValueAndAccountBalanceOutOfSync(frappe.ValidationError): pass class FiscalYearError(frappe.ValidationError): pass @@ -886,7 +887,9 @@ def get_autoname_with_number(number_value, doc_title, name, company): @frappe.whitelist() def get_coa(doctype, parent, is_root, chart=None): - from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import build_tree_from_json + from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import ( + build_tree_from_json, + ) # add chart to flags to retrieve when called from expand all function chart = chart if chart else frappe.flags.chart diff --git a/erpnext/agriculture/doctype/agriculture_analysis_criteria/agriculture_analysis_criteria.py b/erpnext/agriculture/doctype/agriculture_analysis_criteria/agriculture_analysis_criteria.py index 3bd3d7db06..b0441c236f 100644 --- a/erpnext/agriculture/doctype/agriculture_analysis_criteria/agriculture_analysis_criteria.py +++ b/erpnext/agriculture/doctype/agriculture_analysis_criteria/agriculture_analysis_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AgricultureAnalysisCriteria(Document): pass diff --git a/erpnext/agriculture/doctype/agriculture_analysis_criteria/test_agriculture_analysis_criteria.py b/erpnext/agriculture/doctype/agriculture_analysis_criteria/test_agriculture_analysis_criteria.py index d79970b742..4213e45c07 100644 --- a/erpnext/agriculture/doctype/agriculture_analysis_criteria/test_agriculture_analysis_criteria.py +++ b/erpnext/agriculture/doctype/agriculture_analysis_criteria/test_agriculture_analysis_criteria.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestAgricultureAnalysisCriteria(unittest.TestCase): pass diff --git a/erpnext/agriculture/doctype/agriculture_task/agriculture_task.py b/erpnext/agriculture/doctype/agriculture_task/agriculture_task.py index ce39368cd9..642f49189d 100644 --- a/erpnext/agriculture/doctype/agriculture_task/agriculture_task.py +++ b/erpnext/agriculture/doctype/agriculture_task/agriculture_task.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AgricultureTask(Document): pass diff --git a/erpnext/agriculture/doctype/agriculture_task/test_agriculture_task.py b/erpnext/agriculture/doctype/agriculture_task/test_agriculture_task.py index e828151d0d..2b3c338697 100644 --- a/erpnext/agriculture/doctype/agriculture_task/test_agriculture_task.py +++ b/erpnext/agriculture/doctype/agriculture_task/test_agriculture_task.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestAgricultureTask(unittest.TestCase): pass diff --git a/erpnext/agriculture/doctype/crop/crop_dashboard.py b/erpnext/agriculture/doctype/crop/crop_dashboard.py index 8f37735c81..02b937a74b 100644 --- a/erpnext/agriculture/doctype/crop/crop_dashboard.py +++ b/erpnext/agriculture/doctype/crop/crop_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'transactions': [ diff --git a/erpnext/agriculture/doctype/crop/test_crop.py b/erpnext/agriculture/doctype/crop/test_crop.py index b3079837c3..1968a04796 100644 --- a/erpnext/agriculture/doctype/crop/test_crop.py +++ b/erpnext/agriculture/doctype/crop/test_crop.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + test_dependencies = ["Fertilizer"] class TestCrop(unittest.TestCase): diff --git a/erpnext/agriculture/doctype/detected_disease/detected_disease.py b/erpnext/agriculture/doctype/detected_disease/detected_disease.py index 8c90b839b5..b73fc32f7f 100644 --- a/erpnext/agriculture/doctype/detected_disease/detected_disease.py +++ b/erpnext/agriculture/doctype/detected_disease/detected_disease.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class DetectedDisease(Document): pass diff --git a/erpnext/agriculture/doctype/disease/disease.py b/erpnext/agriculture/doctype/disease/disease.py index 8e6ceb4b1d..e474efe515 100644 --- a/erpnext/agriculture/doctype/disease/disease.py +++ b/erpnext/agriculture/doctype/disease/disease.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class Disease(Document): def validate(self): max_period = 0 diff --git a/erpnext/agriculture/doctype/disease/test_disease.py b/erpnext/agriculture/doctype/disease/test_disease.py index 80861770b0..1959d1f811 100644 --- a/erpnext/agriculture/doctype/disease/test_disease.py +++ b/erpnext/agriculture/doctype/disease/test_disease.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestDisease(unittest.TestCase): def test_treatment_period(self): disease = frappe.get_doc('Disease', 'Aphids') diff --git a/erpnext/agriculture/doctype/fertilizer/fertilizer.py b/erpnext/agriculture/doctype/fertilizer/fertilizer.py index c475f00298..75c2542b85 100644 --- a/erpnext/agriculture/doctype/fertilizer/fertilizer.py +++ b/erpnext/agriculture/doctype/fertilizer/fertilizer.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class Fertilizer(Document): @frappe.whitelist() def load_contents(self): diff --git a/erpnext/agriculture/doctype/fertilizer/test_fertilizer.py b/erpnext/agriculture/doctype/fertilizer/test_fertilizer.py index 4c71d33fe8..c11c61afec 100644 --- a/erpnext/agriculture/doctype/fertilizer/test_fertilizer.py +++ b/erpnext/agriculture/doctype/fertilizer/test_fertilizer.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestFertilizer(unittest.TestCase): def test_fertilizer_creation(self): self.assertEqual(frappe.db.exists('Fertilizer', 'Urea'), 'Urea') diff --git a/erpnext/agriculture/doctype/fertilizer_content/fertilizer_content.py b/erpnext/agriculture/doctype/fertilizer_content/fertilizer_content.py index d385242591..a050b71010 100644 --- a/erpnext/agriculture/doctype/fertilizer_content/fertilizer_content.py +++ b/erpnext/agriculture/doctype/fertilizer_content/fertilizer_content.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class FertilizerContent(Document): pass diff --git a/erpnext/agriculture/doctype/linked_location/linked_location.py b/erpnext/agriculture/doctype/linked_location/linked_location.py index 3e49d3e18f..e622e84dc3 100644 --- a/erpnext/agriculture/doctype/linked_location/linked_location.py +++ b/erpnext/agriculture/doctype/linked_location/linked_location.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LinkedLocation(Document): pass diff --git a/erpnext/agriculture/doctype/linked_plant_analysis/linked_plant_analysis.py b/erpnext/agriculture/doctype/linked_plant_analysis/linked_plant_analysis.py index daea54b613..608bf8c5e3 100644 --- a/erpnext/agriculture/doctype/linked_plant_analysis/linked_plant_analysis.py +++ b/erpnext/agriculture/doctype/linked_plant_analysis/linked_plant_analysis.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LinkedPlantAnalysis(Document): pass diff --git a/erpnext/agriculture/doctype/linked_soil_analysis/linked_soil_analysis.py b/erpnext/agriculture/doctype/linked_soil_analysis/linked_soil_analysis.py index c4e9245cd7..02eb133de9 100644 --- a/erpnext/agriculture/doctype/linked_soil_analysis/linked_soil_analysis.py +++ b/erpnext/agriculture/doctype/linked_soil_analysis/linked_soil_analysis.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LinkedSoilAnalysis(Document): pass diff --git a/erpnext/agriculture/doctype/linked_soil_texture/linked_soil_texture.py b/erpnext/agriculture/doctype/linked_soil_texture/linked_soil_texture.py index 1b7589298e..f580e16576 100644 --- a/erpnext/agriculture/doctype/linked_soil_texture/linked_soil_texture.py +++ b/erpnext/agriculture/doctype/linked_soil_texture/linked_soil_texture.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LinkedSoilTexture(Document): pass diff --git a/erpnext/agriculture/doctype/plant_analysis/plant_analysis.py b/erpnext/agriculture/doctype/plant_analysis/plant_analysis.py index b65f93de0a..6238250016 100644 --- a/erpnext/agriculture/doctype/plant_analysis/plant_analysis.py +++ b/erpnext/agriculture/doctype/plant_analysis/plant_analysis.py @@ -3,10 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.naming import make_autoname from frappe.model.document import Document + class PlantAnalysis(Document): @frappe.whitelist() def load_contents(self): diff --git a/erpnext/agriculture/doctype/plant_analysis/test_plant_analysis.py b/erpnext/agriculture/doctype/plant_analysis/test_plant_analysis.py index cbd2fd7431..6b6e843612 100644 --- a/erpnext/agriculture/doctype/plant_analysis/test_plant_analysis.py +++ b/erpnext/agriculture/doctype/plant_analysis/test_plant_analysis.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestPlantAnalysis(unittest.TestCase): pass diff --git a/erpnext/agriculture/doctype/plant_analysis_criteria/plant_analysis_criteria.py b/erpnext/agriculture/doctype/plant_analysis_criteria/plant_analysis_criteria.py index c1731846a8..9f719874ed 100644 --- a/erpnext/agriculture/doctype/plant_analysis_criteria/plant_analysis_criteria.py +++ b/erpnext/agriculture/doctype/plant_analysis_criteria/plant_analysis_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PlantAnalysisCriteria(Document): pass diff --git a/erpnext/agriculture/doctype/soil_analysis/soil_analysis.py b/erpnext/agriculture/doctype/soil_analysis/soil_analysis.py index 234d0d4b01..e0c8177e63 100644 --- a/erpnext/agriculture/doctype/soil_analysis/soil_analysis.py +++ b/erpnext/agriculture/doctype/soil_analysis/soil_analysis.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class SoilAnalysis(Document): @frappe.whitelist() def load_contents(self): diff --git a/erpnext/agriculture/doctype/soil_analysis/test_soil_analysis.py b/erpnext/agriculture/doctype/soil_analysis/test_soil_analysis.py index b89d756311..24fe0748d3 100644 --- a/erpnext/agriculture/doctype/soil_analysis/test_soil_analysis.py +++ b/erpnext/agriculture/doctype/soil_analysis/test_soil_analysis.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestSoilAnalysis(unittest.TestCase): pass diff --git a/erpnext/agriculture/doctype/soil_analysis_criteria/soil_analysis_criteria.py b/erpnext/agriculture/doctype/soil_analysis_criteria/soil_analysis_criteria.py index b073c200c0..09b917c549 100644 --- a/erpnext/agriculture/doctype/soil_analysis_criteria/soil_analysis_criteria.py +++ b/erpnext/agriculture/doctype/soil_analysis_criteria/soil_analysis_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SoilAnalysisCriteria(Document): pass diff --git a/erpnext/agriculture/doctype/soil_texture/soil_texture.py b/erpnext/agriculture/doctype/soil_texture/soil_texture.py index d7a5f09179..636af77f4f 100644 --- a/erpnext/agriculture/doctype/soil_texture/soil_texture.py +++ b/erpnext/agriculture/doctype/soil_texture/soil_texture.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import flt, cint +from frappe.utils import cint, flt + class SoilTexture(Document): soil_edit_order = [2, 1, 0] diff --git a/erpnext/agriculture/doctype/soil_texture/test_soil_texture.py b/erpnext/agriculture/doctype/soil_texture/test_soil_texture.py index 16d105c9c5..c701eb8f27 100644 --- a/erpnext/agriculture/doctype/soil_texture/test_soil_texture.py +++ b/erpnext/agriculture/doctype/soil_texture/test_soil_texture.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestSoilTexture(unittest.TestCase): def test_texture_selection(self): soil_tex = frappe.get_all('Soil Texture', fields=['name'], filters={'collection_datetime': '2017-11-08'}) diff --git a/erpnext/agriculture/doctype/soil_texture_criteria/soil_texture_criteria.py b/erpnext/agriculture/doctype/soil_texture_criteria/soil_texture_criteria.py index a7525ae6e9..9980e8b0ca 100644 --- a/erpnext/agriculture/doctype/soil_texture_criteria/soil_texture_criteria.py +++ b/erpnext/agriculture/doctype/soil_texture_criteria/soil_texture_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SoilTextureCriteria(Document): pass diff --git a/erpnext/agriculture/doctype/water_analysis/test_water_analysis.py b/erpnext/agriculture/doctype/water_analysis/test_water_analysis.py index b6467b7f45..5cddeeb161 100644 --- a/erpnext/agriculture/doctype/water_analysis/test_water_analysis.py +++ b/erpnext/agriculture/doctype/water_analysis/test_water_analysis.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestWaterAnalysis(unittest.TestCase): pass diff --git a/erpnext/agriculture/doctype/water_analysis/water_analysis.py b/erpnext/agriculture/doctype/water_analysis/water_analysis.py index ece0700286..228ae340f2 100644 --- a/erpnext/agriculture/doctype/water_analysis/water_analysis.py +++ b/erpnext/agriculture/doctype/water_analysis/water_analysis.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class WaterAnalysis(Document): @frappe.whitelist() def load_contents(self): diff --git a/erpnext/agriculture/doctype/water_analysis_criteria/water_analysis_criteria.py b/erpnext/agriculture/doctype/water_analysis_criteria/water_analysis_criteria.py index 6833f90539..8771733213 100644 --- a/erpnext/agriculture/doctype/water_analysis_criteria/water_analysis_criteria.py +++ b/erpnext/agriculture/doctype/water_analysis_criteria/water_analysis_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class WaterAnalysisCriteria(Document): pass diff --git a/erpnext/agriculture/doctype/weather/test_weather.py b/erpnext/agriculture/doctype/weather/test_weather.py index b4ab3ae6f3..1b4bab9a53 100644 --- a/erpnext/agriculture/doctype/weather/test_weather.py +++ b/erpnext/agriculture/doctype/weather/test_weather.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestWeather(unittest.TestCase): pass diff --git a/erpnext/agriculture/doctype/weather/weather.py b/erpnext/agriculture/doctype/weather/weather.py index 235e684e51..b41964dafd 100644 --- a/erpnext/agriculture/doctype/weather/weather.py +++ b/erpnext/agriculture/doctype/weather/weather.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class Weather(Document): @frappe.whitelist() def load_contents(self): diff --git a/erpnext/agriculture/doctype/weather_parameter/weather_parameter.py b/erpnext/agriculture/doctype/weather_parameter/weather_parameter.py index 89db74cd7c..42fcbcb719 100644 --- a/erpnext/agriculture/doctype/weather_parameter/weather_parameter.py +++ b/erpnext/agriculture/doctype/weather_parameter/weather_parameter.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class WeatherParameter(Document): pass diff --git a/erpnext/assets/dashboard_fixtures.py b/erpnext/assets/dashboard_fixtures.py index 2c70179607..39f0f1a88b 100644 --- a/erpnext/assets/dashboard_fixtures.py +++ b/erpnext/assets/dashboard_fixtures.py @@ -1,13 +1,16 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe import json -from frappe.utils import nowdate, add_months, get_date_str + +import frappe from frappe import _ +from frappe.utils import get_date_str, nowdate + from erpnext.accounts.dashboard_fixtures import _get_fiscal_year from erpnext.buying.dashboard_fixtures import get_company_for_dashboards + def get_data(): fiscal_year = _get_fiscal_year(nowdate()) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index f1bf31a8e6..8ff4f9790a 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -3,18 +3,37 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext, math, json + +import json +import math + +import frappe from frappe import _ +from frappe.utils import ( + add_days, + add_months, + cint, + date_diff, + flt, + get_datetime, + get_last_day, + getdate, + month_diff, + nowdate, + today, +) from six import string_types -from frappe.utils import flt, add_months, cint, nowdate, getdate, today, date_diff, month_diff, add_days, get_last_day, get_datetime -from frappe.model.document import Document -from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account -from erpnext.assets.doctype.asset.depreciation \ - import get_disposal_account_and_cost_center, get_depreciation_accounts + +import erpnext from erpnext.accounts.general_ledger import make_reverse_gl_entries -from erpnext.accounts.utils import get_account_currency +from erpnext.assets.doctype.asset.depreciation import ( + get_depreciation_accounts, + get_disposal_account_and_cost_center, +) +from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account from erpnext.controllers.accounts_controller import AccountsController + class Asset(AccountsController): def validate(self): self.validate_asset_values() @@ -783,6 +802,7 @@ def make_journal_entry(asset_name): @frappe.whitelist() def make_asset_movement(assets, purpose=None): import json + from six import string_types if isinstance(assets, string_types): diff --git a/erpnext/assets/doctype/asset/asset_dashboard.py b/erpnext/assets/doctype/asset/asset_dashboard.py index 62bb4be53a..cd04e1d8f0 100644 --- a/erpnext/assets/doctype/asset/asset_dashboard.py +++ b/erpnext/assets/doctype/asset/asset_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'non_standard_fieldnames': { diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py index 9a61b79ed3..609791012a 100644 --- a/erpnext/assets/doctype/asset/depreciation.py +++ b/erpnext/assets/doctype/asset/depreciation.py @@ -3,10 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, today, getdate, cint -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_checks_for_pl_and_bs_accounts +from frappe.utils import cint, flt, getdate, today + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_checks_for_pl_and_bs_accounts, +) + def post_depreciation_entries(date=None): # Return if automatic booking of asset depreciation is disabled diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py index 605ce2e250..4cc9be5b05 100644 --- a/erpnext/assets/doctype/asset/test_asset.py +++ b/erpnext/assets/doctype/asset/test_asset.py @@ -3,14 +3,23 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import cstr, nowdate, getdate, flt, get_last_day, add_days, add_months -from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries, scrap_asset, restore_asset -from erpnext.assets.doctype.asset.asset import make_sales_invoice -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt + +import frappe +from frappe.utils import add_days, add_months, cstr, flt, get_last_day, getdate, nowdate + from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice -from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice as make_invoice +from erpnext.assets.doctype.asset.asset import make_sales_invoice +from erpnext.assets.doctype.asset.depreciation import ( + post_depreciation_entries, + restore_asset, + scrap_asset, +) +from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( + make_purchase_invoice as make_invoice, +) +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt + class TestAsset(unittest.TestCase): def setUp(self): diff --git a/erpnext/assets/doctype/asset_category/asset_category.py b/erpnext/assets/doctype/asset_category/asset_category.py index 39032d637b..1e56c010c4 100644 --- a/erpnext/assets/doctype/asset_category/asset_category.py +++ b/erpnext/assets/doctype/asset_category/asset_category.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cint, get_link_to_form from frappe.model.document import Document +from frappe.utils import cint, get_link_to_form + class AssetCategory(Document): def validate(self): diff --git a/erpnext/assets/doctype/asset_category/test_asset_category.py b/erpnext/assets/doctype/asset_category/test_asset_category.py index 9f7ada65d8..53ec4ed38e 100644 --- a/erpnext/assets/doctype/asset_category/test_asset_category.py +++ b/erpnext/assets/doctype/asset_category/test_asset_category.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestAssetCategory(unittest.TestCase): def test_mandatory_fields(self): asset_category = frappe.new_doc("Asset Category") diff --git a/erpnext/assets/doctype/asset_category_account/asset_category_account.py b/erpnext/assets/doctype/asset_category_account/asset_category_account.py index 67925f4fe8..66280acb2e 100644 --- a/erpnext/assets/doctype/asset_category_account/asset_category_account.py +++ b/erpnext/assets/doctype/asset_category_account/asset_category_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssetCategoryAccount(Document): pass diff --git a/erpnext/assets/doctype/asset_finance_book/asset_finance_book.py b/erpnext/assets/doctype/asset_finance_book/asset_finance_book.py index bdc2acfb79..c4f095305c 100644 --- a/erpnext/assets/doctype/asset_finance_book/asset_finance_book.py +++ b/erpnext/assets/doctype/asset_finance_book/asset_finance_book.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssetFinanceBook(Document): pass diff --git a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py index e14f1d88dc..ec55fa4efc 100644 --- a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py +++ b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py @@ -3,12 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document +from frappe import _, throw from frappe.desk.form import assign_to -from frappe import throw, _ +from frappe.model.document import Document from frappe.utils import add_days, add_months, add_years, getdate, nowdate + class AssetMaintenance(Document): def validate(self): for task in self.get('asset_maintenance_tasks'): diff --git a/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py b/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py index 7610152039..0f915086a9 100644 --- a/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py +++ b/erpnext/assets/doctype/asset_maintenance/test_asset_maintenance.py @@ -3,11 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, get_last_day, add_days -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt + +import frappe +from frappe.utils import add_days, get_last_day, nowdate + from erpnext.assets.doctype.asset_maintenance.asset_maintenance import calculate_next_due_date +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt + class TestAssetMaintenance(unittest.TestCase): def setUp(self): diff --git a/erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py b/erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py index 34facd8d05..1f2393649d 100644 --- a/erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py +++ b/erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ -from frappe.utils import nowdate, getdate +from frappe.model.document import Document +from frappe.utils import getdate, nowdate + from erpnext.assets.doctype.asset_maintenance.asset_maintenance import calculate_next_due_date + class AssetMaintenanceLog(Document): def validate(self): if getdate(self.due_date) < getdate(nowdate()) and self.maintenance_status not in ["Completed", "Cancelled"]: diff --git a/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py b/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py index a1ec8792b2..7ad69e92ab 100644 --- a/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py +++ b/erpnext/assets/doctype/asset_maintenance_log/test_asset_maintenance_log.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestAssetMaintenanceLog(unittest.TestCase): pass diff --git a/erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.py b/erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.py index 2a5666d506..2280f55728 100644 --- a/erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.py +++ b/erpnext/assets/doctype/asset_maintenance_task/asset_maintenance_task.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssetMaintenanceTask(Document): pass diff --git a/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.py b/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.py index f741a8fff3..46e9029941 100644 --- a/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.py +++ b/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssetMaintenanceTeam(Document): pass diff --git a/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py b/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py index a0c0b146f1..8d757b74c0 100644 --- a/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py +++ b/erpnext/assets/doctype/asset_maintenance_team/test_asset_maintenance_team.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestAssetMaintenanceTeam(unittest.TestCase): pass diff --git a/erpnext/assets/doctype/asset_movement/asset_movement.py b/erpnext/assets/doctype/asset_movement/asset_movement.py index 1771e27ddf..901bdb5c00 100644 --- a/erpnext/assets/doctype/asset_movement/asset_movement.py +++ b/erpnext/assets/doctype/asset_movement/asset_movement.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class AssetMovement(Document): def validate(self): self.validate_asset() diff --git a/erpnext/assets/doctype/asset_movement/test_asset_movement.py b/erpnext/assets/doctype/asset_movement/test_asset_movement.py index 2b2d2b4400..058bbd1abd 100644 --- a/erpnext/assets/doctype/asset_movement/test_asset_movement.py +++ b/erpnext/assets/doctype/asset_movement/test_asset_movement.py @@ -3,16 +3,16 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -import erpnext -from erpnext.stock.doctype.item.test_item import make_item -from frappe.utils import now, nowdate, get_last_day, add_days + +import frappe +from frappe.utils import now + from erpnext.assets.doctype.asset.test_asset import create_asset_data -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt + class TestAssetMovement(unittest.TestCase): def setUp(self): frappe.db.set_value("Company", "_Test Company", "capital_work_in_progress_account", "CWIP Account - _TC") diff --git a/erpnext/assets/doctype/asset_movement_item/asset_movement_item.py b/erpnext/assets/doctype/asset_movement_item/asset_movement_item.py index 4c6aaab58a..24da37176e 100644 --- a/erpnext/assets/doctype/asset_movement_item/asset_movement_item.py +++ b/erpnext/assets/doctype/asset_movement_item/asset_movement_item.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AssetMovementItem(Document): pass diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py index 746f582fdc..99a7d9bfbf 100644 --- a/erpnext/assets/doctype/asset_repair/asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/asset_repair.py @@ -3,13 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import time_diff_in_hours, getdate, add_months, flt, cint +from frappe.utils import add_months, cint, flt, getdate, time_diff_in_hours + from erpnext.accounts.general_ledger import make_gl_entries from erpnext.assets.doctype.asset.asset import get_asset_account from erpnext.controllers.accounts_controller import AccountsController + class AssetRepair(AccountsController): def validate(self): self.asset_doc = frappe.get_doc('Asset', self.asset) diff --git a/erpnext/assets/doctype/asset_repair/test_asset_repair.py b/erpnext/assets/doctype/asset_repair/test_asset_repair.py index 5e727d007a..9945a328cf 100644 --- a/erpnext/assets/doctype/asset_repair/test_asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/test_asset_repair.py @@ -2,10 +2,18 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import nowdate, flt + import unittest -from erpnext.assets.doctype.asset.test_asset import create_asset_data, create_asset, set_depreciation_settings_in_company + +import frappe +from frappe.utils import flt, nowdate + +from erpnext.assets.doctype.asset.test_asset import ( + create_asset, + create_asset_data, + set_depreciation_settings_in_company, +) + class TestAssetRepair(unittest.TestCase): def setUp(self): @@ -110,8 +118,8 @@ def num_of_depreciations(asset): return asset.finance_books[0].total_number_of_depreciations def create_asset_repair(**args): - from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice + from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse args = frappe._dict(args) diff --git a/erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.py b/erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.py index fa22a5712f..2a8d64ef49 100644 --- a/erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.py +++ b/erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class AssetRepairConsumedItem(Document): pass diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py index 2f6b5ee2dc..2c11018caa 100644 --- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py +++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py @@ -3,12 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, getdate, cint, date_diff, formatdate -from erpnext.assets.doctype.asset.depreciation import get_depreciation_accounts from frappe.model.document import Document -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_checks_for_pl_and_bs_accounts +from frappe.utils import cint, date_diff, flt, formatdate, getdate + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_checks_for_pl_and_bs_accounts, +) +from erpnext.assets.doctype.asset.depreciation import get_depreciation_accounts + class AssetValueAdjustment(Document): def validate(self): diff --git a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py index a9dc9795ee..52728d6fd6 100644 --- a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py +++ b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py @@ -3,12 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, get_last_day, add_days + +import frappe +from frappe.utils import add_days, get_last_day, nowdate + from erpnext.assets.doctype.asset.test_asset import create_asset_data +from erpnext.assets.doctype.asset_value_adjustment.asset_value_adjustment import ( + get_current_asset_value, +) from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt -from erpnext.assets.doctype.asset_value_adjustment.asset_value_adjustment import get_current_asset_value + class TestAssetValueAdjustment(unittest.TestCase): def setUp(self): diff --git a/erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.py b/erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.py index 54fba3f68c..3199b7dc8d 100644 --- a/erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.py +++ b/erpnext/assets/doctype/depreciation_schedule/depreciation_schedule.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class DepreciationSchedule(Document): pass diff --git a/erpnext/assets/doctype/linked_location/linked_location.py b/erpnext/assets/doctype/linked_location/linked_location.py index 3e49d3e18f..e622e84dc3 100644 --- a/erpnext/assets/doctype/linked_location/linked_location.py +++ b/erpnext/assets/doctype/linked_location/linked_location.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LinkedLocation(Document): pass diff --git a/erpnext/assets/doctype/location/location.py b/erpnext/assets/doctype/location/location.py index 317894cb58..1430306bec 100644 --- a/erpnext/assets/doctype/location/location.py +++ b/erpnext/assets/doctype/location/location.py @@ -8,8 +8,6 @@ import json import math import frappe -from frappe import _ -from frappe.model.document import Document from frappe.utils import flt from frappe.utils.nestedset import NestedSet, update_nsm diff --git a/erpnext/assets/doctype/maintenance_team_member/maintenance_team_member.py b/erpnext/assets/doctype/maintenance_team_member/maintenance_team_member.py index 3d9e555db6..8fc5c9c43c 100644 --- a/erpnext/assets/doctype/maintenance_team_member/maintenance_team_member.py +++ b/erpnext/assets/doctype/maintenance_team_member/maintenance_team_member.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class MaintenanceTeamMember(Document): pass diff --git a/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py b/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py index c805e56e5c..f8958c6bbe 100644 --- a/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py +++ b/erpnext/assets/doctype/maintenance_team_member/test_maintenance_team_member.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestMaintenanceTeamMember(unittest.TestCase): pass diff --git a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py index 7d07397944..e370b9d0cb 100644 --- a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py +++ b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py @@ -2,10 +2,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cstr, today, flt, add_years, formatdate, getdate -from erpnext.accounts.report.financial_statements import get_period_list, get_fiscal_year_data, validate_fiscal_year +from frappe.utils import cstr, flt, formatdate, getdate + +from erpnext.accounts.report.financial_statements import ( + get_fiscal_year_data, + get_period_list, + validate_fiscal_year, +) + def execute(filters=None): filters = frappe._dict(filters or {}) diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.py b/erpnext/buying/doctype/buying_settings/buying_settings.py index a634a0908b..9e72c1890c 100644 --- a/erpnext/buying/doctype/buying_settings/buying_settings.py +++ b/erpnext/buying/doctype/buying_settings/buying_settings.py @@ -4,10 +4,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe.model.document import Document + class BuyingSettings(Document): def validate(self): for key in ["supplier_group", "supp_master_name", "maintain_same_rate", "buying_price_list"]: diff --git a/erpnext/buying/doctype/buying_settings/test_buying_settings.py b/erpnext/buying/doctype/buying_settings/test_buying_settings.py index bf6eec67d4..4998aebd6b 100644 --- a/erpnext/buying/doctype/buying_settings/test_buying_settings.py +++ b/erpnext/buying/doctype/buying_settings/test_buying_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestBuyingSettings(unittest.TestCase): pass diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index ca3bd90960..ac86337b25 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -2,23 +2,30 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import json -from frappe.utils import cstr, flt, cint -from frappe import msgprint, _ -from frappe.model.mapper import get_mapped_doc -from erpnext.controllers.buying_controller import BuyingController -from erpnext.stock.doctype.item.item import get_last_purchase_details -from erpnext.stock.stock_balance import update_bin_qty, get_ordered_qty + +import frappe +from frappe import _, msgprint from frappe.desk.notifications import clear_doctype_notifications -from erpnext.buying.utils import validate_for_items, check_on_hold_or_closed_status -from erpnext.stock.utils import get_bin +from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, cstr, flt + +from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( + unlink_inter_company_doc, + update_linked_doc, + validate_inter_company_party, +) +from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import ( + get_party_tax_withholding_details, +) from erpnext.accounts.party import get_party_account_currency -from erpnext.stock.doctype.item.item import get_item_defaults +from erpnext.buying.utils import check_on_hold_or_closed_status, validate_for_items +from erpnext.controllers.buying_controller import BuyingController from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults -from erpnext.accounts.doctype.tax_withholding_category.tax_withholding_category import get_party_tax_withholding_details -from erpnext.accounts.doctype.sales_invoice.sales_invoice import (validate_inter_company_party, - update_linked_doc, unlink_inter_company_doc) +from erpnext.stock.doctype.item.item import get_item_defaults, get_last_purchase_details +from erpnext.stock.stock_balance import get_ordered_qty, update_bin_qty +from erpnext.stock.utils import get_bin form_grid_templates = { "items": "templates/form_grid/item_grid.html" diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py index ab514dac30..af1dceb407 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'purchase_order', diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index fa174ba8fa..1453b8e7e4 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -2,24 +2,31 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import unittest -import frappe -import json -import frappe.defaults -from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry -from frappe.utils import flt, add_days, nowdate, getdate -from erpnext.stock.doctype.item.test_item import make_item -from erpnext.buying.doctype.purchase_order.purchase_order \ - import (make_purchase_receipt, make_purchase_invoice as make_pi_from_po, make_rm_stock_entry as make_subcontract_transfer_entry) -from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice as make_pi_from_pr -from erpnext.stock.doctype.material_request.test_material_request import make_material_request -from erpnext.stock.doctype.material_request.material_request import make_purchase_order -from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry -from erpnext.controllers.accounts_controller import update_child_qty_rate -from erpnext.controllers.status_updater import OverAllowanceError -from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order -from erpnext.stock.doctype.batch.test_batch import make_new_batch +import json +import unittest + +import frappe +from frappe.utils import add_days, flt, getdate, nowdate + +from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry +from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_purchase_invoice as make_pi_from_po, +) +from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt +from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_rm_stock_entry as make_subcontract_transfer_entry, +) +from erpnext.controllers.accounts_controller import update_child_qty_rate +from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order +from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.doctype.material_request.material_request import make_purchase_order +from erpnext.stock.doctype.material_request.test_material_request import make_material_request +from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( + make_purchase_invoice as make_pi_from_pr, +) +from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + class TestPurchaseOrder(unittest.TestCase): def test_make_purchase_receipt(self): @@ -415,10 +422,12 @@ class TestPurchaseOrder(unittest.TestCase): self.assertEqual(po.get("items")[0].received_qty, 9) # Make return purchase receipt, purchase invoice and check quantity - from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt \ - import make_purchase_receipt as make_purchase_receipt_return - from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice \ - import make_purchase_invoice as make_purchase_invoice_return + from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + make_purchase_invoice as make_purchase_invoice_return, + ) + from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import ( + make_purchase_receipt as make_purchase_receipt_return, + ) pr1 = make_purchase_receipt_return(is_return=1, return_against=pr.name, qty=-3, do_not_submit=True) pr1.items[0].purchase_order = po.name @@ -484,7 +493,9 @@ class TestPurchaseOrder(unittest.TestCase): def test_make_purchase_invoice_with_terms(self): - from erpnext.selling.doctype.sales_order.test_sales_order import automatically_fetch_payment_terms, compare_payment_schedules + from erpnext.selling.doctype.sales_order.test_sales_order import ( + automatically_fetch_payment_terms, + ) automatically_fetch_payment_terms() po = create_purchase_order(do_not_save=True) @@ -977,9 +988,14 @@ class TestPurchaseOrder(unittest.TestCase): self.assertEqual(po_doc.items[0].blanket_order, None) def test_payment_terms_are_fetched_when_creating_purchase_invoice(self): - from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template + from erpnext.accounts.doctype.payment_entry.test_payment_entry import ( + create_payment_terms_template, + ) from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice - from erpnext.selling.doctype.sales_order.test_sales_order import automatically_fetch_payment_terms, compare_payment_schedules + from erpnext.selling.doctype.sales_order.test_sales_order import ( + automatically_fetch_payment_terms, + compare_payment_schedules, + ) automatically_fetch_payment_terms() diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.py b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.py index b6e28b6c67..a391a3d068 100644 --- a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.py +++ b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe.model.document import Document + class PurchaseOrderItem(Document): pass diff --git a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py index c85ca2fbaf..909faeca6a 100644 --- a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py +++ b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PurchaseOrderItemSupplied(Document): pass diff --git a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py index 00c93ed1ea..caec4e8b7a 100644 --- a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py +++ b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PurchaseReceiptItemSupplied(Document): pass diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py index 8ed6c9e2a6..af1a9a907a 100644 --- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py +++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py @@ -3,21 +3,24 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe import _ -from frappe.model.mapper import get_mapped_doc -from frappe.utils import get_url, cint -from frappe.utils.user import get_user_fullname -from frappe.utils.print_format import download_pdf -from frappe.desk.form.load import get_attachments -from frappe.core.doctype.communication.email import make -from erpnext.accounts.party import get_party_account_currency, get_party_details -from erpnext.stock.doctype.material_request.material_request import set_missing_values -from erpnext.controllers.buying_controller import BuyingController -from erpnext.buying.utils import validate_for_items +import json + +import frappe +from frappe import _ +from frappe.core.doctype.communication.email import make +from frappe.desk.form.load import get_attachments +from frappe.model.mapper import get_mapped_doc +from frappe.utils import get_url +from frappe.utils.print_format import download_pdf +from frappe.utils.user import get_user_fullname from six import string_types +from erpnext.accounts.party import get_party_account_currency, get_party_details +from erpnext.buying.utils import validate_for_items +from erpnext.controllers.buying_controller import BuyingController +from erpnext.stock.doctype.material_request.material_request import set_missing_values + STANDARD_USERS = ("Guest", "Administrator") class RequestforQuotation(BuyingController): diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py index 751336dc4c..0708cab30a 100644 --- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py +++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py index 36f87b0b84..33fde8e6dc 100644 --- a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py +++ b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py @@ -7,12 +7,16 @@ import unittest import frappe from frappe.utils import nowdate + +from erpnext.buying.doctype.request_for_quotation.request_for_quotation import ( + create_supplier_quotation, + make_supplier_quotation_from_rfq, +) +from erpnext.crm.doctype.opportunity.opportunity import make_request_for_quotation as make_rfq +from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity from erpnext.stock.doctype.item.test_item import make_item from erpnext.templates.pages.rfq import check_supplier_has_docname_access -from erpnext.buying.doctype.request_for_quotation.request_for_quotation import make_supplier_quotation_from_rfq -from erpnext.buying.doctype.request_for_quotation.request_for_quotation import create_supplier_quotation -from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity -from erpnext.crm.doctype.opportunity.opportunity import make_request_for_quotation as make_rfq + class TestRequestforQuotation(unittest.TestCase): def test_quote_status(self): diff --git a/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.py b/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.py index cc897af944..35f3305b8e 100644 --- a/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.py +++ b/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class RequestforQuotationItem(Document): pass diff --git a/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.py b/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.py index 4b0bbbee8c..47c0deb39f 100644 --- a/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.py +++ b/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class RequestforQuotationSupplier(Document): pass diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py index c9750caa65..2a9f784ec6 100644 --- a/erpnext/buying/doctype/supplier/supplier.py +++ b/erpnext/buying/doctype/supplier/supplier.py @@ -2,13 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe import frappe.defaults -from frappe import msgprint, _ +from frappe import _, msgprint +from frappe.contacts.address_and_contact import ( + delete_contact_and_address, + load_address_and_contact, +) from frappe.model.naming import set_name_by_naming_series -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address + +from erpnext.accounts.party import get_dashboard_info, validate_party_accounts from erpnext.utilities.transaction_base import TransactionBase -from erpnext.accounts.party import validate_party_accounts, get_dashboard_info, get_timeline_data # keep this class Supplier(TransactionBase): @@ -92,9 +97,10 @@ class Supplier(TransactionBase): self.db_set('email_id', self.email_id) def create_primary_address(self): - from erpnext.selling.doctype.customer.customer import make_address from frappe.contacts.doctype.address.address import get_address_display + from erpnext.selling.doctype.customer.customer import make_address + if self.flags.is_new_doc and self.get('address_line1'): address = make_address(self) address_display = get_address_display(address.name) diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py index 8980466270..8a4eefa4fd 100644 --- a/erpnext/buying/doctype/supplier/test_supplier.py +++ b/erpnext/buying/doctype/supplier/test_supplier.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals +import unittest + +import frappe +from frappe.test_runner import make_test_records -import frappe, unittest from erpnext.accounts.party import get_due_date from erpnext.exceptions import PartyDisabled -from frappe.test_runner import make_test_records test_dependencies = ['Payment Term', 'Payment Terms Template'] test_records = frappe.get_test_records('Supplier') diff --git a/erpnext/buying/doctype/supplier_item_group/supplier_item_group.py b/erpnext/buying/doctype/supplier_item_group/supplier_item_group.py index 4473ddea28..6d71f7d516 100644 --- a/erpnext/buying/doctype/supplier_item_group/supplier_item_group.py +++ b/erpnext/buying/doctype/supplier_item_group/supplier_item_group.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class SupplierItemGroup(Document): def validate(self): exists = frappe.db.exists({ diff --git a/erpnext/buying/doctype/supplier_item_group/test_supplier_item_group.py b/erpnext/buying/doctype/supplier_item_group/test_supplier_item_group.py index c75044d44e..55ba85ef2d 100644 --- a/erpnext/buying/doctype/supplier_item_group/test_supplier_item_group.py +++ b/erpnext/buying/doctype/supplier_item_group/test_supplier_item_group.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestSupplierItemGroup(unittest.TestCase): pass diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py index 25e4e2a4dc..af462fc685 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py @@ -2,13 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, nowdate, add_days, getdate from frappe.model.mapper import get_mapped_doc +from frappe.utils import flt, getdate, nowdate -from erpnext.controllers.buying_controller import BuyingController from erpnext.buying.utils import validate_for_items +from erpnext.controllers.buying_controller import BuyingController form_grid_templates = { "items": "templates/form_grid/item_grid.html" diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py index 6b40305e01..014b1025dd 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'supplier_quotation', diff --git a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py index 6f34ca6c39..2db8e22f08 100644 --- a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py @@ -3,9 +3,11 @@ from __future__ import unicode_literals + import unittest + import frappe -import frappe.defaults + class TestPurchaseOrder(unittest.TestCase): def test_make_purchase_order(self): diff --git a/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.py b/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.py index 64dda87945..03adab5462 100644 --- a/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.py +++ b/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class SupplierQuotationItem(Document): pass diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py index e956afdf74..f944fe4466 100644 --- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py +++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py @@ -3,13 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe import throw, _ -from frappe.model.document import Document + import time from datetime import timedelta -from frappe.utils import nowdate, get_last_day, getdate, add_days, add_years -from erpnext.buying.doctype.supplier_scorecard_period.supplier_scorecard_period import make_supplier_scorecard + +import frappe +from frappe import _, throw +from frappe.model.document import Document +from frappe.utils import add_days, add_years, get_last_day, getdate, nowdate + +from erpnext.buying.doctype.supplier_scorecard_period.supplier_scorecard_period import ( + make_supplier_scorecard, +) + class SupplierScorecard(Document): diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py index 8e5cce5696..7186e01d08 100644 --- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py +++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/buying/doctype/supplier_scorecard/test_supplier_scorecard.py b/erpnext/buying/doctype/supplier_scorecard/test_supplier_scorecard.py index a5f05ea525..ef7fae3f11 100644 --- a/erpnext/buying/doctype/supplier_scorecard/test_supplier_scorecard.py +++ b/erpnext/buying/doctype/supplier_scorecard/test_supplier_scorecard.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestSupplierScorecard(unittest.TestCase): def test_create_scorecard(self): diff --git a/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py b/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py index 33a0dc7837..c456377d9b 100644 --- a/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py +++ b/erpnext/buying/doctype/supplier_scorecard_criteria/supplier_scorecard_criteria.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import re + import frappe from frappe import _ -import re from frappe.model.document import Document + class InvalidFormulaVariable(frappe.ValidationError): pass class SupplierScorecardCriteria(Document): diff --git a/erpnext/buying/doctype/supplier_scorecard_criteria/test_supplier_scorecard_criteria.py b/erpnext/buying/doctype/supplier_scorecard_criteria/test_supplier_scorecard_criteria.py index 3babfc8cab..9fca9a9f17 100644 --- a/erpnext/buying/doctype/supplier_scorecard_criteria/test_supplier_scorecard_criteria.py +++ b/erpnext/buying/doctype/supplier_scorecard_criteria/test_supplier_scorecard_criteria.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestSupplierScorecardCriteria(unittest.TestCase): def test_variables_exist(self): delete_test_scorecards() diff --git a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py index cc345e96bb..b03d216ce2 100644 --- a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py +++ b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.py @@ -3,12 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import throw, _ +from frappe import _, throw from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc + import erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable as variable_functions -from erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria import get_variables +from erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria import ( + get_variables, +) + class SupplierScorecardPeriod(Document): diff --git a/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py b/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py index 8baa3185ba..de8bc0a027 100644 --- a/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py +++ b/erpnext/buying/doctype/supplier_scorecard_period/test_supplier_scorecard_period.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSupplierScorecardPeriod(unittest.TestCase): pass diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.py b/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.py index b64abed8a6..79d5082ab6 100644 --- a/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.py +++ b/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SupplierScorecardScoringCriteria(Document): pass diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.py b/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.py index e8ad79f33d..5063b20ddb 100644 --- a/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.py +++ b/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SupplierScorecardScoringStanding(Document): pass diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.py b/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.py index 58a8a99a09..476cb35e8c 100644 --- a/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.py +++ b/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SupplierScorecardScoringVariable(Document): pass diff --git a/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.py b/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.py index 678855a457..4fc45e89c7 100644 --- a/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.py +++ b/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class SupplierScorecardStanding(Document): pass diff --git a/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py b/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py index 4d96651313..5ac5927d08 100644 --- a/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py +++ b/erpnext/buying/doctype/supplier_scorecard_standing/test_supplier_scorecard_standing.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSupplierScorecardStanding(unittest.TestCase): pass diff --git a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py index 89a6459bba..30b2a1893f 100644 --- a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py +++ b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import sys + +import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import getdate + class VariablePathNotFound(frappe.ValidationError): pass class SupplierScorecardVariable(Document): @@ -18,7 +21,9 @@ class SupplierScorecardVariable(Document): def validate_path_exists(self): if '.' in self.path: try: - from erpnext.buying.doctype.supplier_scorecard_period.supplier_scorecard_period import import_string_path + from erpnext.buying.doctype.supplier_scorecard_period.supplier_scorecard_period import ( + import_string_path, + ) import_string_path(self.path) except AttributeError: frappe.throw(_("Could not find path for " + self.path), VariablePathNotFound) diff --git a/erpnext/buying/doctype/supplier_scorecard_variable/test_supplier_scorecard_variable.py b/erpnext/buying/doctype/supplier_scorecard_variable/test_supplier_scorecard_variable.py index 14b87105e6..990413cd40 100644 --- a/erpnext/buying/doctype/supplier_scorecard_variable/test_supplier_scorecard_variable.py +++ b/erpnext/buying/doctype/supplier_scorecard_variable/test_supplier_scorecard_variable.py @@ -3,10 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable import VariablePathNotFound +import frappe + +from erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable import ( + VariablePathNotFound, +) class TestSupplierScorecardVariable(unittest.TestCase): diff --git a/erpnext/buying/report/procurement_tracker/procurement_tracker.py b/erpnext/buying/report/procurement_tracker/procurement_tracker.py index 99bcbe633c..cb99234282 100644 --- a/erpnext/buying/report/procurement_tracker/procurement_tracker.py +++ b/erpnext/buying/report/procurement_tracker/procurement_tracker.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + def execute(filters=None): columns = get_columns(filters) data = get_data(filters) diff --git a/erpnext/buying/report/procurement_tracker/test_procurement_tracker.py b/erpnext/buying/report/procurement_tracker/test_procurement_tracker.py index c36083f2af..a5b09473a0 100644 --- a/erpnext/buying/report/procurement_tracker/test_procurement_tracker.py +++ b/erpnext/buying/report/procurement_tracker/test_procurement_tracker.py @@ -2,15 +2,19 @@ # For license information, please see license.txt from __future__ import unicode_literals + import unittest from datetime import datetime + import frappe -from erpnext.buying.report.procurement_tracker.procurement_tracker import execute -from erpnext.stock.doctype.material_request.test_material_request import make_material_request -from erpnext.stock.doctype.material_request.material_request import make_purchase_order + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt +from erpnext.buying.report.procurement_tracker.procurement_tracker import execute +from erpnext.stock.doctype.material_request.material_request import make_purchase_order +from erpnext.stock.doctype.material_request.test_material_request import make_material_request from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse + class TestProcurementTracker(unittest.TestCase): def test_result_for_procurement_tracker(self): filters = { diff --git a/erpnext/buying/report/purchase_analytics/purchase_analytics.py b/erpnext/buying/report/purchase_analytics/purchase_analytics.py index 0f949477b1..bef66da481 100644 --- a/erpnext/buying/report/purchase_analytics/purchase_analytics.py +++ b/erpnext/buying/report/purchase_analytics/purchase_analytics.py @@ -2,7 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from erpnext.selling.report.sales_analytics.sales_analytics import Analytics + def execute(filters=None): return Analytics(filters).run() diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py index bda172769a..5d59456550 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import copy + +import frappe from frappe import _ -from frappe.utils import flt, date_diff, getdate +from frappe.utils import date_diff, flt, getdate + def execute(filters=None): if not filters: diff --git a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py index 095a44319d..9781480afa 100644 --- a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py +++ b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe import _ -from erpnext.controllers.trends import get_columns,get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py b/erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py index faf67c9f7f..42cc6ebc0a 100644 --- a/erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py +++ b/erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import copy + +import frappe from frappe import _ -from frappe.utils import flt, date_diff, getdate +from frappe.utils import date_diff, flt, getdate + def execute(filters=None): if not filters: diff --git a/erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py b/erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py index 9a45972837..202d364185 100644 --- a/erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py +++ b/erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns, data = [], [] columns = get_columns() diff --git a/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py b/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py index 2da53d726b..9299cca0da 100644 --- a/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py +++ b/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if filters.from_date >= filters.to_date: frappe.msgprint(_("To Date must be greater than From Date")) diff --git a/erpnext/buying/report/subcontracted_item_to_be_received/test_subcontracted_item_to_be_received.py b/erpnext/buying/report/subcontracted_item_to_be_received/test_subcontracted_item_to_be_received.py index cb304a1fda..7aeae45164 100644 --- a/erpnext/buying/report/subcontracted_item_to_be_received/test_subcontracted_item_to_be_received.py +++ b/erpnext/buying/report/subcontracted_item_to_be_received/test_subcontracted_item_to_be_received.py @@ -3,12 +3,18 @@ # Compiled at: 2019-05-06 09:51:46 # Decompiled by https://python-decompiler.com from __future__ import unicode_literals -from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order + +import unittest + +import frappe + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt +from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order +from erpnext.buying.report.subcontracted_item_to_be_received.subcontracted_item_to_be_received import ( + execute, +) from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry -from erpnext.buying.report.subcontracted_item_to_be_received.subcontracted_item_to_be_received import execute -import frappe, unittest -from pprint import pprint + class TestSubcontractedItemToBeReceived(unittest.TestCase): diff --git a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py index 96cacb6f1b..a8fad967d4 100644 --- a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py +++ b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if filters.from_date >= filters.to_date: frappe.msgprint(_("To Date must be greater than From Date")) diff --git a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/test_subcontracted_raw_materials_to_be_transferred.py b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/test_subcontracted_raw_materials_to_be_transferred.py index 2448e17c50..dcdc5e36ab 100644 --- a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/test_subcontracted_raw_materials_to_be_transferred.py +++ b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/test_subcontracted_raw_materials_to_be_transferred.py @@ -3,11 +3,19 @@ # Compiled at: 2019-05-06 10:24:35 # Decompiled by https://python-decompiler.com from __future__ import unicode_literals -from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order + +import json +import unittest + +import frappe + from erpnext.buying.doctype.purchase_order.purchase_order import make_rm_stock_entry +from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order +from erpnext.buying.report.subcontracted_raw_materials_to_be_transferred.subcontracted_raw_materials_to_be_transferred import ( + execute, +) from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry -from erpnext.buying.report.subcontracted_raw_materials_to_be_transferred.subcontracted_raw_materials_to_be_transferred import execute -import json, frappe, unittest + class TestSubcontractedItemToBeTransferred(unittest.TestCase): diff --git a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py index a5a3105a84..62b83ede04 100644 --- a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py +++ b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py @@ -2,12 +2,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import flt, cint -from frappe import _ + from collections import defaultdict + +import frappe +from frappe import _ +from frappe.utils import cint, flt + from erpnext.setup.utils import get_exchange_rate + def execute(filters=None): if not filters: return [], [] diff --git a/erpnext/buying/utils.py b/erpnext/buying/utils.py index 17928634e7..81d995ce8d 100644 --- a/erpnext/buying/utils.py +++ b/erpnext/buying/utils.py @@ -2,13 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import flt, cstr, cint -from frappe import _ + import json -from erpnext.stock.doctype.item.item import get_last_purchase_details -from erpnext.stock.doctype.item.item import validate_end_of_life +import frappe +from frappe import _ +from frappe.utils import cint, cstr, flt + +from erpnext.stock.doctype.item.item import get_last_purchase_details, validate_end_of_life + def update_last_purchase_rate(doc, is_submit): """updates last_purchase_rate in item table for each item""" diff --git a/erpnext/commands/__init__.py b/erpnext/commands/__init__.py index 2276c738fb..f3bf11ad65 100644 --- a/erpnext/commands/__init__.py +++ b/erpnext/commands/__init__.py @@ -1,10 +1,12 @@ # Copyright (c) 2015, Web Notes Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt -from __future__ import unicode_literals, absolute_import, print_function +from __future__ import absolute_import, print_function, unicode_literals + import click import frappe -from frappe.commands import pass_context, get_site +from frappe.commands import get_site, pass_context + def call_command(cmd, context): return click.Context(cmd, obj=context).forward(cmd) diff --git a/erpnext/communication/doctype/communication_medium/communication_medium.py b/erpnext/communication/doctype/communication_medium/communication_medium.py index f233da07d5..b15c3bed71 100644 --- a/erpnext/communication/doctype/communication_medium/communication_medium.py +++ b/erpnext/communication/doctype/communication_medium/communication_medium.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class CommunicationMedium(Document): pass diff --git a/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py b/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py index d68d2d67a7..5189b09dc3 100644 --- a/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py +++ b/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class CommunicationMediumTimeslot(Document): pass diff --git a/erpnext/config/education.py b/erpnext/config/education.py index 1c8ab10f53..ecd771f608 100644 --- a/erpnext/config/education.py +++ b/erpnext/config/education.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return [ { diff --git a/erpnext/config/projects.py b/erpnext/config/projects.py index ab4db96477..d4d4a72a5d 100644 --- a/erpnext/config/projects.py +++ b/erpnext/config/projects.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return [ { diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index fc5dc098e5..b90db054b5 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -2,27 +2,60 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + import json + +import frappe from frappe import _, throw -from frappe.utils import (today, flt, cint, fmt_money, formatdate, - getdate, add_days, add_months, get_last_day, nowdate, get_link_to_form) -from frappe.model.workflow import get_workflow_name, is_transition_condition_satisfied, WorkflowPermissionError -from erpnext.stock.get_item_details import get_conversion_factor, get_item_details -from erpnext.setup.utils import get_exchange_rate -from erpnext.accounts.utils import get_fiscal_years, validate_fiscal_year, get_account_currency -from erpnext.utilities.transaction_base import TransactionBase -from erpnext.buying.utils import update_last_purchase_rate -from erpnext.controllers.sales_and_purchase_return import validate_return -from erpnext.accounts.party import get_party_account_currency, validate_party_frozen_disabled, get_party_account -from erpnext.accounts.doctype.pricing_rule.utils import (apply_pricing_rule_on_transaction, - apply_pricing_rule_for_free_items, get_applied_pricing_rules) -from erpnext.exceptions import InvalidCurrency +from frappe.model.workflow import get_workflow_name, is_transition_condition_satisfied +from frappe.utils import ( + add_days, + add_months, + cint, + flt, + fmt_money, + formatdate, + get_last_day, + get_link_to_form, + getdate, + nowdate, + today, +) from six import text_type -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions -from erpnext.stock.get_item_details import get_item_warehouse, _get_item_tax_template, get_item_tax_map + +import erpnext +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) +from erpnext.accounts.doctype.pricing_rule.utils import ( + apply_pricing_rule_for_free_items, + apply_pricing_rule_on_transaction, + get_applied_pricing_rules, +) +from erpnext.accounts.party import ( + get_party_account, + get_party_account_currency, + validate_party_frozen_disabled, +) +from erpnext.accounts.utils import get_account_currency, get_fiscal_years, validate_fiscal_year +from erpnext.buying.utils import update_last_purchase_rate +from erpnext.controllers.print_settings import ( + set_print_templates_for_item_table, + set_print_templates_for_taxes, +) +from erpnext.controllers.sales_and_purchase_return import validate_return +from erpnext.exceptions import InvalidCurrency +from erpnext.setup.utils import get_exchange_rate from erpnext.stock.doctype.packed_item.packed_item import make_packing_list -from erpnext.controllers.print_settings import set_print_templates_for_item_table, set_print_templates_for_taxes +from erpnext.stock.get_item_details import ( + _get_item_tax_template, + get_conversion_factor, + get_item_details, + get_item_tax_map, + get_item_warehouse, +) +from erpnext.utilities.transaction_base import TransactionBase + class AccountMissingError(frappe.ValidationError): pass @@ -1811,7 +1844,12 @@ def validate_child_on_delete(row, parent): def update_bin_on_delete(row, doctype): """Update bin for deleted item (row).""" - from erpnext.stock.stock_balance import update_bin_qty, get_reserved_qty, get_ordered_qty, get_indented_qty + from erpnext.stock.stock_balance import ( + get_indented_qty, + get_ordered_qty, + get_reserved_qty, + update_bin_qty, + ) qty_dict = {} if doctype == "Sales Order": diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py index 974ade3584..e0b3ad801e 100644 --- a/erpnext/controllers/buying_controller.py +++ b/erpnext/controllers/buying_controller.py @@ -2,24 +2,21 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _, msgprint -from frappe.utils import flt,cint, cstr, getdate -from six import iteritems -from collections import OrderedDict -from erpnext.accounts.party import get_party_details -from erpnext.stock.get_item_details import get_conversion_factor -from erpnext.buying.utils import validate_for_items, update_last_purchase_rate -from erpnext.stock.stock_ledger import get_valuation_rate -from erpnext.stock.doctype.serial_no.serial_no import get_auto_serial_nos, auto_make_serial_nos, get_serial_nos from frappe.contacts.doctype.address.address import get_address_display +from frappe.utils import cint, cstr, flt, getdate from erpnext.accounts.doctype.budget.budget import validate_expense_against_budget +from erpnext.accounts.party import get_party_details +from erpnext.buying.utils import update_last_purchase_rate, validate_for_items from erpnext.controllers.sales_and_purchase_return import get_rate_for_return -from erpnext.stock.utils import get_incoming_rate - from erpnext.controllers.stock_controller import StockController from erpnext.controllers.subcontracting import Subcontracting +from erpnext.stock.get_item_details import get_conversion_factor +from erpnext.stock.utils import get_incoming_rate + class BuyingController(StockController, Subcontracting): diff --git a/erpnext/controllers/employee_boarding_controller.py b/erpnext/controllers/employee_boarding_controller.py index f43c80416f..b8dc92efde 100644 --- a/erpnext/controllers/employee_boarding_controller.py +++ b/erpnext/controllers/employee_boarding_controller.py @@ -5,9 +5,11 @@ import frappe from frappe import _ from frappe.desk.form import assign_to from frappe.model.document import Document -from frappe.utils import flt, unique, add_days -from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday +from frappe.utils import add_days, flt, unique + from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee +from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday + class EmployeeBoardingController(Document): ''' diff --git a/erpnext/controllers/item_variant.py b/erpnext/controllers/item_variant.py index 8c361a2e56..1b56ae9d4d 100644 --- a/erpnext/controllers/item_variant.py +++ b/erpnext/controllers/item_variant.py @@ -2,13 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + +import copy +import json + import frappe from frappe import _ from frappe.utils import cstr, flt -import json, copy - from six import string_types + class ItemVariantExistsError(frappe.ValidationError): pass class InvalidItemAttributeValueError(frappe.ValidationError): pass class ItemTemplateCannotHaveStock(frappe.ValidationError): pass diff --git a/erpnext/controllers/print_settings.py b/erpnext/controllers/print_settings.py index e08c400068..f6e061bcdc 100644 --- a/erpnext/controllers/print_settings.py +++ b/erpnext/controllers/print_settings.py @@ -2,8 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import cint + def set_print_templates_for_item_table(doc, settings): doc.print_templates = { diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py index 4b4c8befa5..aafaf5b9e0 100644 --- a/erpnext/controllers/queries.py +++ b/erpnext/controllers/queries.py @@ -2,14 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -import erpnext + import json -from frappe.desk.reportview import get_match_cond, get_filters_cond -from frappe.utils import nowdate, getdate from collections import defaultdict + +import frappe +from frappe.desk.reportview import get_filters_cond, get_match_cond +from frappe.utils import nowdate, unique + +import erpnext from erpnext.stock.get_item_details import _get_item_tax_template -from frappe.utils import unique + # searches for active employees @frappe.whitelist() @@ -517,7 +520,9 @@ def get_income_account(doctype, txt, searchfield, start, page_len, filters): @frappe.whitelist() @frappe.validate_and_sanitize_search_inputs def get_filtered_dimensions(doctype, txt, searchfield, start, page_len, filters): - from erpnext.accounts.doctype.accounting_dimension_filter.accounting_dimension_filter import get_dimension_filter_map + from erpnext.accounts.doctype.accounting_dimension_filter.accounting_dimension_filter import ( + get_dimension_filter_map, + ) dimension_filters = get_dimension_filter_map() dimension_filters = dimension_filters.get((filters.get('dimension'),filters.get('account'))) query_filters = [] @@ -692,7 +697,9 @@ def get_healthcare_service_units(doctype, txt, searchfield, start, page_len, fil company = frappe.db.escape(filters.get('company')), txt = frappe.db.escape('%{0}%'.format(txt))) if filters and filters.get('inpatient_record'): - from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import get_current_healthcare_service_unit + from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import ( + get_current_healthcare_service_unit, + ) service_unit = get_current_healthcare_service_unit(filters.get('inpatient_record')) # if the patient is admitted, then appointments should be allowed against the admission service unit, diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py index f673a9b6e5..5f2fbeb0c9 100644 --- a/erpnext/controllers/sales_and_purchase_return.py +++ b/erpnext/controllers/sales_and_purchase_return.py @@ -2,11 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ from frappe.model.meta import get_field_precision +from frappe.utils import flt, format_datetime, get_datetime + +import erpnext from erpnext.stock.utils import get_incoming_rate -from frappe.utils import flt, get_datetime, format_datetime + class StockOverReturnError(frappe.ValidationError): pass @@ -235,6 +239,7 @@ def get_returned_qty_map_for_row(row_name, doctype): def make_return_doc(doctype, source_name, target_doc=None): from frappe.model.mapper import get_mapped_doc + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos company = frappe.db.get_value("Delivery Note", source_name, "company") default_warehouse_for_sales_return = frappe.db.get_value("Company", company, "default_warehouse_for_sales_return") diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index 844c40c8a6..0158a1120f 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -2,18 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import cint, flt, cstr, get_link_to_form, nowtime -from frappe import _, bold, throw -from erpnext.stock.get_item_details import get_bin_details -from erpnext.stock.utils import get_incoming_rate -from erpnext.stock.get_item_details import get_conversion_factor -from erpnext.stock.doctype.item.item import set_item_default -from frappe.contacts.doctype.address.address import get_address_display -from erpnext.controllers.accounts_controller import get_taxes_and_charges -from erpnext.controllers.stock_controller import StockController +import frappe +from frappe import _, bold, throw +from frappe.contacts.doctype.address.address import get_address_display +from frappe.utils import cint, cstr, flt, get_link_to_form, nowtime + +from erpnext.controllers.accounts_controller import get_taxes_and_charges from erpnext.controllers.sales_and_purchase_return import get_rate_for_return +from erpnext.controllers.stock_controller import StockController +from erpnext.stock.doctype.item.item import set_item_default +from erpnext.stock.get_item_details import get_bin_details, get_conversion_factor +from erpnext.stock.utils import get_incoming_rate + class SellingController(StockController): def get_feed(self): diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py index 7b24e50b14..8738204ce0 100644 --- a/erpnext/controllers/status_updater.py +++ b/erpnext/controllers/status_updater.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt, comma_or, nowdate, getdate, now from frappe import _ from frappe.model.document import Document +from frappe.utils import comma_or, flt, getdate, now, nowdate + class OverAllowanceError(frappe.ValidationError): pass diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index 17707ecae7..78a6e52e4d 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -5,12 +5,15 @@ import json from collections import defaultdict import frappe -import frappe.defaults from frappe import _ from frappe.utils import cint, cstr, flt, get_link_to_form, getdate import erpnext -from erpnext.accounts.general_ledger import make_gl_entries, make_reverse_gl_entries, process_gl_map +from erpnext.accounts.general_ledger import ( + make_gl_entries, + make_reverse_gl_entries, + process_gl_map, +) from erpnext.accounts.utils import get_fiscal_year from erpnext.controllers.accounts_controller import AccountsController from erpnext.stock import get_warehouse_account_map diff --git a/erpnext/controllers/subcontracting.py b/erpnext/controllers/subcontracting.py index 969829f965..3addb91aaa 100644 --- a/erpnext/controllers/subcontracting.py +++ b/erpnext/controllers/subcontracting.py @@ -1,10 +1,13 @@ -import frappe import copy -from frappe import _ -from frappe.utils import flt, cint, get_link_to_form from collections import defaultdict + +import frappe +from frappe import _ +from frappe.utils import cint, flt, get_link_to_form + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + class Subcontracting(): def set_materials_for_subcontracted_items(self, raw_material_table): if self.doctype == 'Purchase Invoice' and not self.update_stock: diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 993c354f7a..70cc8a58bf 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -2,15 +2,23 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import json -import frappe, erpnext + +import frappe from frappe import _, scrub from frappe.utils import cint, flt, round_based_on_smallest_currency_fraction -from erpnext.controllers.accounts_controller import validate_conversion_rate, \ - validate_taxes_and_charges, validate_inclusive_tax -from erpnext.stock.get_item_details import _get_item_tax_template -from erpnext.accounts.doctype.pricing_rule.utils import get_applied_pricing_rules + +import erpnext from erpnext.accounts.doctype.journal_entry.journal_entry import get_exchange_rate +from erpnext.accounts.doctype.pricing_rule.utils import get_applied_pricing_rules +from erpnext.controllers.accounts_controller import ( + validate_conversion_rate, + validate_inclusive_tax, + validate_taxes_and_charges, +) +from erpnext.stock.get_item_details import _get_item_tax_template + class calculate_taxes_and_totals(object): def __init__(self, doc): diff --git a/erpnext/controllers/tests/test_item_variant.py b/erpnext/controllers/tests/test_item_variant.py index 813f0a0075..b3633e6ff0 100644 --- a/erpnext/controllers/tests/test_item_variant.py +++ b/erpnext/controllers/tests/test_item_variant.py @@ -1,15 +1,18 @@ from __future__ import unicode_literals -import frappe import json import unittest -from erpnext.stock.doctype.item.test_item import set_item_variant_settings -from erpnext.controllers.item_variant import copy_attributes_to_variant, make_variant_item_code -from erpnext.stock.doctype.quality_inspection.test_quality_inspection import create_quality_inspection_parameter - +import frappe from six import string_types +from erpnext.controllers.item_variant import copy_attributes_to_variant, make_variant_item_code +from erpnext.stock.doctype.item.test_item import set_item_variant_settings +from erpnext.stock.doctype.quality_inspection.test_quality_inspection import ( + create_quality_inspection_parameter, +) + + class TestItemVariant(unittest.TestCase): def test_tables_in_template_copied_to_variant(self): fields = [{'field_name': 'quality_inspection_template'}] diff --git a/erpnext/controllers/tests/test_mapper.py b/erpnext/controllers/tests/test_mapper.py index 7a4b2d3614..2d1ae43f07 100644 --- a/erpnext/controllers/tests/test_mapper.py +++ b/erpnext/controllers/tests/test_mapper.py @@ -1,12 +1,14 @@ from __future__ import unicode_literals -import unittest -import frappe -import random, json +import json +import unittest + +import frappe import frappe.utils -from frappe.utils import nowdate, add_months from frappe.model import mapper from frappe.test_runner import make_test_records +from frappe.utils import add_months, nowdate + class TestMapper(unittest.TestCase): def test_map_docs(self): diff --git a/erpnext/controllers/tests/test_qty_based_taxes.py b/erpnext/controllers/tests/test_qty_based_taxes.py index aaeac5d939..41673d1e6f 100644 --- a/erpnext/controllers/tests/test_qty_based_taxes.py +++ b/erpnext/controllers/tests/test_qty_based_taxes.py @@ -1,8 +1,11 @@ -from __future__ import unicode_literals, print_function +from __future__ import print_function, unicode_literals + import unittest -import frappe from uuid import uuid4 as _uuid4 +import frappe + + def uuid4(): return str(_uuid4()) diff --git a/erpnext/controllers/trends.py b/erpnext/controllers/trends.py index 9b4b0eb917..05d900d0f0 100644 --- a/erpnext/controllers/trends.py +++ b/erpnext/controllers/trends.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import getdate from frappe import _ +from frappe.utils import getdate + def get_columns(filters, trans): validate_filters(filters) diff --git a/erpnext/controllers/website_list_for_contact.py b/erpnext/controllers/website_list_for_contact.py index 7c072e4fad..ff2ed45bd2 100644 --- a/erpnext/controllers/website_list_for_contact.py +++ b/erpnext/controllers/website_list_for_contact.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import json + import frappe from frappe import _ from frappe.utils import flt, has_common from frappe.utils.user import is_website_user + def get_list_context(context=None): return { "global_number_format": frappe.db.get_default("number_format") or "#,###.##", diff --git a/erpnext/crm/doctype/appointment/appointment.py b/erpnext/crm/doctype/appointment/appointment.py index f7c6b6c799..f2055349bd 100644 --- a/erpnext/crm/doctype/appointment/appointment.py +++ b/erpnext/crm/doctype/appointment/appointment.py @@ -4,15 +4,13 @@ from __future__ import unicode_literals -import urllib from collections import Counter -from datetime import timedelta import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import get_url, getdate -from frappe.utils.verified_command import verify_request, get_signed_params +from frappe.utils.verified_command import get_signed_params class Appointment(Document): diff --git a/erpnext/crm/doctype/appointment/test_appointment.py b/erpnext/crm/doctype/appointment/test_appointment.py index c7563e9d15..59138a9ea9 100644 --- a/erpnext/crm/doctype/appointment/test_appointment.py +++ b/erpnext/crm/doctype/appointment/test_appointment.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest import datetime +import unittest + +import frappe def create_test_lead(): diff --git a/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py b/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py index ad781d6859..7e1da67731 100644 --- a/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py +++ b/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import datetime + import frappe from frappe import _ -import datetime from frappe.model.document import Document diff --git a/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py b/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py index 3dc3c39971..5c5432c524 100644 --- a/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py +++ b/erpnext/crm/doctype/appointment_booking_settings/test_appointment_booking_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestAppointmentBookingSettings(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/appointment_booking_slots/appointment_booking_slots.py b/erpnext/crm/doctype/appointment_booking_slots/appointment_booking_slots.py index 3cadbc9559..4741c8af5a 100644 --- a/erpnext/crm/doctype/appointment_booking_slots/appointment_booking_slots.py +++ b/erpnext/crm/doctype/appointment_booking_slots/appointment_booking_slots.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AppointmentBookingSlots(Document): pass diff --git a/erpnext/crm/doctype/availability_of_slots/availability_of_slots.py b/erpnext/crm/doctype/availability_of_slots/availability_of_slots.py index 8258471eed..e33d87b193 100644 --- a/erpnext/crm/doctype/availability_of_slots/availability_of_slots.py +++ b/erpnext/crm/doctype/availability_of_slots/availability_of_slots.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AvailabilityOfSlots(Document): pass diff --git a/erpnext/crm/doctype/campaign/campaign.py b/erpnext/crm/doctype/campaign/campaign.py index e32799f34e..8b62800409 100644 --- a/erpnext/crm/doctype/campaign/campaign.py +++ b/erpnext/crm/doctype/campaign/campaign.py @@ -5,6 +5,7 @@ import frappe from frappe.model.document import Document from frappe.model.naming import set_name_by_naming_series + class Campaign(Document): def autoname(self): if frappe.defaults.get_global_default('campaign_naming_by') != 'Naming Series': diff --git a/erpnext/crm/doctype/campaign/test_campaign.py b/erpnext/crm/doctype/campaign/test_campaign.py index 7124b8c7d6..2e25eb6a79 100644 --- a/erpnext/crm/doctype/campaign/test_campaign.py +++ b/erpnext/crm/doctype/campaign/test_campaign.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestCampaign(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/campaign_email_schedule/campaign_email_schedule.py b/erpnext/crm/doctype/campaign_email_schedule/campaign_email_schedule.py index 8445b8a397..f053e6e7e4 100644 --- a/erpnext/crm/doctype/campaign_email_schedule/campaign_email_schedule.py +++ b/erpnext/crm/doctype/campaign_email_schedule/campaign_email_schedule.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class CampaignEmailSchedule(Document): pass diff --git a/erpnext/crm/doctype/contract/contract.py b/erpnext/crm/doctype/contract/contract.py index c39397bf4b..9654613f04 100644 --- a/erpnext/crm/doctype/contract/contract.py +++ b/erpnext/crm/doctype/contract/contract.py @@ -7,7 +7,7 @@ from __future__ import unicode_literals import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import getdate, now_datetime, nowdate +from frappe.utils import getdate, nowdate class Contract(Document): diff --git a/erpnext/crm/doctype/contract/test_contract.py b/erpnext/crm/doctype/contract/test_contract.py index d5f4e71bff..8771636817 100644 --- a/erpnext/crm/doctype/contract/test_contract.py +++ b/erpnext/crm/doctype/contract/test_contract.py @@ -8,6 +8,7 @@ import unittest import frappe from frappe.utils import add_days, nowdate + class TestContract(unittest.TestCase): def setUp(self): diff --git a/erpnext/crm/doctype/contract_fulfilment_checklist/contract_fulfilment_checklist.py b/erpnext/crm/doctype/contract_fulfilment_checklist/contract_fulfilment_checklist.py index 6039035727..ae56f93fc8 100644 --- a/erpnext/crm/doctype/contract_fulfilment_checklist/contract_fulfilment_checklist.py +++ b/erpnext/crm/doctype/contract_fulfilment_checklist/contract_fulfilment_checklist.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ContractFulfilmentChecklist(Document): pass diff --git a/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py b/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py index c78796be6b..82e7ad35c9 100644 --- a/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py +++ b/erpnext/crm/doctype/contract_fulfilment_checklist/test_contract_fulfilment_checklist.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestContractFulfilmentChecklist(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/contract_template/contract_template.py b/erpnext/crm/doctype/contract_template/contract_template.py index 9281220eef..fc1845c372 100644 --- a/erpnext/crm/doctype/contract_template/contract_template.py +++ b/erpnext/crm/doctype/contract_template/contract_template.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import json + import frappe from frappe.model.document import Document from frappe.utils.jinja import validate_template from six import string_types -import json + class ContractTemplate(Document): def validate(self): diff --git a/erpnext/crm/doctype/contract_template/test_contract_template.py b/erpnext/crm/doctype/contract_template/test_contract_template.py index b2b0db66a5..50655054c8 100644 --- a/erpnext/crm/doctype/contract_template/test_contract_template.py +++ b/erpnext/crm/doctype/contract_template/test_contract_template.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestContractTemplate(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/contract_template_fulfilment_terms/contract_template_fulfilment_terms.py b/erpnext/crm/doctype/contract_template_fulfilment_terms/contract_template_fulfilment_terms.py index 767b1901ab..28f844d097 100644 --- a/erpnext/crm/doctype/contract_template_fulfilment_terms/contract_template_fulfilment_terms.py +++ b/erpnext/crm/doctype/contract_template_fulfilment_terms/contract_template_fulfilment_terms.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ContractTemplateFulfilmentTerms(Document): pass diff --git a/erpnext/crm/doctype/email_campaign/email_campaign.py b/erpnext/crm/doctype/email_campaign/email_campaign.py index 71c93e8d39..4b74f25ead 100644 --- a/erpnext/crm/doctype/email_campaign/email_campaign.py +++ b/erpnext/crm/doctype/email_campaign/email_campaign.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate, add_days, today, nowdate, cstr -from frappe.model.document import Document from frappe.core.doctype.communication.email import make +from frappe.model.document import Document +from frappe.utils import add_days, getdate, today + class EmailCampaign(Document): def validate(self): diff --git a/erpnext/crm/doctype/email_campaign/test_email_campaign.py b/erpnext/crm/doctype/email_campaign/test_email_campaign.py index f5eab48333..f68b8c6d29 100644 --- a/erpnext/crm/doctype/email_campaign/test_email_campaign.py +++ b/erpnext/crm/doctype/email_campaign/test_email_campaign.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestEmailCampaign(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/lead/lead.py b/erpnext/crm/doctype/lead/lead.py index 7610a24648..5cf110ff27 100644 --- a/erpnext/crm/doctype/lead/lead.py +++ b/erpnext/crm/doctype/lead/lead.py @@ -4,13 +4,23 @@ from __future__ import unicode_literals import frappe -from erpnext.accounts.party import set_taxes -from erpnext.controllers.selling_controller import SellingController from frappe import _ from frappe.contacts.address_and_contact import load_address_and_contact from frappe.email.inbox import link_communication_to_document from frappe.model.mapper import get_mapped_doc -from frappe.utils import cint, comma_and, cstr, getdate, has_gravatar, nowdate, validate_email_address +from frappe.utils import ( + cint, + comma_and, + cstr, + getdate, + has_gravatar, + nowdate, + validate_email_address, +) + +from erpnext.accounts.party import set_taxes +from erpnext.controllers.selling_controller import SellingController + class Lead(SellingController): def get_feed(self): diff --git a/erpnext/crm/doctype/lead/lead_dashboard.py b/erpnext/crm/doctype/lead/lead_dashboard.py index 50e88a5188..5edf2b6238 100644 --- a/erpnext/crm/doctype/lead/lead_dashboard.py +++ b/erpnext/crm/doctype/lead/lead_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/crm/doctype/lead/test_lead.py b/erpnext/crm/doctype/lead/test_lead.py index d7bc46165f..833c43e059 100644 --- a/erpnext/crm/doctype/lead/test_lead.py +++ b/erpnext/crm/doctype/lead/test_lead.py @@ -3,9 +3,10 @@ from __future__ import unicode_literals +import unittest + import frappe from frappe.utils import random_string -import unittest test_records = frappe.get_test_records('Lead') diff --git a/erpnext/crm/doctype/lead_source/lead_source.py b/erpnext/crm/doctype/lead_source/lead_source.py index 5c64fb8b4a..8de1c4301b 100644 --- a/erpnext/crm/doctype/lead_source/lead_source.py +++ b/erpnext/crm/doctype/lead_source/lead_source.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class LeadSource(Document): pass diff --git a/erpnext/crm/doctype/lead_source/test_lead_source.py b/erpnext/crm/doctype/lead_source/test_lead_source.py index b5bc6490cf..ecf61171e9 100644 --- a/erpnext/crm/doctype/lead_source/test_lead_source.py +++ b/erpnext/crm/doctype/lead_source/test_lead_source.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLeadSource(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/linkedin_settings/linkedin_settings.py b/erpnext/crm/doctype/linkedin_settings/linkedin_settings.py index c56eed84ce..03c9d9c762 100644 --- a/erpnext/crm/doctype/linkedin_settings/linkedin_settings.py +++ b/erpnext/crm/doctype/linkedin_settings/linkedin_settings.py @@ -3,14 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe import requests from frappe import _ -from frappe.utils import get_url_to_form from frappe.model.document import Document +from frappe.utils import get_url_to_form from frappe.utils.file_manager import get_file_path from six.moves.urllib.parse import urlencode + class LinkedInSettings(Document): @frappe.whitelist() def get_authorization_url(self): diff --git a/erpnext/crm/doctype/linkedin_settings/test_linkedin_settings.py b/erpnext/crm/doctype/linkedin_settings/test_linkedin_settings.py index 9c3ef3f32f..1d86f0c66f 100644 --- a/erpnext/crm/doctype/linkedin_settings/test_linkedin_settings.py +++ b/erpnext/crm/doctype/linkedin_settings/test_linkedin_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLinkedInSettings(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/lost_reason_detail/lost_reason_detail.py b/erpnext/crm/doctype/lost_reason_detail/lost_reason_detail.py index 3baa011e64..88abd423cf 100644 --- a/erpnext/crm/doctype/lost_reason_detail/lost_reason_detail.py +++ b/erpnext/crm/doctype/lost_reason_detail/lost_reason_detail.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class LostReasonDetail(Document): pass diff --git a/erpnext/crm/doctype/market_segment/market_segment.py b/erpnext/crm/doctype/market_segment/market_segment.py index 830ea69343..92adf56876 100644 --- a/erpnext/crm/doctype/market_segment/market_segment.py +++ b/erpnext/crm/doctype/market_segment/market_segment.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class MarketSegment(Document): pass diff --git a/erpnext/crm/doctype/market_segment/test_market_segment.py b/erpnext/crm/doctype/market_segment/test_market_segment.py index 2f9ed34f7c..b95cc4cde0 100644 --- a/erpnext/crm/doctype/market_segment/test_market_segment.py +++ b/erpnext/crm/doctype/market_segment/test_market_segment.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestMarketSegment(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py index a74a94afd6..0b3f50897a 100644 --- a/erpnext/crm/doctype/opportunity/opportunity.py +++ b/erpnext/crm/doctype/opportunity/opportunity.py @@ -2,14 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, json -from frappe.utils import cstr, cint, get_fullname -from frappe import msgprint, _ + +import json + +import frappe +from frappe import _ +from frappe.email.inbox import link_communication_to_document from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, cstr, get_fullname + +from erpnext.accounts.party import get_party_account_currency from erpnext.setup.utils import get_exchange_rate from erpnext.utilities.transaction_base import TransactionBase -from erpnext.accounts.party import get_party_account_currency -from frappe.email.inbox import link_communication_to_document + class Opportunity(TransactionBase): def after_insert(self): diff --git a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py index b8c53f077a..693a86cfcd 100644 --- a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py +++ b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/crm/doctype/opportunity/test_opportunity.py b/erpnext/crm/doctype/opportunity/test_opportunity.py index 52aa0b036a..347bf6366d 100644 --- a/erpnext/crm/doctype/opportunity/test_opportunity.py +++ b/erpnext/crm/doctype/opportunity/test_opportunity.py @@ -2,11 +2,13 @@ # See license.txt from __future__ import unicode_literals +import unittest + import frappe -from frappe.utils import today, random_string +from frappe.utils import random_string, today + from erpnext.crm.doctype.lead.lead import make_customer from erpnext.crm.doctype.opportunity.opportunity import make_quotation -import unittest test_records = frappe.get_test_records('Opportunity') diff --git a/erpnext/crm/doctype/opportunity_item/opportunity_item.py b/erpnext/crm/doctype/opportunity_item/opportunity_item.py index 7a5ed63f88..225cfe9d32 100644 --- a/erpnext/crm/doctype/opportunity_item/opportunity_item.py +++ b/erpnext/crm/doctype/opportunity_item/opportunity_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class OpportunityItem(Document): pass diff --git a/erpnext/crm/doctype/opportunity_lost_reason/opportunity_lost_reason.py b/erpnext/crm/doctype/opportunity_lost_reason/opportunity_lost_reason.py index 48b63b091e..b25f02afff 100644 --- a/erpnext/crm/doctype/opportunity_lost_reason/opportunity_lost_reason.py +++ b/erpnext/crm/doctype/opportunity_lost_reason/opportunity_lost_reason.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class OpportunityLostReason(Document): pass diff --git a/erpnext/crm/doctype/opportunity_lost_reason_detail/opportunity_lost_reason_detail.py b/erpnext/crm/doctype/opportunity_lost_reason_detail/opportunity_lost_reason_detail.py index 8723f1d045..4bb5c54b1d 100644 --- a/erpnext/crm/doctype/opportunity_lost_reason_detail/opportunity_lost_reason_detail.py +++ b/erpnext/crm/doctype/opportunity_lost_reason_detail/opportunity_lost_reason_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class OpportunityLostReasonDetail(Document): pass diff --git a/erpnext/crm/doctype/opportunity_type/opportunity_type.py b/erpnext/crm/doctype/opportunity_type/opportunity_type.py index 48abac3fe2..5b64e98096 100644 --- a/erpnext/crm/doctype/opportunity_type/opportunity_type.py +++ b/erpnext/crm/doctype/opportunity_type/opportunity_type.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class OpportunityType(Document): pass diff --git a/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py index 6410bbc340..f86a70e8cf 100644 --- a/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py +++ b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestOpportunityType(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/prospect/prospect.py b/erpnext/crm/doctype/prospect/prospect.py index 3fa6fe8537..367aa3d312 100644 --- a/erpnext/crm/doctype/prospect/prospect.py +++ b/erpnext/crm/doctype/prospect/prospect.py @@ -2,9 +2,10 @@ # For license information, please see license.txt import frappe +from frappe.contacts.address_and_contact import load_address_and_contact from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc -from frappe.contacts.address_and_contact import load_address_and_contact + class Prospect(Document): def onload(self): diff --git a/erpnext/crm/doctype/prospect/test_prospect.py b/erpnext/crm/doctype/prospect/test_prospect.py index 0fffad1939..fa44e20435 100644 --- a/erpnext/crm/doctype/prospect/test_prospect.py +++ b/erpnext/crm/doctype/prospect/test_prospect.py @@ -1,11 +1,13 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import frappe import unittest + +import frappe from frappe.utils import random_string -from erpnext.crm.doctype.lead.test_lead import make_lead + from erpnext.crm.doctype.lead.lead import add_lead_to_prospect +from erpnext.crm.doctype.lead.test_lead import make_lead class TestProspect(unittest.TestCase): diff --git a/erpnext/crm/doctype/prospect_lead/prospect_lead.py b/erpnext/crm/doctype/prospect_lead/prospect_lead.py index 2be5a5f39a..40edbe0524 100644 --- a/erpnext/crm/doctype/prospect_lead/prospect_lead.py +++ b/erpnext/crm/doctype/prospect_lead/prospect_lead.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class ProspectLead(Document): pass diff --git a/erpnext/crm/doctype/sales_stage/sales_stage.py b/erpnext/crm/doctype/sales_stage/sales_stage.py index a80f4cc089..e9e176f087 100644 --- a/erpnext/crm/doctype/sales_stage/sales_stage.py +++ b/erpnext/crm/doctype/sales_stage/sales_stage.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SalesStage(Document): pass diff --git a/erpnext/crm/doctype/sales_stage/test_sales_stage.py b/erpnext/crm/doctype/sales_stage/test_sales_stage.py index 80b65130e6..83d1f269fd 100644 --- a/erpnext/crm/doctype/sales_stage/test_sales_stage.py +++ b/erpnext/crm/doctype/sales_stage/test_sales_stage.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestSalesStage(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/social_media_post/social_media_post.py b/erpnext/crm/doctype/social_media_post/social_media_post.py index 8e441edba8..14d4521e1e 100644 --- a/erpnext/crm/doctype/social_media_post/social_media_post.py +++ b/erpnext/crm/doctype/social_media_post/social_media_post.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document -from frappe import _ + import datetime +import frappe +from frappe import _ +from frappe.model.document import Document + + class SocialMediaPost(Document): def validate(self): if (not self.twitter and not self.linkedin): diff --git a/erpnext/crm/doctype/social_media_post/test_social_media_post.py b/erpnext/crm/doctype/social_media_post/test_social_media_post.py index ec81ee5871..c2d041898a 100644 --- a/erpnext/crm/doctype/social_media_post/test_social_media_post.py +++ b/erpnext/crm/doctype/social_media_post/test_social_media_post.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestSocialMediaPost(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/twitter_settings/test_twitter_settings.py b/erpnext/crm/doctype/twitter_settings/test_twitter_settings.py index 3f999c1af4..ff3163c559 100644 --- a/erpnext/crm/doctype/twitter_settings/test_twitter_settings.py +++ b/erpnext/crm/doctype/twitter_settings/test_twitter_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestTwitterSettings(unittest.TestCase): pass diff --git a/erpnext/crm/doctype/twitter_settings/twitter_settings.py b/erpnext/crm/doctype/twitter_settings/twitter_settings.py index 9c37ffd771..0205cca2b9 100644 --- a/erpnext/crm/doctype/twitter_settings/twitter_settings.py +++ b/erpnext/crm/doctype/twitter_settings/twitter_settings.py @@ -3,13 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, os, tweepy, json + +import json + +import frappe +import tweepy from frappe import _ from frappe.model.document import Document +from frappe.utils import get_url_to_form from frappe.utils.file_manager import get_file_path -from frappe.utils import get_url_to_form, get_link_to_form from tweepy.error import TweepError + class TwitterSettings(Document): @frappe.whitelist() def get_authorize_url(self): diff --git a/erpnext/crm/doctype/utils.py b/erpnext/crm/doctype/utils.py index f244daffea..0da0e0e71a 100644 --- a/erpnext/crm/doctype/utils.py +++ b/erpnext/crm/doctype/utils.py @@ -1,6 +1,6 @@ + import frappe -from frappe import _ -import json + @frappe.whitelist() def get_last_interaction(contact=None, lead=None): diff --git a/erpnext/crm/report/campaign_efficiency/campaign_efficiency.py b/erpnext/crm/report/campaign_efficiency/campaign_efficiency.py index 238884b519..87f516b8c7 100644 --- a/erpnext/crm/report/campaign_efficiency/campaign_efficiency.py +++ b/erpnext/crm/report/campaign_efficiency/campaign_efficiency.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + def execute(filters=None): columns, data = [], [] columns=get_columns("Campaign Name") diff --git a/erpnext/crm/report/first_response_time_for_opportunity/first_response_time_for_opportunity.py b/erpnext/crm/report/first_response_time_for_opportunity/first_response_time_for_opportunity.py index 2ffbc3e62a..df57893ef4 100644 --- a/erpnext/crm/report/first_response_time_for_opportunity/first_response_time_for_opportunity.py +++ b/erpnext/crm/report/first_response_time_for_opportunity/first_response_time_for_opportunity.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe + def execute(filters=None): columns = [ { diff --git a/erpnext/crm/report/lead_conversion_time/lead_conversion_time.py b/erpnext/crm/report/lead_conversion_time/lead_conversion_time.py index e66bc1ec8e..71efdb96e7 100644 --- a/erpnext/crm/report/lead_conversion_time/lead_conversion_time.py +++ b/erpnext/crm/report/lead_conversion_time/lead_conversion_time.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _, msgprint from frappe.utils import date_diff, flt + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/crm/report/lead_details/lead_details.py b/erpnext/crm/report/lead_details/lead_details.py index 072a47611b..11e8276427 100644 --- a/erpnext/crm/report/lead_details/lead_details.py +++ b/erpnext/crm/report/lead_details/lead_details.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe import _ + import frappe +from frappe import _ + def execute(filters=None): columns, data = get_columns(), get_data(filters) diff --git a/erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py b/erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py index 8fe16a2f4c..5406eba6d8 100644 --- a/erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py +++ b/erpnext/crm/report/lead_owner_efficiency/lead_owner_efficiency.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe import _ + from erpnext.crm.report.campaign_efficiency.campaign_efficiency import get_lead_data + def execute(filters=None): columns, data = [], [] columns=get_columns() diff --git a/erpnext/crm/report/lost_opportunity/lost_opportunity.py b/erpnext/crm/report/lost_opportunity/lost_opportunity.py index 858dcc4da8..b308ceb272 100644 --- a/erpnext/crm/report/lost_opportunity/lost_opportunity.py +++ b/erpnext/crm/report/lost_opportunity/lost_opportunity.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe import _ + import frappe +from frappe import _ + def execute(filters=None): columns, data = get_columns(), get_data(filters) diff --git a/erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py b/erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py index 425b7a8fdd..4a16f3d539 100644 --- a/erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py +++ b/erpnext/crm/report/prospects_engaged_but_not_converted/prospects_engaged_but_not_converted.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import add_days, now + def execute(filters=None): columns, data = [], [] set_defaut_value_for_filters(filters) diff --git a/erpnext/demo/demo.py b/erpnext/demo/demo.py index a4e4220c3a..5be24206ca 100644 --- a/erpnext/demo/demo.py +++ b/erpnext/demo/demo.py @@ -1,11 +1,16 @@ from __future__ import unicode_literals -import frappe, sys -import erpnext +import sys + +import frappe import frappe.utils -from erpnext.demo.user import hr, sales, purchase, manufacturing, stock, accounts, projects, fixed_asset + +import erpnext +from erpnext.demo.setup import education, healthcare, manufacture, retail, setup_data +from erpnext.demo.user import accounts from erpnext.demo.user import education as edu -from erpnext.demo.setup import education, manufacture, setup_data, healthcare, retail +from erpnext.demo.user import fixed_asset, hr, manufacturing, projects, purchase, sales, stock + """ Make a demo diff --git a/erpnext/demo/setup/education.py b/erpnext/demo/setup/education.py index cf9451d5da..304bc3d2c3 100644 --- a/erpnext/demo/setup/education.py +++ b/erpnext/demo/setup/education.py @@ -2,11 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, json -from frappe.utils.make_random import get_random -from datetime import datetime -from erpnext.demo.setup.setup_data import import_json +import json import random +from datetime import datetime + +import frappe +from frappe.utils.make_random import get_random + +from erpnext.demo.setup.setup_data import import_json + def setup_data(): frappe.flags.mute_emails = True diff --git a/erpnext/demo/setup/healthcare.py b/erpnext/demo/setup/healthcare.py index aa389e56b4..5d5707f647 100644 --- a/erpnext/demo/setup/healthcare.py +++ b/erpnext/demo/setup/healthcare.py @@ -2,13 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, json -from frappe.utils.make_random import get_random import datetime -from erpnext.demo.setup.setup_data import import_json +import json + +import frappe from frappe.utils import getdate +from frappe.utils.make_random import get_random + +from erpnext.demo.setup.setup_data import import_json from erpnext.healthcare.doctype.lab_test.lab_test import create_test_from_template + def setup_data(): frappe.flags.mute_emails = True make_masters() diff --git a/erpnext/demo/setup/manufacture.py b/erpnext/demo/setup/manufacture.py index 7d6b5012ea..5db3519c2c 100644 --- a/erpnext/demo/setup/manufacture.py +++ b/erpnext/demo/setup/manufacture.py @@ -1,13 +1,16 @@ from __future__ import unicode_literals -import random, json -import frappe -from frappe.utils import nowdate, add_days -from erpnext.demo.setup.setup_data import import_json -from erpnext.demo.domains import data +import json +import random +import frappe +from frappe.utils import add_days, nowdate from six import iteritems +from erpnext.demo.domains import data +from erpnext.demo.setup.setup_data import import_json + + def setup_data(): import_json("Location") import_json("Asset Category") diff --git a/erpnext/demo/setup/retail.py b/erpnext/demo/setup/retail.py index 82d1c15ea3..d94d2d6763 100644 --- a/erpnext/demo/setup/retail.py +++ b/erpnext/demo/setup/retail.py @@ -1,12 +1,12 @@ from __future__ import unicode_literals -import random, json +import json + import frappe -from frappe.utils import nowdate, add_days -from erpnext.demo.setup.setup_data import import_json +from six import iteritems + from erpnext.demo.domains import data -from six import iteritems def setup_data(): setup_item() diff --git a/erpnext/demo/setup/setup_data.py b/erpnext/demo/setup/setup_data.py index 05ee28a24a..42f83a3b4e 100644 --- a/erpnext/demo/setup/setup_data.py +++ b/erpnext/demo/setup/setup_data.py @@ -1,13 +1,18 @@ from __future__ import print_function, unicode_literals -import random, json -import frappe, erpnext -from frappe.utils.nestedset import get_root_of -from frappe.utils import flt, now_datetime, cstr, random_string -from frappe.utils.make_random import add_random_children, get_random -from frappe.custom.doctype.custom_field.custom_field import create_custom_fields -from erpnext.demo.domains import data +import json +import random + +import frappe from frappe import _ +from frappe.custom.doctype.custom_field.custom_field import create_custom_fields +from frappe.utils import cstr, flt, now_datetime, random_string +from frappe.utils.make_random import add_random_children, get_random +from frappe.utils.nestedset import get_root_of + +import erpnext +from erpnext.demo.domains import data + def setup(domain): frappe.flags.in_demo = 1 diff --git a/erpnext/demo/user/accounts.py b/erpnext/demo/user/accounts.py index 7fab772235..2a24824485 100644 --- a/erpnext/demo/user/accounts.py +++ b/erpnext/demo/user/accounts.py @@ -4,19 +4,25 @@ from __future__ import unicode_literals -import erpnext -import frappe import random -from frappe.utils import random_string + +import frappe from frappe.desk import query_report +from frappe.utils import random_string +from frappe.utils.make_random import get_random + +import erpnext from erpnext.accounts.doctype.journal_entry.journal_entry import get_payment_entry_against_invoice from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry -from frappe.utils.make_random import get_random -from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request, make_payment_entry +from erpnext.accounts.doctype.payment_request.payment_request import ( + make_payment_entry, + make_payment_request, +) from erpnext.demo.user.sales import make_sales_order from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice + def work(): frappe.set_user(frappe.db.get_global('demo_accounts_user')) diff --git a/erpnext/demo/user/education.py b/erpnext/demo/user/education.py index 883a6d88cf..adc0463a7f 100644 --- a/erpnext/demo/user/education.py +++ b/erpnext/demo/user/education.py @@ -4,13 +4,21 @@ from __future__ import unicode_literals -import frappe import random +from datetime import timedelta + +import frappe from frappe.utils import cstr from frappe.utils.make_random import get_random -from datetime import timedelta -from erpnext.education.api import get_student_group_students, make_attendance_records, enroll_student, \ - get_fee_schedule, collect_fees, get_course + +from erpnext.education.api import ( + collect_fees, + enroll_student, + get_course, + get_fee_schedule, + get_student_group_students, + make_attendance_records, +) def work(): diff --git a/erpnext/demo/user/fixed_asset.py b/erpnext/demo/user/fixed_asset.py index dc094e1c91..ec0e4c818b 100644 --- a/erpnext/demo/user/fixed_asset.py +++ b/erpnext/demo/user/fixed_asset.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import frappe from frappe.utils.make_random import get_random + from erpnext.assets.doctype.asset.asset import make_sales_invoice from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries, scrap_asset diff --git a/erpnext/demo/user/hr.py b/erpnext/demo/user/hr.py index 0211bc8a90..17d5829f90 100644 --- a/erpnext/demo/user/hr.py +++ b/erpnext/demo/user/hr.py @@ -1,15 +1,23 @@ from __future__ import unicode_literals -import frappe, erpnext -import random + import datetime -from frappe.utils import random_string, add_days, get_last_day, getdate +import random + +import frappe +from frappe.utils import add_days, get_last_day, getdate, random_string +from frappe.utils.make_random import get_random + +import erpnext +from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry +from erpnext.hr.doctype.expense_claim.test_expense_claim import get_payable_account +from erpnext.hr.doctype.leave_application.leave_application import ( + AttendanceAlreadyMarkedError, + OverlapError, + get_leave_balance_on, +) from erpnext.projects.doctype.timesheet.test_timesheet import make_timesheet from erpnext.projects.doctype.timesheet.timesheet import make_salary_slip, make_sales_invoice -from frappe.utils.make_random import get_random -from erpnext.hr.doctype.expense_claim.test_expense_claim import get_payable_account -from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry -from erpnext.hr.doctype.leave_application.leave_application import (get_leave_balance_on, - OverlapError, AttendanceAlreadyMarkedError) + def work(): frappe.set_user(frappe.db.get_global('demo_hr_user')) diff --git a/erpnext/demo/user/manufacturing.py b/erpnext/demo/user/manufacturing.py index bece0798fa..6e01f0f5a6 100644 --- a/erpnext/demo/user/manufacturing.py +++ b/erpnext/demo/user/manufacturing.py @@ -3,21 +3,23 @@ from __future__ import unicode_literals -import frappe, random, erpnext +import random from datetime import timedelta -from frappe.utils.make_random import how_many + +import frappe from frappe.desk import query_report -from erpnext.manufacturing.doctype.workstation.workstation import WorkstationHolidayError +from frappe.utils.make_random import how_many + +import erpnext from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record + def work(): if random.random() < 0.3: return frappe.set_user(frappe.db.get_global('demo_manufacturing_user')) if not frappe.get_all('Sales Order'): return - from erpnext.projects.doctype.timesheet.timesheet import OverlapError - ppt = frappe.new_doc("Production Plan") ppt.company = erpnext.get_default_company() # ppt.use_multi_level_bom = 1 #refactored @@ -68,9 +70,12 @@ def work(): def make_stock_entry_from_pro(pro_id, purpose): from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry + from erpnext.stock.doctype.stock_entry.stock_entry import ( + DuplicateEntryForWorkOrderError, + IncorrectValuationRateError, + OperationsNotCompleteError, + ) from erpnext.stock.stock_ledger import NegativeStockError - from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, \ - DuplicateEntryForWorkOrderError, OperationsNotCompleteError try: st = frappe.get_doc(make_stock_entry(pro_id, purpose)) diff --git a/erpnext/demo/user/projects.py b/erpnext/demo/user/projects.py index 044e2967fd..b6b99de532 100644 --- a/erpnext/demo/user/projects.py +++ b/erpnext/demo/user/projects.py @@ -3,11 +3,14 @@ from __future__ import unicode_literals -import frappe, erpnext +import frappe from frappe.utils import flt from frappe.utils.make_random import get_random -from erpnext.projects.doctype.timesheet.test_timesheet import make_timesheet + +import erpnext from erpnext.demo.user.hr import make_sales_invoice_for_timesheet +from erpnext.projects.doctype.timesheet.test_timesheet import make_timesheet + def run_projects(current_date): frappe.set_user(frappe.db.get_global('demo_projects_user')) diff --git a/erpnext/demo/user/purchase.py b/erpnext/demo/user/purchase.py index b7aca79cf9..ec32f973da 100644 --- a/erpnext/demo/user/purchase.py +++ b/erpnext/demo/user/purchase.py @@ -3,15 +3,22 @@ from __future__ import unicode_literals -import frappe, random, json, erpnext -from frappe.utils.make_random import how_many, get_random +import json +import random + +import frappe from frappe.desk import query_report -from erpnext.setup.utils import get_exchange_rate +from frappe.utils.make_random import get_random, how_many + +import erpnext from erpnext.accounts.party import get_party_account_currency +from erpnext.buying.doctype.request_for_quotation.request_for_quotation import ( + make_supplier_quotation_from_rfq, +) from erpnext.exceptions import InvalidCurrency +from erpnext.setup.utils import get_exchange_rate from erpnext.stock.doctype.material_request.material_request import make_request_for_quotation -from erpnext.buying.doctype.request_for_quotation.request_for_quotation import \ - make_supplier_quotation_from_rfq + def work(): frappe.set_user(frappe.db.get_global('demo_purchase_user')) diff --git a/erpnext/demo/user/sales.py b/erpnext/demo/user/sales.py index 8d5ba28b79..95494ee324 100644 --- a/erpnext/demo/user/sales.py +++ b/erpnext/demo/user/sales.py @@ -3,12 +3,20 @@ from __future__ import unicode_literals -import frappe, random, erpnext +import random + +import frappe from frappe.utils import flt from frappe.utils.make_random import add_random_children, get_random -from erpnext.setup.utils import get_exchange_rate + +import erpnext +from erpnext.accounts.doctype.payment_request.payment_request import ( + make_payment_entry, + make_payment_request, +) from erpnext.accounts.party import get_party_account_currency -from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request, make_payment_entry +from erpnext.setup.utils import get_exchange_rate + def work(domain="Manufacturing"): frappe.set_user(frappe.db.get_global('demo_sales_user_2')) diff --git a/erpnext/demo/user/stock.py b/erpnext/demo/user/stock.py index d44da7d127..188fc13f24 100644 --- a/erpnext/demo/user/stock.py +++ b/erpnext/demo/user/stock.py @@ -3,13 +3,18 @@ from __future__ import print_function, unicode_literals -import frappe, random, erpnext +import random + +import frappe from frappe.desk import query_report -from erpnext.stock.stock_ledger import NegativeStockError -from erpnext.stock.doctype.serial_no.serial_no import SerialNoRequiredError, SerialNoQtyError + +import erpnext from erpnext.stock.doctype.batch.batch import UnableToSelectBatchError from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_return +from erpnext.stock.doctype.serial_no.serial_no import SerialNoQtyError, SerialNoRequiredError +from erpnext.stock.stock_ledger import NegativeStockError + def work(): frappe.set_user(frappe.db.get_global('demo_manufacturing_user')) @@ -66,8 +71,10 @@ def make_delivery_note(): def make_stock_reconciliation(): # random set some items as damaged - from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation \ - import OpeningEntryAccountError, EmptyStockReconciliationItemsError + from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( + EmptyStockReconciliationItemsError, + OpeningEntryAccountError, + ) if random.random() < 0.4: stock_reco = frappe.new_doc("Stock Reconciliation") @@ -88,8 +95,11 @@ def make_stock_reconciliation(): frappe.db.rollback() def submit_draft_stock_entries(): - from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, \ - DuplicateEntryForWorkOrderError, OperationsNotCompleteError + from erpnext.stock.doctype.stock_entry.stock_entry import ( + DuplicateEntryForWorkOrderError, + IncorrectValuationRateError, + OperationsNotCompleteError, + ) # try posting older drafts (if exists) frappe.db.commit() diff --git a/erpnext/education/__init__.py b/erpnext/education/__init__.py index c0589bb489..a3164b2597 100644 --- a/erpnext/education/__init__.py +++ b/erpnext/education/__init__.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe import _ + class StudentNotInGroupError(frappe.ValidationError): pass def validate_student_belongs_to_group(student, student_group): diff --git a/erpnext/education/api.py b/erpnext/education/api.py index 4493a3fef1..d2a8805c89 100644 --- a/erpnext/education/api.py +++ b/erpnext/education/api.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe import _ -from frappe.model.mapper import get_mapped_doc -from frappe.utils import flt, cstr, getdate from frappe.email.doctype.email_group.email_group import add_subscribers +from frappe.model.mapper import get_mapped_doc +from frappe.utils import cstr, flt, getdate + def get_course(program): '''Return list of courses for a particular program diff --git a/erpnext/education/doctype/academic_term/academic_term.py b/erpnext/education/doctype/academic_term/academic_term.py index fa7f2899dc..b8e22b68c6 100644 --- a/erpnext/education/doctype/academic_term/academic_term.py +++ b/erpnext/education/doctype/academic_term/academic_term.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate from frappe.model.document import Document +from frappe.utils import getdate + class AcademicTerm(Document): def autoname(self): diff --git a/erpnext/education/doctype/academic_term/academic_term_dashboard.py b/erpnext/education/doctype/academic_term/academic_term_dashboard.py index eb2f90742c..a1087b8fc4 100644 --- a/erpnext/education/doctype/academic_term/academic_term_dashboard.py +++ b/erpnext/education/doctype/academic_term/academic_term_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'academic_term', diff --git a/erpnext/education/doctype/academic_term/test_academic_term.py b/erpnext/education/doctype/academic_term/test_academic_term.py index 0964a56454..6329103870 100644 --- a/erpnext/education/doctype/academic_term/test_academic_term.py +++ b/erpnext/education/doctype/academic_term/test_academic_term.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Academic Term') diff --git a/erpnext/education/doctype/academic_year/academic_year.py b/erpnext/education/doctype/academic_year/academic_year.py index f2858a42d4..77b67d8a5d 100644 --- a/erpnext/education/doctype/academic_year/academic_year.py +++ b/erpnext/education/doctype/academic_year/academic_year.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ +from frappe import _ from frappe.model.document import Document + class AcademicYear(Document): def validate(self): #Check that start of academic year is earlier than end of academic year diff --git a/erpnext/education/doctype/academic_year/academic_year_dashboard.py b/erpnext/education/doctype/academic_year/academic_year_dashboard.py index d3734df803..49d68c3af2 100644 --- a/erpnext/education/doctype/academic_year/academic_year_dashboard.py +++ b/erpnext/education/doctype/academic_year/academic_year_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'academic_year', diff --git a/erpnext/education/doctype/academic_year/test_academic_year.py b/erpnext/education/doctype/academic_year/test_academic_year.py index 9da75a7214..31135c40f3 100644 --- a/erpnext/education/doctype/academic_year/test_academic_year.py +++ b/erpnext/education/doctype/academic_year/test_academic_year.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Academic Year') diff --git a/erpnext/education/doctype/article/article.py b/erpnext/education/doctype/article/article.py index b5cc5cbc7a..f3c77880fc 100644 --- a/erpnext/education/doctype/article/article.py +++ b/erpnext/education/doctype/article/article.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class Article(Document): def get_article(self): pass diff --git a/erpnext/education/doctype/article/test_article.py b/erpnext/education/doctype/article/test_article.py index 2fce07f82c..cda79ad457 100644 --- a/erpnext/education/doctype/article/test_article.py +++ b/erpnext/education/doctype/article/test_article.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestArticle(unittest.TestCase): pass diff --git a/erpnext/education/doctype/assessment_criteria/assessment_criteria.py b/erpnext/education/doctype/assessment_criteria/assessment_criteria.py index bfbf26cf6c..f8f04bf513 100644 --- a/erpnext/education/doctype/assessment_criteria/assessment_criteria.py +++ b/erpnext/education/doctype/assessment_criteria/assessment_criteria.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document diff --git a/erpnext/education/doctype/assessment_criteria/test_assessment_criteria.py b/erpnext/education/doctype/assessment_criteria/test_assessment_criteria.py index fc0d745110..1098d0369f 100644 --- a/erpnext/education/doctype/assessment_criteria/test_assessment_criteria.py +++ b/erpnext/education/doctype/assessment_criteria/test_assessment_criteria.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Assessment Criteria') diff --git a/erpnext/education/doctype/assessment_criteria_group/assessment_criteria_group.py b/erpnext/education/doctype/assessment_criteria_group/assessment_criteria_group.py index 75381e1d0b..e62c030552 100644 --- a/erpnext/education/doctype/assessment_criteria_group/assessment_criteria_group.py +++ b/erpnext/education/doctype/assessment_criteria_group/assessment_criteria_group.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssessmentCriteriaGroup(Document): pass diff --git a/erpnext/education/doctype/assessment_criteria_group/test_assessment_criteria_group.py b/erpnext/education/doctype/assessment_criteria_group/test_assessment_criteria_group.py index 5b293371bb..d65f1e78d1 100644 --- a/erpnext/education/doctype/assessment_criteria_group/test_assessment_criteria_group.py +++ b/erpnext/education/doctype/assessment_criteria_group/test_assessment_criteria_group.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Assessment Criteria Group') diff --git a/erpnext/education/doctype/assessment_group/assessment_group.py b/erpnext/education/doctype/assessment_group/assessment_group.py index 88acc124d3..3425109331 100644 --- a/erpnext/education/doctype/assessment_group/assessment_group.py +++ b/erpnext/education/doctype/assessment_group/assessment_group.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssessmentGroup(Document): pass diff --git a/erpnext/education/doctype/assessment_group/assessment_group_dashboard.py b/erpnext/education/doctype/assessment_group/assessment_group_dashboard.py index 1a23606a61..83438c0ed7 100644 --- a/erpnext/education/doctype/assessment_group/assessment_group_dashboard.py +++ b/erpnext/education/doctype/assessment_group/assessment_group_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'assessment_group', diff --git a/erpnext/education/doctype/assessment_group/test_assessment_group.py b/erpnext/education/doctype/assessment_group/test_assessment_group.py index 2fd98b6d02..822d65c9bb 100644 --- a/erpnext/education/doctype/assessment_group/test_assessment_group.py +++ b/erpnext/education/doctype/assessment_group/test_assessment_group.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Assessment Group') diff --git a/erpnext/education/doctype/assessment_plan/assessment_plan.py b/erpnext/education/doctype/assessment_plan/assessment_plan.py index 16136c19f7..2a58a313cd 100644 --- a/erpnext/education/doctype/assessment_plan/assessment_plan.py +++ b/erpnext/education/doctype/assessment_plan/assessment_plan.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + import frappe from frappe import _ +from frappe.model.document import Document + class AssessmentPlan(Document): def validate(self): diff --git a/erpnext/education/doctype/assessment_plan/assessment_plan_dashboard.py b/erpnext/education/doctype/assessment_plan/assessment_plan_dashboard.py index 8ac3faf6dd..672953852e 100644 --- a/erpnext/education/doctype/assessment_plan/assessment_plan_dashboard.py +++ b/erpnext/education/doctype/assessment_plan/assessment_plan_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'assessment_plan', diff --git a/erpnext/education/doctype/assessment_plan/test_assessment_plan.py b/erpnext/education/doctype/assessment_plan/test_assessment_plan.py index 2de4f23f5b..9a6b886035 100644 --- a/erpnext/education/doctype/assessment_plan/test_assessment_plan.py +++ b/erpnext/education/doctype/assessment_plan/test_assessment_plan.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Assessment Plan') diff --git a/erpnext/education/doctype/assessment_plan_criteria/assessment_plan_criteria.py b/erpnext/education/doctype/assessment_plan_criteria/assessment_plan_criteria.py index 53b477f700..795462d630 100644 --- a/erpnext/education/doctype/assessment_plan_criteria/assessment_plan_criteria.py +++ b/erpnext/education/doctype/assessment_plan_criteria/assessment_plan_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssessmentPlanCriteria(Document): pass diff --git a/erpnext/education/doctype/assessment_result/assessment_result.py b/erpnext/education/doctype/assessment_result/assessment_result.py index 7dfe0cf6c2..01f483f8b0 100644 --- a/erpnext/education/doctype/assessment_result/assessment_result.py +++ b/erpnext/education/doctype/assessment_result/assessment_result.py @@ -3,14 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt from frappe.model.document import Document -from erpnext.education.api import get_grade -from erpnext.education.api import get_assessment_details +from frappe.utils import flt from frappe.utils.csvutils import getlink + import erpnext.education +from erpnext.education.api import get_assessment_details, get_grade + class AssessmentResult(Document): def validate(self): diff --git a/erpnext/education/doctype/assessment_result/assessment_result_dashboard.py b/erpnext/education/doctype/assessment_result/assessment_result_dashboard.py index 2526076d30..f9e2008ebc 100644 --- a/erpnext/education/doctype/assessment_result/assessment_result_dashboard.py +++ b/erpnext/education/doctype/assessment_result/assessment_result_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'reports': [ diff --git a/erpnext/education/doctype/assessment_result/test_assessment_result.py b/erpnext/education/doctype/assessment_result/test_assessment_result.py index adce57769d..fa0ad1f692 100644 --- a/erpnext/education/doctype/assessment_result/test_assessment_result.py +++ b/erpnext/education/doctype/assessment_result/test_assessment_result.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + from erpnext.education.api import get_grade # test_records = frappe.get_test_records('Assessment Result') diff --git a/erpnext/education/doctype/assessment_result_detail/assessment_result_detail.py b/erpnext/education/doctype/assessment_result_detail/assessment_result_detail.py index d051593159..234dff044f 100644 --- a/erpnext/education/doctype/assessment_result_detail/assessment_result_detail.py +++ b/erpnext/education/doctype/assessment_result_detail/assessment_result_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssessmentResultDetail(Document): pass diff --git a/erpnext/education/doctype/assessment_result_tool/assessment_result_tool.py b/erpnext/education/doctype/assessment_result_tool/assessment_result_tool.py index a0d286ccbe..83b4f5634e 100644 --- a/erpnext/education/doctype/assessment_result_tool/assessment_result_tool.py +++ b/erpnext/education/doctype/assessment_result_tool/assessment_result_tool.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class AssessmentResultTool(Document): pass diff --git a/erpnext/education/doctype/assessment_result_tool/test_assessment_result_tool.py b/erpnext/education/doctype/assessment_result_tool/test_assessment_result_tool.py index f784ccb256..bcc57220e7 100644 --- a/erpnext/education/doctype/assessment_result_tool/test_assessment_result_tool.py +++ b/erpnext/education/doctype/assessment_result_tool/test_assessment_result_tool.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestAssessmentResultTool(unittest.TestCase): pass diff --git a/erpnext/education/doctype/content_activity/content_activity.py b/erpnext/education/doctype/content_activity/content_activity.py index 2ae7a5c94c..076e2d37c0 100644 --- a/erpnext/education/doctype/content_activity/content_activity.py +++ b/erpnext/education/doctype/content_activity/content_activity.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ContentActivity(Document): pass diff --git a/erpnext/education/doctype/content_question/content_question.py b/erpnext/education/doctype/content_question/content_question.py index b239d211a3..9c2491697d 100644 --- a/erpnext/education/doctype/content_question/content_question.py +++ b/erpnext/education/doctype/content_question/content_question.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ContentQuestion(Document): pass diff --git a/erpnext/education/doctype/content_question/test_content_question.py b/erpnext/education/doctype/content_question/test_content_question.py index 268b9be2e7..f6bd49bb80 100644 --- a/erpnext/education/doctype/content_question/test_content_question.py +++ b/erpnext/education/doctype/content_question/test_content_question.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestContentQuestion(unittest.TestCase): pass diff --git a/erpnext/education/doctype/course/course.py b/erpnext/education/doctype/course/course.py index 92f92ed9f3..9cc373a5fe 100644 --- a/erpnext/education/doctype/course/course.py +++ b/erpnext/education/doctype/course/course.py @@ -3,10 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json -from frappe.model.document import Document + +import frappe from frappe import _ +from frappe.model.document import Document + class Course(Document): def validate(self): diff --git a/erpnext/education/doctype/course/course_dashboard.py b/erpnext/education/doctype/course/course_dashboard.py index 8de91b1c09..8eca2a1350 100644 --- a/erpnext/education/doctype/course/course_dashboard.py +++ b/erpnext/education/doctype/course/course_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'course', diff --git a/erpnext/education/doctype/course/test_course.py b/erpnext/education/doctype/course/test_course.py index 4667ac45a2..dd43ef447c 100644 --- a/erpnext/education/doctype/course/test_course.py +++ b/erpnext/education/doctype/course/test_course.py @@ -2,11 +2,12 @@ # Copyright (c) 2015, Frappe Technologies and Contributors # See license.txt from __future__ import unicode_literals -from erpnext.education.doctype.topic.test_topic import make_topic -from erpnext.education.doctype.topic.test_topic import make_topic_and_linked_content + +import unittest import frappe -import unittest + +from erpnext.education.doctype.topic.test_topic import make_topic, make_topic_and_linked_content # test_records = frappe.get_test_records('Course') diff --git a/erpnext/education/doctype/course_activity/course_activity.py b/erpnext/education/doctype/course_activity/course_activity.py index 3aa1ea0c5b..61b51a05a1 100644 --- a/erpnext/education/doctype/course_activity/course_activity.py +++ b/erpnext/education/doctype/course_activity/course_activity.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class CourseActivity(Document): def validate(self): self.check_if_enrolled() diff --git a/erpnext/education/doctype/course_activity/test_course_activity.py b/erpnext/education/doctype/course_activity/test_course_activity.py index 5269a6b71a..778cefecab 100644 --- a/erpnext/education/doctype/course_activity/test_course_activity.py +++ b/erpnext/education/doctype/course_activity/test_course_activity.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestCourseActivity(unittest.TestCase): pass diff --git a/erpnext/education/doctype/course_assessment_criteria/course_assessment_criteria.py b/erpnext/education/doctype/course_assessment_criteria/course_assessment_criteria.py index ade2a390a2..df384c5314 100644 --- a/erpnext/education/doctype/course_assessment_criteria/course_assessment_criteria.py +++ b/erpnext/education/doctype/course_assessment_criteria/course_assessment_criteria.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CourseAssessmentCriteria(Document): pass diff --git a/erpnext/education/doctype/course_content/course_content.py b/erpnext/education/doctype/course_content/course_content.py index 0d2f85ab50..1dd08adbb0 100644 --- a/erpnext/education/doctype/course_content/course_content.py +++ b/erpnext/education/doctype/course_content/course_content.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CourseContent(Document): pass diff --git a/erpnext/education/doctype/course_content/test_course_content.py b/erpnext/education/doctype/course_content/test_course_content.py index 9be4b1f5ce..320fa111f7 100644 --- a/erpnext/education/doctype/course_content/test_course_content.py +++ b/erpnext/education/doctype/course_content/test_course_content.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCourseContent(unittest.TestCase): pass diff --git a/erpnext/education/doctype/course_enrollment/course_enrollment.py b/erpnext/education/doctype/course_enrollment/course_enrollment.py index ce88990a70..21e74516f8 100644 --- a/erpnext/education/doctype/course_enrollment/course_enrollment.py +++ b/erpnext/education/doctype/course_enrollment/course_enrollment.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from functools import reduce + import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import get_link_to_form -from functools import reduce + class CourseEnrollment(Document): def validate(self): diff --git a/erpnext/education/doctype/course_enrollment/course_enrollment_dashboard.py b/erpnext/education/doctype/course_enrollment/course_enrollment_dashboard.py index 37972fe354..253325c586 100644 --- a/erpnext/education/doctype/course_enrollment/course_enrollment_dashboard.py +++ b/erpnext/education/doctype/course_enrollment/course_enrollment_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'enrollment', diff --git a/erpnext/education/doctype/course_enrollment/test_course_enrollment.py b/erpnext/education/doctype/course_enrollment/test_course_enrollment.py index 874bf121f4..e5feb1b7f7 100644 --- a/erpnext/education/doctype/course_enrollment/test_course_enrollment.py +++ b/erpnext/education/doctype/course_enrollment/test_course_enrollment.py @@ -3,14 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe -from erpnext.education.doctype.student.test_student import create_student -from erpnext.education.doctype.student.test_student import get_student -from erpnext.education.doctype.program.test_program import setup_program from erpnext.education.doctype.course_activity.test_course_activity import make_course_activity +from erpnext.education.doctype.program.test_program import setup_program +from erpnext.education.doctype.student.test_student import create_student, get_student + class TestCourseEnrollment(unittest.TestCase): def setUp(self): diff --git a/erpnext/education/doctype/course_schedule/course_schedule.py b/erpnext/education/doctype/course_schedule/course_schedule.py index 748728d104..38379e4c77 100644 --- a/erpnext/education/doctype/course_schedule/course_schedule.py +++ b/erpnext/education/doctype/course_schedule/course_schedule.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class CourseSchedule(Document): def validate(self): self.instructor_name = frappe.db.get_value("Instructor", self.instructor, "instructor_name") diff --git a/erpnext/education/doctype/course_schedule/course_schedule_dashboard.py b/erpnext/education/doctype/course_schedule/course_schedule_dashboard.py index 22ce7e1ec2..12a1735f4e 100644 --- a/erpnext/education/doctype/course_schedule/course_schedule_dashboard.py +++ b/erpnext/education/doctype/course_schedule/course_schedule_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'course_schedule', diff --git a/erpnext/education/doctype/course_schedule/test_course_schedule.py b/erpnext/education/doctype/course_schedule/test_course_schedule.py index 5bb4de8584..1b45ceda48 100644 --- a/erpnext/education/doctype/course_schedule/test_course_schedule.py +++ b/erpnext/education/doctype/course_schedule/test_course_schedule.py @@ -3,13 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe +import datetime import unittest -import datetime -from frappe.utils import today, to_timedelta +import frappe +from frappe.utils import to_timedelta, today + from erpnext.education.utils import OverlapError -from frappe.utils.make_random import get_random # test_records = frappe.get_test_records('Course Schedule') diff --git a/erpnext/education/doctype/course_scheduling_tool/course_scheduling_tool.py b/erpnext/education/doctype/course_scheduling_tool/course_scheduling_tool.py index 66587f055f..4f7ed36821 100644 --- a/erpnext/education/doctype/course_scheduling_tool/course_scheduling_tool.py +++ b/erpnext/education/doctype/course_scheduling_tool/course_scheduling_tool.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import calendar + +import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import add_days, getdate + from erpnext.education.utils import OverlapError diff --git a/erpnext/education/doctype/course_scheduling_tool/test_course_scheduling_tool.py b/erpnext/education/doctype/course_scheduling_tool/test_course_scheduling_tool.py index d921f8e0e1..27379b70e1 100644 --- a/erpnext/education/doctype/course_scheduling_tool/test_course_scheduling_tool.py +++ b/erpnext/education/doctype/course_scheduling_tool/test_course_scheduling_tool.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCourseSchedulingTool(unittest.TestCase): pass diff --git a/erpnext/education/doctype/course_topic/course_topic.py b/erpnext/education/doctype/course_topic/course_topic.py index 2364f17a49..11eb457b7c 100644 --- a/erpnext/education/doctype/course_topic/course_topic.py +++ b/erpnext/education/doctype/course_topic/course_topic.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CourseTopic(Document): pass diff --git a/erpnext/education/doctype/course_topic/test_course_topic.py b/erpnext/education/doctype/course_topic/test_course_topic.py index 7ce46d28ad..0bba7f5478 100644 --- a/erpnext/education/doctype/course_topic/test_course_topic.py +++ b/erpnext/education/doctype/course_topic/test_course_topic.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCourseTopic(unittest.TestCase): pass diff --git a/erpnext/education/doctype/education_settings/education_settings.py b/erpnext/education/doctype/education_settings/education_settings.py index 6c7e95c80d..71d13f733b 100644 --- a/erpnext/education/doctype/education_settings/education_settings.py +++ b/erpnext/education/doctype/education_settings/education_settings.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe import frappe.defaults from frappe.model.document import Document diff --git a/erpnext/education/doctype/education_settings/test_education_settings.py b/erpnext/education/doctype/education_settings/test_education_settings.py index 038fb6e57e..3611cbef21 100644 --- a/erpnext/education/doctype/education_settings/test_education_settings.py +++ b/erpnext/education/doctype/education_settings/test_education_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEducationSettings(unittest.TestCase): pass diff --git a/erpnext/education/doctype/fee_category/fee_category.py b/erpnext/education/doctype/fee_category/fee_category.py index 55234442ba..f531f8af6e 100644 --- a/erpnext/education/doctype/fee_category/fee_category.py +++ b/erpnext/education/doctype/fee_category/fee_category.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class FeeCategory(Document): pass diff --git a/erpnext/education/doctype/fee_category/test_fee_category.py b/erpnext/education/doctype/fee_category/test_fee_category.py index 48e7589a0c..875568416f 100644 --- a/erpnext/education/doctype/fee_category/test_fee_category.py +++ b/erpnext/education/doctype/fee_category/test_fee_category.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Fee Category') diff --git a/erpnext/education/doctype/fee_component/fee_component.py b/erpnext/education/doctype/fee_component/fee_component.py index 8694610927..dba39af594 100644 --- a/erpnext/education/doctype/fee_component/fee_component.py +++ b/erpnext/education/doctype/fee_component/fee_component.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class FeeComponent(Document): pass diff --git a/erpnext/education/doctype/fee_schedule/fee_schedule.py b/erpnext/education/doctype/fee_schedule/fee_schedule.py index 0b025c7534..6bf4667179 100644 --- a/erpnext/education/doctype/fee_schedule/fee_schedule.py +++ b/erpnext/education/doctype/fee_schedule/fee_schedule.py @@ -3,13 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe +from frappe import _ from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc -from frappe.utils import money_in_words -from frappe.utils import cint, flt, cstr +from frappe.utils import cint, cstr, flt, money_in_words from frappe.utils.background_jobs import enqueue -from frappe import _ + +import erpnext class FeeSchedule(Document): diff --git a/erpnext/education/doctype/fee_schedule/fee_schedule_dashboard.py b/erpnext/education/doctype/fee_schedule/fee_schedule_dashboard.py index 4d7da21ea1..34f870578f 100644 --- a/erpnext/education/doctype/fee_schedule/fee_schedule_dashboard.py +++ b/erpnext/education/doctype/fee_schedule/fee_schedule_dashboard.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'fee_schedule', diff --git a/erpnext/education/doctype/fee_schedule/test_fee_schedule.py b/erpnext/education/doctype/fee_schedule/test_fee_schedule.py index 44e0756d64..86b74de342 100644 --- a/erpnext/education/doctype/fee_schedule/test_fee_schedule.py +++ b/erpnext/education/doctype/fee_schedule/test_fee_schedule.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestFeeSchedule(unittest.TestCase): pass diff --git a/erpnext/education/doctype/fee_schedule_program/fee_schedule_program.py b/erpnext/education/doctype/fee_schedule_program/fee_schedule_program.py index 11d5697380..5e9ed61ba8 100644 --- a/erpnext/education/doctype/fee_schedule_program/fee_schedule_program.py +++ b/erpnext/education/doctype/fee_schedule_program/fee_schedule_program.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class FeeScheduleProgram(Document): pass diff --git a/erpnext/education/doctype/fee_schedule_student_group/fee_schedule_student_group.py b/erpnext/education/doctype/fee_schedule_student_group/fee_schedule_student_group.py index 776534d6fa..ba30a91516 100644 --- a/erpnext/education/doctype/fee_schedule_student_group/fee_schedule_student_group.py +++ b/erpnext/education/doctype/fee_schedule_student_group/fee_schedule_student_group.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class FeeScheduleStudentGroup(Document): pass diff --git a/erpnext/education/doctype/fee_structure/fee_structure.py b/erpnext/education/doctype/fee_structure/fee_structure.py index 9755717ee9..a6cc701921 100644 --- a/erpnext/education/doctype/fee_structure/fee_structure.py +++ b/erpnext/education/doctype/fee_structure/fee_structure.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc diff --git a/erpnext/education/doctype/fee_structure/fee_structure_dashboard.py b/erpnext/education/doctype/fee_structure/fee_structure_dashboard.py index fdf7df7aa2..c053b4ea4b 100644 --- a/erpnext/education/doctype/fee_structure/fee_structure_dashboard.py +++ b/erpnext/education/doctype/fee_structure/fee_structure_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'fee_structure', diff --git a/erpnext/education/doctype/fee_structure/test_fee_structure.py b/erpnext/education/doctype/fee_structure/test_fee_structure.py index 785ae4e7d3..1311f13997 100644 --- a/erpnext/education/doctype/fee_structure/test_fee_structure.py +++ b/erpnext/education/doctype/fee_structure/test_fee_structure.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Fee Structure') diff --git a/erpnext/education/doctype/fees/fees.py b/erpnext/education/doctype/fees/fees.py index 7e86704904..a5dc0dca31 100644 --- a/erpnext/education/doctype/fees/fees.py +++ b/erpnext/education/doctype/fees/fees.py @@ -3,14 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document -import frappe, erpnext + +import frappe from frappe import _ from frappe.utils import money_in_words -from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request from frappe.utils.csvutils import getlink -from erpnext.controllers.accounts_controller import AccountsController + +import erpnext +from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request from erpnext.accounts.general_ledger import make_reverse_gl_entries +from erpnext.controllers.accounts_controller import AccountsController class Fees(AccountsController): diff --git a/erpnext/education/doctype/fees/test_fees.py b/erpnext/education/doctype/fees/test_fees.py index c6bb704b41..fbf7a571fe 100644 --- a/erpnext/education/doctype/fees/test_fees.py +++ b/erpnext/education/doctype/fees/test_fees.py @@ -3,10 +3,12 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import nowdate from frappe.utils.make_random import get_random + from erpnext.education.doctype.program.test_program import make_program_and_linked_courses test_dependencies = ['Company'] diff --git a/erpnext/education/doctype/grading_scale/grading_scale.py b/erpnext/education/doctype/grading_scale/grading_scale.py index 0e73297161..ed75f31d84 100644 --- a/erpnext/education/doctype/grading_scale/grading_scale.py +++ b/erpnext/education/doctype/grading_scale/grading_scale.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cint from frappe.model.document import Document +from frappe.utils import cint + class GradingScale(Document): def validate(self): diff --git a/erpnext/education/doctype/grading_scale/grading_scale_dashboard.py b/erpnext/education/doctype/grading_scale/grading_scale_dashboard.py index 2a3f13b156..268871a04e 100644 --- a/erpnext/education/doctype/grading_scale/grading_scale_dashboard.py +++ b/erpnext/education/doctype/grading_scale/grading_scale_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'grading_scale', diff --git a/erpnext/education/doctype/grading_scale/test_grading_scale.py b/erpnext/education/doctype/grading_scale/test_grading_scale.py index 5364d7c887..e5d83c20c1 100644 --- a/erpnext/education/doctype/grading_scale/test_grading_scale.py +++ b/erpnext/education/doctype/grading_scale/test_grading_scale.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Grading Scale') diff --git a/erpnext/education/doctype/grading_scale_interval/grading_scale_interval.py b/erpnext/education/doctype/grading_scale_interval/grading_scale_interval.py index 41ac5ffd5c..6e55aac40b 100644 --- a/erpnext/education/doctype/grading_scale_interval/grading_scale_interval.py +++ b/erpnext/education/doctype/grading_scale_interval/grading_scale_interval.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class GradingScaleInterval(Document): pass diff --git a/erpnext/education/doctype/guardian/guardian.py b/erpnext/education/doctype/guardian/guardian.py index e82cc546af..f79e131034 100644 --- a/erpnext/education/doctype/guardian/guardian.py +++ b/erpnext/education/doctype/guardian/guardian.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.utils.csvutils import getlink + class Guardian(Document): def __setup__(self): self.onload() diff --git a/erpnext/education/doctype/guardian/test_guardian.py b/erpnext/education/doctype/guardian/test_guardian.py index 61420f6cec..446e261221 100644 --- a/erpnext/education/doctype/guardian/test_guardian.py +++ b/erpnext/education/doctype/guardian/test_guardian.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Guardian') diff --git a/erpnext/education/doctype/guardian_interest/guardian_interest.py b/erpnext/education/doctype/guardian_interest/guardian_interest.py index f5c4cf1d49..4a3040f060 100644 --- a/erpnext/education/doctype/guardian_interest/guardian_interest.py +++ b/erpnext/education/doctype/guardian_interest/guardian_interest.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class GuardianInterest(Document): pass diff --git a/erpnext/education/doctype/guardian_student/guardian_student.py b/erpnext/education/doctype/guardian_student/guardian_student.py index bf6f5c1373..62867d8908 100644 --- a/erpnext/education/doctype/guardian_student/guardian_student.py +++ b/erpnext/education/doctype/guardian_student/guardian_student.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class GuardianStudent(Document): pass diff --git a/erpnext/education/doctype/instructor/instructor.py b/erpnext/education/doctype/instructor/instructor.py index b1bfcbb2f1..92fb8b04b9 100644 --- a/erpnext/education/doctype/instructor/instructor.py +++ b/erpnext/education/doctype/instructor/instructor.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.model.naming import set_name_by_naming_series + class Instructor(Document): def autoname(self): naming_method = frappe.db.get_value("Education Settings", None, "instructor_created_by") diff --git a/erpnext/education/doctype/instructor/instructor_dashboard.py b/erpnext/education/doctype/instructor/instructor_dashboard.py index c19c85947d..bb08a54903 100644 --- a/erpnext/education/doctype/instructor/instructor_dashboard.py +++ b/erpnext/education/doctype/instructor/instructor_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/education/doctype/instructor/test_instructor.py b/erpnext/education/doctype/instructor/test_instructor.py index 4061422a74..b698a20e11 100644 --- a/erpnext/education/doctype/instructor/test_instructor.py +++ b/erpnext/education/doctype/instructor/test_instructor.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Instructor') diff --git a/erpnext/education/doctype/instructor_log/instructor_log.py b/erpnext/education/doctype/instructor_log/instructor_log.py index 75217b22f6..68ab7a639e 100644 --- a/erpnext/education/doctype/instructor_log/instructor_log.py +++ b/erpnext/education/doctype/instructor_log/instructor_log.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class InstructorLog(Document): pass diff --git a/erpnext/education/doctype/options/options.py b/erpnext/education/doctype/options/options.py index a11d77afb2..a064384129 100644 --- a/erpnext/education/doctype/options/options.py +++ b/erpnext/education/doctype/options/options.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class Options(Document): pass diff --git a/erpnext/education/doctype/program/program.py b/erpnext/education/doctype/program/program.py index 9d886b7b9e..7de34cf30f 100644 --- a/erpnext/education/doctype/program/program.py +++ b/erpnext/education/doctype/program/program.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class Program(Document): def get_course_list(self): diff --git a/erpnext/education/doctype/program/program_dashboard.py b/erpnext/education/doctype/program/program_dashboard.py index 6c503e1bf1..66960767f1 100644 --- a/erpnext/education/doctype/program/program_dashboard.py +++ b/erpnext/education/doctype/program/program_dashboard.py @@ -1,5 +1,6 @@ from frappe import _ + def get_data(): return { 'fieldname': 'program', diff --git a/erpnext/education/doctype/program/test_program.py b/erpnext/education/doctype/program/test_program.py index 204f2961e7..3222aa6004 100644 --- a/erpnext/education/doctype/program/test_program.py +++ b/erpnext/education/doctype/program/test_program.py @@ -2,12 +2,13 @@ # Copyright (c) 2015, Frappe Technologies and Contributors # See license.txt from __future__ import unicode_literals -from erpnext.education.doctype.course.test_course import make_course -from erpnext.education.doctype.topic.test_topic import make_topic_and_linked_content -from erpnext.education.doctype.course.test_course import make_course_and_linked_topic + +import unittest import frappe -import unittest + +from erpnext.education.doctype.course.test_course import make_course, make_course_and_linked_topic +from erpnext.education.doctype.topic.test_topic import make_topic_and_linked_content test_data = { "program_name": "_Test Program", diff --git a/erpnext/education/doctype/program_course/program_course.py b/erpnext/education/doctype/program_course/program_course.py index 684b6fade7..d5236a109a 100644 --- a/erpnext/education/doctype/program_course/program_course.py +++ b/erpnext/education/doctype/program_course/program_course.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProgramCourse(Document): pass diff --git a/erpnext/education/doctype/program_enrollment/program_enrollment.py b/erpnext/education/doctype/program_enrollment/program_enrollment.py index dd4aa576ac..79c5a14d8c 100644 --- a/erpnext/education/doctype/program_enrollment/program_enrollment.py +++ b/erpnext/education/doctype/program_enrollment/program_enrollment.py @@ -3,12 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ +from frappe import _, msgprint +from frappe.desk.reportview import get_match_cond from frappe.model.document import Document -from frappe.desk.reportview import get_match_cond, get_filters_cond from frappe.utils import comma_and, get_link_to_form, getdate -import erpnext.www.lms as lms + class ProgramEnrollment(Document): def validate(self): diff --git a/erpnext/education/doctype/program_enrollment/program_enrollment_dashboard.py b/erpnext/education/doctype/program_enrollment/program_enrollment_dashboard.py index c47f866689..f829276dac 100644 --- a/erpnext/education/doctype/program_enrollment/program_enrollment_dashboard.py +++ b/erpnext/education/doctype/program_enrollment/program_enrollment_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'program_enrollment', diff --git a/erpnext/education/doctype/program_enrollment/test_program_enrollment.py b/erpnext/education/doctype/program_enrollment/test_program_enrollment.py index 497ee288aa..65de38af2d 100644 --- a/erpnext/education/doctype/program_enrollment/test_program_enrollment.py +++ b/erpnext/education/doctype/program_enrollment/test_program_enrollment.py @@ -3,13 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.education.doctype.student.test_student import create_student -from erpnext.education.doctype.student.test_student import get_student +import frappe + from erpnext.education.doctype.program.test_program import make_program_and_linked_courses -from erpnext.education.doctype.course_activity.test_course_activity import make_course_activity +from erpnext.education.doctype.student.test_student import create_student, get_student + class TestProgramEnrollment(unittest.TestCase): diff --git a/erpnext/education/doctype/program_enrollment_course/program_enrollment_course.py b/erpnext/education/doctype/program_enrollment_course/program_enrollment_course.py index e1f564eff0..5c0706dbce 100644 --- a/erpnext/education/doctype/program_enrollment_course/program_enrollment_course.py +++ b/erpnext/education/doctype/program_enrollment_course/program_enrollment_course.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProgramEnrollmentCourse(Document): pass diff --git a/erpnext/education/doctype/program_enrollment_fee/program_enrollment_fee.py b/erpnext/education/doctype/program_enrollment_fee/program_enrollment_fee.py index 03a311e164..53bae7c150 100644 --- a/erpnext/education/doctype/program_enrollment_fee/program_enrollment_fee.py +++ b/erpnext/education/doctype/program_enrollment_fee/program_enrollment_fee.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProgramEnrollmentFee(Document): pass diff --git a/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py b/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py index 5833b67f9b..69fa66558d 100644 --- a/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py +++ b/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from erpnext.education.api import enroll_student from frappe.utils import cint +from erpnext.education.api import enroll_student + + class ProgramEnrollmentTool(Document): def onload(self): academic_term_reqd = cint(frappe.db.get_single_value('Education Settings', 'academic_term_reqd')) diff --git a/erpnext/education/doctype/program_enrollment_tool/test_program_enrollment_tool.py b/erpnext/education/doctype/program_enrollment_tool/test_program_enrollment_tool.py index f22b3b1c8d..55734cbc94 100644 --- a/erpnext/education/doctype/program_enrollment_tool/test_program_enrollment_tool.py +++ b/erpnext/education/doctype/program_enrollment_tool/test_program_enrollment_tool.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestProgramEnrollmentTool(unittest.TestCase): pass diff --git a/erpnext/education/doctype/program_enrollment_tool_student/program_enrollment_tool_student.py b/erpnext/education/doctype/program_enrollment_tool_student/program_enrollment_tool_student.py index 38dc1c8437..67653458f5 100644 --- a/erpnext/education/doctype/program_enrollment_tool_student/program_enrollment_tool_student.py +++ b/erpnext/education/doctype/program_enrollment_tool_student/program_enrollment_tool_student.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProgramEnrollmentToolStudent(Document): pass diff --git a/erpnext/education/doctype/program_fee/program_fee.py b/erpnext/education/doctype/program_fee/program_fee.py index cadcc4eeb8..70105ee6be 100644 --- a/erpnext/education/doctype/program_fee/program_fee.py +++ b/erpnext/education/doctype/program_fee/program_fee.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProgramFee(Document): pass diff --git a/erpnext/education/doctype/question/question.py b/erpnext/education/doctype/question/question.py index fb3b50478c..e74aa93ad8 100644 --- a/erpnext/education/doctype/question/question.py +++ b/erpnext/education/doctype/question/question.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class Question(Document): def validate(self): diff --git a/erpnext/education/doctype/question/test_question.py b/erpnext/education/doctype/question/test_question.py index 552872e15f..1ce10c0cb8 100644 --- a/erpnext/education/doctype/question/test_question.py +++ b/erpnext/education/doctype/question/test_question.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQuestion(unittest.TestCase): pass diff --git a/erpnext/education/doctype/quiz/quiz.py b/erpnext/education/doctype/quiz/quiz.py index a128e1f342..474bea111b 100644 --- a/erpnext/education/doctype/quiz/quiz.py +++ b/erpnext/education/doctype/quiz/quiz.py @@ -3,11 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import json from frappe import _ from frappe.model.document import Document + class Quiz(Document): def validate(self): if self.passing_score > 100: diff --git a/erpnext/education/doctype/quiz/test_quiz.py b/erpnext/education/doctype/quiz/test_quiz.py index 344fd544ee..22eb23d4fd 100644 --- a/erpnext/education/doctype/quiz/test_quiz.py +++ b/erpnext/education/doctype/quiz/test_quiz.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQuiz(unittest.TestCase): pass diff --git a/erpnext/education/doctype/quiz_activity/quiz_activity.py b/erpnext/education/doctype/quiz_activity/quiz_activity.py index 24c7175397..0fc7603228 100644 --- a/erpnext/education/doctype/quiz_activity/quiz_activity.py +++ b/erpnext/education/doctype/quiz_activity/quiz_activity.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class QuizActivity(Document): pass diff --git a/erpnext/education/doctype/quiz_activity/test_quiz_activity.py b/erpnext/education/doctype/quiz_activity/test_quiz_activity.py index fb0425d809..44e3a3f92b 100644 --- a/erpnext/education/doctype/quiz_activity/test_quiz_activity.py +++ b/erpnext/education/doctype/quiz_activity/test_quiz_activity.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQuizActivity(unittest.TestCase): pass diff --git a/erpnext/education/doctype/quiz_question/quiz_question.py b/erpnext/education/doctype/quiz_question/quiz_question.py index 317e75b2cb..20cb9f7b38 100644 --- a/erpnext/education/doctype/quiz_question/quiz_question.py +++ b/erpnext/education/doctype/quiz_question/quiz_question.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class QuizQuestion(Document): pass diff --git a/erpnext/education/doctype/quiz_result/quiz_result.py b/erpnext/education/doctype/quiz_result/quiz_result.py index a4fd9f062f..059d294cff 100644 --- a/erpnext/education/doctype/quiz_result/quiz_result.py +++ b/erpnext/education/doctype/quiz_result/quiz_result.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class QuizResult(Document): pass diff --git a/erpnext/education/doctype/quiz_result/test_quiz_result.py b/erpnext/education/doctype/quiz_result/test_quiz_result.py index 86ee52d87d..08ac4811bc 100644 --- a/erpnext/education/doctype/quiz_result/test_quiz_result.py +++ b/erpnext/education/doctype/quiz_result/test_quiz_result.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQuizResult(unittest.TestCase): pass diff --git a/erpnext/education/doctype/room/room.py b/erpnext/education/doctype/room/room.py index f26e9c4b45..dc68a0dd0c 100644 --- a/erpnext/education/doctype/room/room.py +++ b/erpnext/education/doctype/room/room.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class Room(Document): pass diff --git a/erpnext/education/doctype/room/room_dashboard.py b/erpnext/education/doctype/room/room_dashboard.py index 7bcb97f709..6a43b6037f 100644 --- a/erpnext/education/doctype/room/room_dashboard.py +++ b/erpnext/education/doctype/room/room_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'room', diff --git a/erpnext/education/doctype/room/test_room.py b/erpnext/education/doctype/room/test_room.py index 33ffd9173e..5718d51d65 100644 --- a/erpnext/education/doctype/room/test_room.py +++ b/erpnext/education/doctype/room/test_room.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Room') diff --git a/erpnext/education/doctype/school_house/school_house.py b/erpnext/education/doctype/school_house/school_house.py index 8751e5c646..2f9c5f46a8 100644 --- a/erpnext/education/doctype/school_house/school_house.py +++ b/erpnext/education/doctype/school_house/school_house.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SchoolHouse(Document): pass diff --git a/erpnext/education/doctype/school_house/test_school_house.py b/erpnext/education/doctype/school_house/test_school_house.py index 5cf96d5daa..b58b7d49ce 100644 --- a/erpnext/education/doctype/school_house/test_school_house.py +++ b/erpnext/education/doctype/school_house/test_school_house.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestSchoolHouse(unittest.TestCase): pass diff --git a/erpnext/education/doctype/student/student.py b/erpnext/education/doctype/student/student.py index 6be9e7104b..ae498ba57d 100644 --- a/erpnext/education/doctype/student/student.py +++ b/erpnext/education/doctype/student/student.py @@ -3,12 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document -from frappe.utils import getdate,today from frappe import _ from frappe.desk.form.linked_with import get_linked_doctypes +from frappe.model.document import Document +from frappe.utils import getdate, today + from erpnext.education.utils import check_content_completion, check_quiz_completion + + class Student(Document): def validate(self): self.title = " ".join(filter(None, [self.first_name, self.middle_name, self.last_name])) diff --git a/erpnext/education/doctype/student/student_dashboard.py b/erpnext/education/doctype/student/student_dashboard.py index d2614628b1..efff2e6490 100644 --- a/erpnext/education/doctype/student/student_dashboard.py +++ b/erpnext/education/doctype/student/student_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/education/doctype/student/test_student.py b/erpnext/education/doctype/student/test_student.py index fcb2b5fb93..ec6abb56ef 100644 --- a/erpnext/education/doctype/student/test_student.py +++ b/erpnext/education/doctype/student/test_student.py @@ -2,12 +2,12 @@ # Copyright (c) 2015, Frappe Technologies and Contributors # See license.txt from __future__ import unicode_literals -from frappe.test_runner import make_test_records -from erpnext.education.doctype.program.test_program import make_program_and_linked_courses -from erpnext.education.doctype.course.test_course import make_course + +import unittest import frappe -import unittest + +from erpnext.education.doctype.program.test_program import make_program_and_linked_courses test_records = frappe.get_test_records('Student') class TestStudent(unittest.TestCase): diff --git a/erpnext/education/doctype/student_admission/student_admission.py b/erpnext/education/doctype/student_admission/student_admission.py index 0febb96aeb..67ef67b4aa 100644 --- a/erpnext/education/doctype/student_admission/student_admission.py +++ b/erpnext/education/doctype/student_admission/student_admission.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import nowdate diff --git a/erpnext/education/doctype/student_admission/test_student_admission.py b/erpnext/education/doctype/student_admission/test_student_admission.py index 748c7ae1b3..c9cfbca14a 100644 --- a/erpnext/education/doctype/student_admission/test_student_admission.py +++ b/erpnext/education/doctype/student_admission/test_student_admission.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Admission') diff --git a/erpnext/education/doctype/student_admission_program/student_admission_program.py b/erpnext/education/doctype/student_admission_program/student_admission_program.py index 406027ca2c..2377d2648d 100644 --- a/erpnext/education/doctype/student_admission_program/student_admission_program.py +++ b/erpnext/education/doctype/student_admission_program/student_admission_program.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class StudentAdmissionProgram(Document): pass diff --git a/erpnext/education/doctype/student_applicant/student_applicant.py b/erpnext/education/doctype/student_applicant/student_applicant.py index 193b6d3297..36a0757531 100644 --- a/erpnext/education/doctype/student_applicant/student_applicant.py +++ b/erpnext/education/doctype/student_applicant/student_applicant.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import print_function, unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import getdate, add_years, nowdate, date_diff +from frappe.utils import add_years, date_diff, getdate, nowdate + class StudentApplicant(Document): def autoname(self): diff --git a/erpnext/education/doctype/student_applicant/test_student_applicant.py b/erpnext/education/doctype/student_applicant/test_student_applicant.py index 9734a88b93..b7258a4ae1 100644 --- a/erpnext/education/doctype/student_applicant/test_student_applicant.py +++ b/erpnext/education/doctype/student_applicant/test_student_applicant.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Applicant') diff --git a/erpnext/education/doctype/student_attendance/student_attendance.py b/erpnext/education/doctype/student_attendance/student_attendance.py index 2e9e6cf8d6..3826afb049 100644 --- a/erpnext/education/doctype/student_attendance/student_attendance.py +++ b/erpnext/education/doctype/student_attendance/student_attendance.py @@ -3,14 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ -from frappe.utils import get_link_to_form, getdate, formatdate +from frappe.model.document import Document +from frappe.utils import formatdate, get_link_to_form, getdate + from erpnext import get_default_company from erpnext.education.api import get_student_group_students from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday + class StudentAttendance(Document): def validate(self): self.validate_mandatory() diff --git a/erpnext/education/doctype/student_attendance/student_attendance_dashboard.py b/erpnext/education/doctype/student_attendance/student_attendance_dashboard.py index e405b8aed9..489f64d680 100644 --- a/erpnext/education/doctype/student_attendance/student_attendance_dashboard.py +++ b/erpnext/education/doctype/student_attendance/student_attendance_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'reports': [ diff --git a/erpnext/education/doctype/student_attendance/test_student_attendance.py b/erpnext/education/doctype/student_attendance/test_student_attendance.py index 9f4153845b..d453aeda1c 100644 --- a/erpnext/education/doctype/student_attendance/test_student_attendance.py +++ b/erpnext/education/doctype/student_attendance/test_student_attendance.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Attendance') diff --git a/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py b/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py index 972973fbad..96767deb6d 100644 --- a/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py +++ b/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class StudentAttendanceTool(Document): pass diff --git a/erpnext/education/doctype/student_attendance_tool/test_student_attendance_tool.py b/erpnext/education/doctype/student_attendance_tool/test_student_attendance_tool.py index ffc42af474..a94a3f235d 100644 --- a/erpnext/education/doctype/student_attendance_tool/test_student_attendance_tool.py +++ b/erpnext/education/doctype/student_attendance_tool/test_student_attendance_tool.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestStudentAttendanceTool(unittest.TestCase): pass diff --git a/erpnext/education/doctype/student_batch_name/student_batch_name.py b/erpnext/education/doctype/student_batch_name/student_batch_name.py index e6d38ea254..ce507160e0 100644 --- a/erpnext/education/doctype/student_batch_name/student_batch_name.py +++ b/erpnext/education/doctype/student_batch_name/student_batch_name.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentBatchName(Document): pass diff --git a/erpnext/education/doctype/student_batch_name/test_student_batch_name.py b/erpnext/education/doctype/student_batch_name/test_student_batch_name.py index 09534f355c..75ebeb29b8 100644 --- a/erpnext/education/doctype/student_batch_name/test_student_batch_name.py +++ b/erpnext/education/doctype/student_batch_name/test_student_batch_name.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Batch Name') diff --git a/erpnext/education/doctype/student_category/student_category.py b/erpnext/education/doctype/student_category/student_category.py index bd3a835889..bb362d5834 100644 --- a/erpnext/education/doctype/student_category/student_category.py +++ b/erpnext/education/doctype/student_category/student_category.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentCategory(Document): pass diff --git a/erpnext/education/doctype/student_category/student_category_dashboard.py b/erpnext/education/doctype/student_category/student_category_dashboard.py index f31c34bd94..9238623788 100644 --- a/erpnext/education/doctype/student_category/student_category_dashboard.py +++ b/erpnext/education/doctype/student_category/student_category_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'student_category', diff --git a/erpnext/education/doctype/student_category/test_student_category.py b/erpnext/education/doctype/student_category/test_student_category.py index 756cab87eb..0893769045 100644 --- a/erpnext/education/doctype/student_category/test_student_category.py +++ b/erpnext/education/doctype/student_category/test_student_category.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Category') diff --git a/erpnext/education/doctype/student_group/student_group.py b/erpnext/education/doctype/student_group/student_group.py index 3d4572abf7..2347d31731 100644 --- a/erpnext/education/doctype/student_group/student_group.py +++ b/erpnext/education/doctype/student_group/student_group.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ -from erpnext.education.utils import validate_duplicate_student +from frappe.model.document import Document from frappe.utils import cint +from erpnext.education.utils import validate_duplicate_student + + class StudentGroup(Document): def validate(self): self.validate_mandatory_fields() diff --git a/erpnext/education/doctype/student_group/student_group_dashboard.py b/erpnext/education/doctype/student_group/student_group_dashboard.py index d37445f7b9..36329bd8d8 100644 --- a/erpnext/education/doctype/student_group/student_group_dashboard.py +++ b/erpnext/education/doctype/student_group/student_group_dashboard.py @@ -1,8 +1,10 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'student_group', diff --git a/erpnext/education/doctype/student_group/test_student_group.py b/erpnext/education/doctype/student_group/test_student_group.py index 8b9b47d9ce..06022511e5 100644 --- a/erpnext/education/doctype/student_group/test_student_group.py +++ b/erpnext/education/doctype/student_group/test_student_group.py @@ -3,10 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + import erpnext.education + def get_random_group(): doc = frappe.get_doc({ "doctype": "Student Group", diff --git a/erpnext/education/doctype/student_group_creation_tool/student_group_creation_tool.py b/erpnext/education/doctype/student_group_creation_tool/student_group_creation_tool.py index 28ff7d618c..2007f8aa7c 100644 --- a/erpnext/education/doctype/student_group_creation_tool/student_group_creation_tool.py +++ b/erpnext/education/doctype/student_group_creation_tool/student_group_creation_tool.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + from erpnext.education.doctype.student_group.student_group import get_students + class StudentGroupCreationTool(Document): @frappe.whitelist() def get_courses(self): diff --git a/erpnext/education/doctype/student_group_creation_tool/test_student_group_creation_tool.py b/erpnext/education/doctype/student_group_creation_tool/test_student_group_creation_tool.py index 9ca56588f2..432da09013 100644 --- a/erpnext/education/doctype/student_group_creation_tool/test_student_group_creation_tool.py +++ b/erpnext/education/doctype/student_group_creation_tool/test_student_group_creation_tool.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestStudentGroupCreationTool(unittest.TestCase): pass diff --git a/erpnext/education/doctype/student_group_creation_tool_course/student_group_creation_tool_course.py b/erpnext/education/doctype/student_group_creation_tool_course/student_group_creation_tool_course.py index b3411ea7c5..b9d1e0d7fe 100644 --- a/erpnext/education/doctype/student_group_creation_tool_course/student_group_creation_tool_course.py +++ b/erpnext/education/doctype/student_group_creation_tool_course/student_group_creation_tool_course.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentGroupCreationToolCourse(Document): pass diff --git a/erpnext/education/doctype/student_group_instructor/student_group_instructor.py b/erpnext/education/doctype/student_group_instructor/student_group_instructor.py index b6cc588b67..81a7ed25af 100644 --- a/erpnext/education/doctype/student_group_instructor/student_group_instructor.py +++ b/erpnext/education/doctype/student_group_instructor/student_group_instructor.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentGroupInstructor(Document): pass diff --git a/erpnext/education/doctype/student_group_student/student_group_student.py b/erpnext/education/doctype/student_group_student/student_group_student.py index 1fe4ea1dc3..7ee4caec5e 100644 --- a/erpnext/education/doctype/student_group_student/student_group_student.py +++ b/erpnext/education/doctype/student_group_student/student_group_student.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentGroupStudent(Document): pass diff --git a/erpnext/education/doctype/student_guardian/student_guardian.py b/erpnext/education/doctype/student_guardian/student_guardian.py index 04445bcc59..56d7df7d0a 100644 --- a/erpnext/education/doctype/student_guardian/student_guardian.py +++ b/erpnext/education/doctype/student_guardian/student_guardian.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentGuardian(Document): pass diff --git a/erpnext/education/doctype/student_language/student_language.py b/erpnext/education/doctype/student_language/student_language.py index be6d5debe4..6ec0b1fc6e 100644 --- a/erpnext/education/doctype/student_language/student_language.py +++ b/erpnext/education/doctype/student_language/student_language.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentLanguage(Document): pass diff --git a/erpnext/education/doctype/student_language/test_student_language.py b/erpnext/education/doctype/student_language/test_student_language.py index 592b94a4fc..1d7c003ae5 100644 --- a/erpnext/education/doctype/student_language/test_student_language.py +++ b/erpnext/education/doctype/student_language/test_student_language.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Language') diff --git a/erpnext/education/doctype/student_leave_application/student_leave_application.py b/erpnext/education/doctype/student_leave_application/student_leave_application.py index ef670124c3..50c14aae22 100644 --- a/erpnext/education/doctype/student_leave_application/student_leave_application.py +++ b/erpnext/education/doctype/student_leave_application/student_leave_application.py @@ -3,13 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from datetime import timedelta + import frappe from frappe import _ -from datetime import timedelta -from frappe.utils import get_link_to_form, getdate, date_diff, flt -from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday -from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list from frappe.model.document import Document +from frappe.utils import date_diff, flt, get_link_to_form, getdate + +from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list +from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday + class StudentLeaveApplication(Document): def validate(self): diff --git a/erpnext/education/doctype/student_leave_application/student_leave_application_dashboard.py b/erpnext/education/doctype/student_leave_application/student_leave_application_dashboard.py index 0ff6d1a76e..2674f5415d 100644 --- a/erpnext/education/doctype/student_leave_application/student_leave_application_dashboard.py +++ b/erpnext/education/doctype/student_leave_application/student_leave_application_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'leave_application', diff --git a/erpnext/education/doctype/student_leave_application/test_student_leave_application.py b/erpnext/education/doctype/student_leave_application/test_student_leave_application.py index 9cae257748..506dc738d8 100644 --- a/erpnext/education/doctype/student_leave_application/test_student_leave_application.py +++ b/erpnext/education/doctype/student_leave_application/test_student_leave_application.py @@ -3,12 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import getdate, add_days, add_months + +import frappe +from frappe.utils import add_days, add_months, getdate + from erpnext import get_default_company -from erpnext.education.doctype.student_group.test_student_group import get_random_group from erpnext.education.doctype.student.test_student import create_student +from erpnext.education.doctype.student_group.test_student_group import get_random_group + class TestStudentLeaveApplication(unittest.TestCase): def setUp(self): diff --git a/erpnext/education/doctype/student_log/student_log.py b/erpnext/education/doctype/student_log/student_log.py index 8b12886863..2ca49ca12d 100644 --- a/erpnext/education/doctype/student_log/student_log.py +++ b/erpnext/education/doctype/student_log/student_log.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentLog(Document): pass diff --git a/erpnext/education/doctype/student_log/test_student_log.py b/erpnext/education/doctype/student_log/test_student_log.py index 1fe191fe95..533191f3b4 100644 --- a/erpnext/education/doctype/student_log/test_student_log.py +++ b/erpnext/education/doctype/student_log/test_student_log.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Student Log') diff --git a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py index 17bc367826..1cf7921315 100644 --- a/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py +++ b/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py @@ -3,13 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json + +import json + +import frappe from frappe import _ from frappe.model.document import Document -from erpnext.education.api import get_grade from frappe.utils.pdf import get_pdf -from erpnext.education.report.course_wise_assessment_report.course_wise_assessment_report import get_formatted_result -from erpnext.education.report.course_wise_assessment_report.course_wise_assessment_report import get_child_assessment_groups + +from erpnext.education.report.course_wise_assessment_report.course_wise_assessment_report import ( + get_child_assessment_groups, + get_formatted_result, +) class StudentReportGenerationTool(Document): diff --git a/erpnext/education/doctype/student_report_generation_tool/test_student_report_generation_tool.py b/erpnext/education/doctype/student_report_generation_tool/test_student_report_generation_tool.py index 417816642e..f6227136d9 100644 --- a/erpnext/education/doctype/student_report_generation_tool/test_student_report_generation_tool.py +++ b/erpnext/education/doctype/student_report_generation_tool/test_student_report_generation_tool.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestStudentReportGenerationTool(unittest.TestCase): pass diff --git a/erpnext/education/doctype/student_sibling/student_sibling.py b/erpnext/education/doctype/student_sibling/student_sibling.py index 4adc3f35ba..b36cf59dbb 100644 --- a/erpnext/education/doctype/student_sibling/student_sibling.py +++ b/erpnext/education/doctype/student_sibling/student_sibling.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentSibling(Document): pass diff --git a/erpnext/education/doctype/student_siblings/student_siblings.py b/erpnext/education/doctype/student_siblings/student_siblings.py index 4e20d84ae7..412cf050c1 100644 --- a/erpnext/education/doctype/student_siblings/student_siblings.py +++ b/erpnext/education/doctype/student_siblings/student_siblings.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StudentSiblings(Document): pass diff --git a/erpnext/education/doctype/topic/test_topic.py b/erpnext/education/doctype/topic/test_topic.py index d03db1cb93..b6c6c7516f 100644 --- a/erpnext/education/doctype/topic/test_topic.py +++ b/erpnext/education/doctype/topic/test_topic.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestTopic(unittest.TestCase): def setUp(self): make_topic_and_linked_content("_Test Topic 1", [{"type":"Article", "name": "_Test Article 1"}]) diff --git a/erpnext/education/doctype/topic/topic.py b/erpnext/education/doctype/topic/topic.py index fb680d725b..1834b2e060 100644 --- a/erpnext/education/doctype/topic/topic.py +++ b/erpnext/education/doctype/topic/topic.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe import _ from frappe.model.document import Document + class Topic(Document): def get_contents(self): try: diff --git a/erpnext/education/doctype/topic_content/test_topic_content.py b/erpnext/education/doctype/topic_content/test_topic_content.py index cf304f60bc..6fdcbdae71 100644 --- a/erpnext/education/doctype/topic_content/test_topic_content.py +++ b/erpnext/education/doctype/topic_content/test_topic_content.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestTopicContent(unittest.TestCase): pass diff --git a/erpnext/education/doctype/topic_content/topic_content.py b/erpnext/education/doctype/topic_content/topic_content.py index 9b2c90bb4f..9339bbde5a 100644 --- a/erpnext/education/doctype/topic_content/topic_content.py +++ b/erpnext/education/doctype/topic_content/topic_content.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TopicContent(Document): pass diff --git a/erpnext/education/report/absent_student_report/absent_student_report.py b/erpnext/education/report/absent_student_report/absent_student_report.py index c3487ccaff..d5b66757fc 100644 --- a/erpnext/education/report/absent_student_report/absent_student_report.py +++ b/erpnext/education/report/absent_student_report/absent_student_report.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _, msgprint from frappe.utils import formatdate -from frappe import msgprint, _ + from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/education/report/assessment_plan_status/assessment_plan_status.py b/erpnext/education/report/assessment_plan_status/assessment_plan_status.py index 21184a637c..64ceb42731 100644 --- a/erpnext/education/report/assessment_plan_status/assessment_plan_status.py +++ b/erpnext/education/report/assessment_plan_status/assessment_plan_status.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from itertools import groupby + import frappe from frappe import _ -from itertools import groupby from frappe.utils import cint DOCSTATUS = { diff --git a/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py b/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py index 1043e5bd45..ad07ee1949 100644 --- a/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py +++ b/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from collections import OrderedDict, defaultdict + import frappe from frappe import _ -from frappe.utils import flt -from collections import defaultdict, OrderedDict + from erpnext.education.api import get_grade diff --git a/erpnext/education/report/final_assessment_grades/final_assessment_grades.py b/erpnext/education/report/final_assessment_grades/final_assessment_grades.py index e6e0ba2ebc..ae7f34b5e1 100644 --- a/erpnext/education/report/final_assessment_grades/final_assessment_grades.py +++ b/erpnext/education/report/final_assessment_grades/final_assessment_grades.py @@ -2,12 +2,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe import _ + from collections import defaultdict -from erpnext.education.report.course_wise_assessment_report.course_wise_assessment_report import get_formatted_result -from erpnext.education.report.course_wise_assessment_report.course_wise_assessment_report import get_chart_data +import frappe +from frappe import _ + +from erpnext.education.report.course_wise_assessment_report.course_wise_assessment_report import ( + get_chart_data, + get_formatted_result, +) def execute(filters=None): diff --git a/erpnext/education/report/program_wise_fee_collection/program_wise_fee_collection.py b/erpnext/education/report/program_wise_fee_collection/program_wise_fee_collection.py index c0ec0357cc..1717ed55ae 100644 --- a/erpnext/education/report/program_wise_fee_collection/program_wise_fee_collection.py +++ b/erpnext/education/report/program_wise_fee_collection/program_wise_fee_collection.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/education/report/student_and_guardian_contact_details/student_and_guardian_contact_details.py b/erpnext/education/report/student_and_guardian_contact_details/student_and_guardian_contact_details.py index 5bebd4385c..a21a93686e 100644 --- a/erpnext/education/report/student_and_guardian_contact_details/student_and_guardian_contact_details.py +++ b/erpnext/education/report/student_and_guardian_contact_details/student_and_guardian_contact_details.py @@ -2,6 +2,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ diff --git a/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py b/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py index e2576a0c71..b65350f1b2 100644 --- a/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py +++ b/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _, msgprint from frappe.utils import formatdate -from frappe import msgprint, _ + from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py b/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py index 04dc8c0e56..f6d9c5a012 100644 --- a/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py +++ b/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py @@ -2,14 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cstr, cint, getdate, get_first_day, get_last_day, date_diff, add_days -from frappe import msgprint, _ -from calendar import monthrange +from frappe import _ +from frappe.utils import add_days, cstr, date_diff, get_first_day, get_last_day, getdate + from erpnext.education.api import get_student_group_students from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list from erpnext.support.doctype.issue.issue import get_holidays + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/education/utils.py b/erpnext/education/utils.py index 7ce8212253..33394e1796 100644 --- a/erpnext/education/utils.py +++ b/erpnext/education/utils.py @@ -1,10 +1,12 @@ # -*- coding: utf-8 -*- # Copyright (c) 2015, Frappe Technologies and contributors -from __future__ import unicode_literals, division +from __future__ import division, unicode_literals + import frappe from frappe import _ + class OverlapError(frappe.ValidationError): pass def validate_overlap_for(doc, doctype, fieldname, value=None): diff --git a/erpnext/education/web_form/student_applicant/student_applicant.py b/erpnext/education/web_form/student_applicant/student_applicant.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/education/web_form/student_applicant/student_applicant.py +++ b/erpnext/education/web_form/student_applicant/student_applicant.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/erpnext_integrations/connectors/woocommerce_connection.py b/erpnext/erpnext_integrations/connectors/woocommerce_connection.py index a505ee09d2..192ec147e3 100644 --- a/erpnext/erpnext_integrations/connectors/woocommerce_connection.py +++ b/erpnext/erpnext_integrations/connectors/woocommerce_connection.py @@ -1,8 +1,15 @@ from __future__ import unicode_literals -import frappe, base64, hashlib, hmac, json -from frappe.utils import cstr + +import base64 +import hashlib +import hmac +import json + +import frappe from frappe import _ +from frappe.utils import cstr + def verify_request(): woocommerce_settings = frappe.get_doc("Woocommerce Settings") diff --git a/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py b/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py index aeb5352a22..5a4a57c2e2 100644 --- a/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py +++ b/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def pre_process(issue): project = frappe.db.get_value('Project', filters={'project_name': issue.milestone}) diff --git a/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py b/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py index 9d3f02eaaf..bab8031e02 100644 --- a/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py +++ b/erpnext/erpnext_integrations/data_migration_mapping/milestone_to_project/__init__.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def pre_process(milestone): return { 'title': milestone.title, diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_methods.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_methods.py index 148c1a6a16..a757a43b59 100644 --- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_methods.py +++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_methods.py @@ -3,10 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, time, dateutil, math, csv -from six import StringIO -import erpnext.erpnext_integrations.doctype.amazon_mws_settings.amazon_mws_api as mws + +import csv +import math +import time + +import dateutil +import frappe from frappe import _ +from six import StringIO + +import erpnext.erpnext_integrations.doctype.amazon_mws_settings.amazon_mws_api as mws + #Get and Create Products def get_products_details(): diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py index 7fd3b34fd5..652fa9200d 100755 --- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py +++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_api.py @@ -6,24 +6,24 @@ # Extended to include finances object from __future__ import unicode_literals -import urllib -from urllib.parse import quote +import base64 import hashlib import hmac -import base64 -import six -from erpnext.erpnext_integrations.doctype.amazon_mws_settings import xml_utils import re +from urllib.parse import quote + +from erpnext.erpnext_integrations.doctype.amazon_mws_settings import xml_utils + try: from xml.etree.ElementTree import ParseError as XMLError except ImportError: from xml.parsers.expat import ExpatError as XMLError -from time import strftime, gmtime + +from time import gmtime, strftime from requests import request from requests.exceptions import HTTPError - __all__ = [ 'Feeds', 'Inventory', diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_settings.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_settings.py index 9c59840149..ac59eb7925 100644 --- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_settings.py +++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/amazon_mws_settings.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document + import dateutil +import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields +from frappe.model.document import Document + from erpnext.erpnext_integrations.doctype.amazon_mws_settings.amazon_methods import get_orders + class AmazonMWSSettings(Document): def validate(self): if self.enable_amazon == 1: diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/test_amazon_mws_settings.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/test_amazon_mws_settings.py index 7b40014c52..844df59576 100644 --- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/test_amazon_mws_settings.py +++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/test_amazon_mws_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestAmazonMWSSettings(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py index 52ba0239bb..88ef64d307 100644 --- a/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py +++ b/erpnext/erpnext_integrations/doctype/amazon_mws_settings/xml_utils.py @@ -8,8 +8,8 @@ Borrowed from https://github.com/timotheus/ebaysdk-python """ from __future__ import unicode_literals -import xml.etree.ElementTree as ET import re +import xml.etree.ElementTree as ET class object_dict(dict): diff --git a/erpnext/erpnext_integrations/doctype/exotel_settings/exotel_settings.py b/erpnext/erpnext_integrations/doctype/exotel_settings/exotel_settings.py index bff928c1c9..f1314fc122 100644 --- a/erpnext/erpnext_integrations/doctype/exotel_settings/exotel_settings.py +++ b/erpnext/erpnext_integrations/doctype/exotel_settings/exotel_settings.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document -import requests + import frappe +import requests from frappe import _ +from frappe.model.document import Document + class ExotelSettings(Document): def validate(self): diff --git a/erpnext/erpnext_integrations/doctype/gocardless_mandate/gocardless_mandate.py b/erpnext/erpnext_integrations/doctype/gocardless_mandate/gocardless_mandate.py index 9c9df65314..b416ce8808 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_mandate/gocardless_mandate.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_mandate/gocardless_mandate.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class GoCardlessMandate(Document): pass diff --git a/erpnext/erpnext_integrations/doctype/gocardless_mandate/test_gocardless_mandate.py b/erpnext/erpnext_integrations/doctype/gocardless_mandate/test_gocardless_mandate.py index d77a352cdb..1b76ee5afc 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_mandate/test_gocardless_mandate.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_mandate/test_gocardless_mandate.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestGoCardlessMandate(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/gocardless_settings/__init__.py b/erpnext/erpnext_integrations/doctype/gocardless_settings/__init__.py index 25784a5620..d003edb9b0 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_settings/__init__.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_settings/__init__.py @@ -3,10 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -import json -import hmac + import hashlib +import hmac +import json + +import frappe + @frappe.whitelist(allow_guest=True) def webhooks(): diff --git a/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py b/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py index c65e3cefee..6484973106 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py @@ -3,13 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document import gocardless_pro from frappe import _ +from frappe.integrations.utils import create_payment_gateway, create_request_log +from frappe.model.document import Document +from frappe.utils import call_hook_method, cint, flt, get_url from six.moves.urllib.parse import urlencode -from frappe.utils import get_url, call_hook_method, flt, cint -from frappe.integrations.utils import create_request_log, create_payment_gateway + class GoCardlessSettings(Document): supported_currencies = ["EUR", "DKK", "GBP", "SEK"] diff --git a/erpnext/erpnext_integrations/doctype/gocardless_settings/test_gocardless_settings.py b/erpnext/erpnext_integrations/doctype/gocardless_settings/test_gocardless_settings.py index e377f3482c..b17aef5098 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_settings/test_gocardless_settings.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_settings/test_gocardless_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestGoCardlessSettings(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py index d1adeeee07..6d46a1c884 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py @@ -1,7 +1,9 @@ import base64 +import datetime + import requests from requests.auth import HTTPBasicAuth -import datetime + class MpesaConnector(): def __init__(self, env="sandbox", app_key=None, app_secret=None, sandbox_url="https://sandbox.safaricom.co.ke", diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_custom_fields.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_custom_fields.py index 139e2fb192..368139b872 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_custom_fields.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_custom_fields.py @@ -1,6 +1,7 @@ import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + def create_custom_pos_fields(): """Create custom fields corresponding to POS Settings and POS Invoice.""" pos_field = { diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py index de93357861..4ce85e58a6 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py @@ -4,17 +4,21 @@ from __future__ import unicode_literals -from json import loads, dumps + +from json import dumps, loads import frappe -from frappe.model.document import Document from frappe import _ -from frappe.utils import call_hook_method, fmt_money -from frappe.integrations.utils import create_request_log, create_payment_gateway -from frappe.utils import get_request_site_address -from erpnext.erpnext_integrations.utils import create_mode_of_payment +from frappe.integrations.utils import create_payment_gateway, create_request_log +from frappe.model.document import Document +from frappe.utils import call_hook_method, fmt_money, get_request_site_address + from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_connector import MpesaConnector -from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_custom_fields import create_custom_pos_fields +from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_custom_fields import ( + create_custom_pos_fields, +) +from erpnext.erpnext_integrations.utils import create_mode_of_payment + class MpesaSettings(Document): supported_currencies = ["KES"] @@ -39,7 +43,9 @@ class MpesaSettings(Document): for i, amount in enumerate(request_amounts): args.request_amount = amount if frappe.flags.in_test: - from erpnext.erpnext_integrations.doctype.mpesa_settings.test_mpesa_settings import get_payment_request_response_payload + from erpnext.erpnext_integrations.doctype.mpesa_settings.test_mpesa_settings import ( + get_payment_request_response_payload, + ) response = frappe._dict(get_payment_request_response_payload(amount)) else: response = frappe._dict(generate_stk_push(**args)) @@ -71,7 +77,9 @@ class MpesaSettings(Document): ) if frappe.flags.in_test: - from erpnext.erpnext_integrations.doctype.mpesa_settings.test_mpesa_settings import get_test_account_balance_response + from erpnext.erpnext_integrations.doctype.mpesa_settings.test_mpesa_settings import ( + get_test_account_balance_response, + ) response = frappe._dict(get_test_account_balance_response()) else: response = frappe._dict(get_account_balance(payload)) diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/test_mpesa_settings.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/test_mpesa_settings.py index d4cb6b982b..de81b82132 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/test_mpesa_settings.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/test_mpesa_settings.py @@ -2,13 +2,20 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -from json import dumps -import frappe + import unittest -from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_settings import process_balance_info, verify_transaction +from json import dumps + +import frappe + from erpnext.accounts.doctype.pos_invoice.test_pos_invoice import create_pos_invoice +from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_settings import ( + process_balance_info, + verify_transaction, +) from erpnext.erpnext_integrations.utils import create_mode_of_payment + class TestMpesaSettings(unittest.TestCase): def setUp(self): # create payment gateway in setup diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py index 73f5927df4..d4cf56af6b 100644 --- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py +++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py @@ -2,12 +2,11 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt +import frappe import plaid import requests -from plaid.errors import APIError, ItemError, InvalidRequestError - -import frappe from frappe import _ +from plaid.errors import APIError, InvalidRequestError, ItemError class PlaidConnector(): diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py index eddcb3401f..d2748c2faa 100644 --- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py +++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py @@ -5,15 +5,16 @@ import json import frappe -from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account -from erpnext.erpnext_integrations.doctype.plaid_settings.plaid_connector import PlaidConnector from frappe import _ from frappe.desk.doctype.tag.tag import add_tag from frappe.model.document import Document from frappe.utils import add_months, formatdate, getdate, today - from plaid.errors import ItemError +from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account +from erpnext.erpnext_integrations.doctype.plaid_settings.plaid_connector import PlaidConnector + + class PlaidSettings(Document): @staticmethod @frappe.whitelist() diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py b/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py index e2243eabde..32b5b8f265 100644 --- a/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py +++ b/erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py @@ -6,11 +6,16 @@ import json import unittest import frappe +from frappe.utils.response import json_handler + from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account from erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings import ( - add_account_subtype, add_account_type, add_bank_accounts, - new_bank_transaction, get_plaid_configuration) -from frappe.utils.response import json_handler + add_account_subtype, + add_account_type, + add_bank_accounts, + get_plaid_configuration, + new_bank_transaction, +) class TestPlaidSettings(unittest.TestCase): diff --git a/erpnext/erpnext_integrations/doctype/quickbooks_migrator/quickbooks_migrator.py b/erpnext/erpnext_integrations/doctype/quickbooks_migrator/quickbooks_migrator.py index 866ea66278..39b9bb232e 100644 --- a/erpnext/erpnext_integrations/doctype/quickbooks_migrator/quickbooks_migrator.py +++ b/erpnext/erpnext_integrations/doctype/quickbooks_migrator/quickbooks_migrator.py @@ -3,15 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import json +import traceback + import frappe +import requests from frappe import _ from frappe.model.document import Document from requests_oauthlib import OAuth2Session -import json -import requests -import traceback + from erpnext import encode_company_abbr + # QuickBooks requires a redirect URL, User will be redirect to this URL # This will be a GET request # Request parameters will have two parameters `code` and `realmId` @@ -253,8 +257,9 @@ class QuickBooksMigrator(Document): try: # Assumes that exactly one fiscal year has been created so far # Creates fiscal years till oldest ledger entry date is covered - from frappe.utils.data import add_years, getdate from itertools import chain + + from frappe.utils.data import add_years, getdate smallest_ledger_entry_date = getdate(min(entry["date"] for entry in chain(*self.gl_entries.values()) if entry["date"])) oldest_fiscal_year = frappe.get_all("Fiscal Year", fields=["year_start_date", "year_end_date"], diff --git a/erpnext/erpnext_integrations/doctype/quickbooks_migrator/test_quickbooks_migrator.py b/erpnext/erpnext_integrations/doctype/quickbooks_migrator/test_quickbooks_migrator.py index 6ce7c92ae8..5604b40d14 100644 --- a/erpnext/erpnext_integrations/doctype/quickbooks_migrator/test_quickbooks_migrator.py +++ b/erpnext/erpnext_integrations/doctype/quickbooks_migrator/test_quickbooks_migrator.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQuickBooksMigrator(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/tally_migration/tally_migration.py b/erpnext/erpnext_integrations/doctype/tally_migration/tally_migration.py index 77dba8beea..e1e7f62df4 100644 --- a/erpnext/erpnext_integrations/doctype/tally_migration/tally_migration.py +++ b/erpnext/erpnext_integrations/doctype/tally_migration/tally_migration.py @@ -11,19 +11,19 @@ import traceback import zipfile from decimal import Decimal -from bs4 import BeautifulSoup as bs - import frappe -from erpnext import encode_company_abbr -from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import create_charts -from erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer import unset_existing_data - +from bs4 import BeautifulSoup as bs from frappe import _ from frappe.custom.doctype.custom_field.custom_field import create_custom_field from frappe.model.document import Document -from frappe.model.naming import getseries, revert_series_if_last from frappe.utils.data import format_datetime +from erpnext import encode_company_abbr +from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import create_charts +from erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer import ( + unset_existing_data, +) + PRIMARY_ACCOUNT = "Primary" VOUCHER_CHUNK_SIZE = 500 diff --git a/erpnext/erpnext_integrations/doctype/tally_migration/test_tally_migration.py b/erpnext/erpnext_integrations/doctype/tally_migration/test_tally_migration.py index 9f67e55ca1..aae8f6d4db 100644 --- a/erpnext/erpnext_integrations/doctype/tally_migration/test_tally_migration.py +++ b/erpnext/erpnext_integrations/doctype/tally_migration/test_tally_migration.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestTallyMigration(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.py b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.py index 7f5f0f0e7a..9dd481747e 100644 --- a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.py +++ b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TaxJarSettings(Document): pass diff --git a/erpnext/erpnext_integrations/doctype/taxjar_settings/test_taxjar_settings.py b/erpnext/erpnext_integrations/doctype/taxjar_settings/test_taxjar_settings.py index 7cdfd00956..c871b05642 100644 --- a/erpnext/erpnext_integrations/doctype/taxjar_settings/test_taxjar_settings.py +++ b/erpnext/erpnext_integrations/doctype/taxjar_settings/test_taxjar_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestTaxJarSettings(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/woocommerce_settings/test_woocommerce_settings.py b/erpnext/erpnext_integrations/doctype/woocommerce_settings/test_woocommerce_settings.py index 458a23fae2..3d18458436 100644 --- a/erpnext/erpnext_integrations/doctype/woocommerce_settings/test_woocommerce_settings.py +++ b/erpnext/erpnext_integrations/doctype/woocommerce_settings/test_woocommerce_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestWoocommerceSettings(unittest.TestCase): pass diff --git a/erpnext/erpnext_integrations/doctype/woocommerce_settings/woocommerce_settings.py b/erpnext/erpnext_integrations/doctype/woocommerce_settings/woocommerce_settings.py index 45f261007f..2e15fab0d3 100644 --- a/erpnext/erpnext_integrations/doctype/woocommerce_settings/woocommerce_settings.py +++ b/erpnext/erpnext_integrations/doctype/woocommerce_settings/woocommerce_settings.py @@ -3,12 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils.nestedset import get_root_of -from frappe.model.document import Document -from six.moves.urllib.parse import urlparse from frappe.custom.doctype.custom_field.custom_field import create_custom_field +from frappe.model.document import Document +from frappe.utils.nestedset import get_root_of +from six.moves.urllib.parse import urlparse + class WoocommerceSettings(Document): def validate(self): diff --git a/erpnext/erpnext_integrations/stripe_integration.py b/erpnext/erpnext_integrations/stripe_integration.py index 820c740532..f0315eb7ee 100644 --- a/erpnext/erpnext_integrations/stripe_integration.py +++ b/erpnext/erpnext_integrations/stripe_integration.py @@ -2,9 +2,8 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt -import stripe - import frappe +import stripe from frappe import _ from frappe.integrations.utils import create_request_log diff --git a/erpnext/erpnext_integrations/taxjar_integration.py b/erpnext/erpnext_integrations/taxjar_integration.py index 574fe254c9..870a4ef54c 100644 --- a/erpnext/erpnext_integrations/taxjar_integration.py +++ b/erpnext/erpnext_integrations/taxjar_integration.py @@ -1,11 +1,13 @@ import traceback + import frappe import taxjar -from erpnext import get_default_company from frappe import _ from frappe.contacts.doctype.address.address import get_company_address from frappe.utils import cint +from erpnext import get_default_company + TAX_ACCOUNT_HEAD = frappe.db.get_single_value("TaxJar Settings", "tax_account_head") SHIP_ACCOUNT_HEAD = frappe.db.get_single_value("TaxJar Settings", "shipping_account_head") TAXJAR_CREATE_TRANSACTIONS = frappe.db.get_single_value("TaxJar Settings", "taxjar_create_transactions") diff --git a/erpnext/erpnext_integrations/utils.py b/erpnext/erpnext_integrations/utils.py index caafc0821e..bb5c0c2dd1 100644 --- a/erpnext/erpnext_integrations/utils.py +++ b/erpnext/erpnext_integrations/utils.py @@ -1,10 +1,16 @@ from __future__ import unicode_literals + +import base64 +import hashlib +import hmac + import frappe from frappe import _ -import base64, hashlib, hmac from six.moves.urllib.parse import urlparse + from erpnext import get_default_company + def validate_webhooks_request(doctype, hmac_key, secret_key='secret'): def innerfn(fn): settings = frappe.get_doc(doctype) diff --git a/erpnext/exceptions.py b/erpnext/exceptions.py index 04291cd5bd..9c6b13f803 100644 --- a/erpnext/exceptions.py +++ b/erpnext/exceptions.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + # accounts class PartyFrozen(frappe.ValidationError): pass class InvalidAccountCurrency(frappe.ValidationError): pass diff --git a/erpnext/healthcare/dashboard_chart_source/department_wise_patient_appointments/department_wise_patient_appointments.py b/erpnext/healthcare/dashboard_chart_source/department_wise_patient_appointments/department_wise_patient_appointments.py index eca7143e68..9c71ce86ac 100644 --- a/erpnext/healthcare/dashboard_chart_source/department_wise_patient_appointments/department_wise_patient_appointments.py +++ b/erpnext/healthcare/dashboard_chart_source/department_wise_patient_appointments/department_wise_patient_appointments.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.utils.dashboard import cache_source + @frappe.whitelist() @cache_source def get(chart_name = None, chart = None, no_cache = None, filters = None, from_date = None, diff --git a/erpnext/healthcare/doctype/antibiotic/antibiotic.py b/erpnext/healthcare/doctype/antibiotic/antibiotic.py index 8236c8ab73..6a4b7648b9 100644 --- a/erpnext/healthcare/doctype/antibiotic/antibiotic.py +++ b/erpnext/healthcare/doctype/antibiotic/antibiotic.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class Antibiotic(Document): pass diff --git a/erpnext/healthcare/doctype/antibiotic/test_antibiotic.py b/erpnext/healthcare/doctype/antibiotic/test_antibiotic.py index 6ac4f4f9fc..b6ec79f7ff 100644 --- a/erpnext/healthcare/doctype/antibiotic/test_antibiotic.py +++ b/erpnext/healthcare/doctype/antibiotic/test_antibiotic.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestAntibiotic(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/appointment_type/appointment_type.py b/erpnext/healthcare/doctype/appointment_type/appointment_type.py index 67a24f31e0..94d023f2c3 100644 --- a/erpnext/healthcare/doctype/appointment_type/appointment_type.py +++ b/erpnext/healthcare/doctype/appointment_type/appointment_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + import frappe +from frappe.model.document import Document + class AppointmentType(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/appointment_type/appointment_type_dashboard.py b/erpnext/healthcare/doctype/appointment_type/appointment_type_dashboard.py index 845e4466c1..b9c6edbb19 100644 --- a/erpnext/healthcare/doctype/appointment_type/appointment_type_dashboard.py +++ b/erpnext/healthcare/doctype/appointment_type/appointment_type_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'appointment_type', diff --git a/erpnext/healthcare/doctype/appointment_type_service_item/appointment_type_service_item.py b/erpnext/healthcare/doctype/appointment_type_service_item/appointment_type_service_item.py index b2e0e82bad..026d5d79fd 100644 --- a/erpnext/healthcare/doctype/appointment_type_service_item/appointment_type_service_item.py +++ b/erpnext/healthcare/doctype/appointment_type_service_item/appointment_type_service_item.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AppointmentTypeServiceItem(Document): pass diff --git a/erpnext/healthcare/doctype/body_part/body_part.py b/erpnext/healthcare/doctype/body_part/body_part.py index 300493a52b..77e8dd90a0 100644 --- a/erpnext/healthcare/doctype/body_part/body_part.py +++ b/erpnext/healthcare/doctype/body_part/body_part.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class BodyPart(Document): pass diff --git a/erpnext/healthcare/doctype/body_part/test_body_part.py b/erpnext/healthcare/doctype/body_part/test_body_part.py index cb3a61150e..a81ba179bf 100644 --- a/erpnext/healthcare/doctype/body_part/test_body_part.py +++ b/erpnext/healthcare/doctype/body_part/test_body_part.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestBodyPart(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/body_part_link/body_part_link.py b/erpnext/healthcare/doctype/body_part_link/body_part_link.py index 0371529769..07488f0117 100644 --- a/erpnext/healthcare/doctype/body_part_link/body_part_link.py +++ b/erpnext/healthcare/doctype/body_part_link/body_part_link.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class BodyPartLink(Document): pass diff --git a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py index cbf89ee3bd..df4c2ef905 100644 --- a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py +++ b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.py @@ -3,15 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import flt, nowdate, nowtime, cstr +from frappe.model.mapper import get_mapped_doc +from frappe.utils import flt, nowdate, nowtime + from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_account from erpnext.healthcare.doctype.lab_test.lab_test import create_sample_doc -from erpnext.stock.stock_ledger import get_previous_sle from erpnext.stock.get_item_details import get_item_details -from frappe.model.mapper import get_mapped_doc +from erpnext.stock.stock_ledger import get_previous_sle + class ClinicalProcedure(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py b/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py index 0326e5e9da..b5c3744204 100644 --- a/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py +++ b/erpnext/healthcare/doctype/clinical_procedure/test_clinical_procedure.py @@ -4,8 +4,13 @@ from __future__ import unicode_literals import unittest + import frappe -from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_healthcare_docs, create_clinical_procedure_template + +from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import ( + create_clinical_procedure_template, + create_healthcare_docs, +) test_dependencies = ['Item'] diff --git a/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py b/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py index d59e517597..16c5369cfe 100644 --- a/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py +++ b/erpnext/healthcare/doctype/clinical_procedure_item/clinical_procedure_item.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class ClinicalProcedureItem(Document): pass diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py index 58194f10a8..16e0969ae4 100644 --- a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py +++ b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json + +import json + +import frappe from frappe import _ from frappe.model.document import Document from frappe.model.rename_doc import rename_doc + class ClinicalProcedureTemplate(Document): def validate(self): self.enable_disable_item() diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template_dashboard.py b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template_dashboard.py index 9aab5216e1..a69899d3ea 100644 --- a/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template_dashboard.py +++ b/erpnext/healthcare/doctype/clinical_procedure_template/clinical_procedure_template_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'procedure_template', diff --git a/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py b/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py index 62e138b8ed..f754c76341 100644 --- a/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py +++ b/erpnext/healthcare/doctype/clinical_procedure_template/test_clinical_procedure_template.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, earthians and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestClinicalProcedureTemplate(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/codification_table/codification_table.py b/erpnext/healthcare/doctype/codification_table/codification_table.py index ae29c03bbb..232d92ca9d 100644 --- a/erpnext/healthcare/doctype/codification_table/codification_table.py +++ b/erpnext/healthcare/doctype/codification_table/codification_table.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class CodificationTable(Document): pass diff --git a/erpnext/healthcare/doctype/complaint/complaint.py b/erpnext/healthcare/doctype/complaint/complaint.py index 717f9dbb4a..20e00f6b02 100644 --- a/erpnext/healthcare/doctype/complaint/complaint.py +++ b/erpnext/healthcare/doctype/complaint/complaint.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class Complaint(Document): pass diff --git a/erpnext/healthcare/doctype/complaint/test_complaint.py b/erpnext/healthcare/doctype/complaint/test_complaint.py index 2b9273a967..d3e10692b0 100644 --- a/erpnext/healthcare/doctype/complaint/test_complaint.py +++ b/erpnext/healthcare/doctype/complaint/test_complaint.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestComplaint(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/descriptive_test_result/descriptive_test_result.py b/erpnext/healthcare/doctype/descriptive_test_result/descriptive_test_result.py index 7ccf6b57aa..c08604694a 100644 --- a/erpnext/healthcare/doctype/descriptive_test_result/descriptive_test_result.py +++ b/erpnext/healthcare/doctype/descriptive_test_result/descriptive_test_result.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DescriptiveTestResult(Document): pass diff --git a/erpnext/healthcare/doctype/descriptive_test_template/descriptive_test_template.py b/erpnext/healthcare/doctype/descriptive_test_template/descriptive_test_template.py index 281f32db7f..84184fbcca 100644 --- a/erpnext/healthcare/doctype/descriptive_test_template/descriptive_test_template.py +++ b/erpnext/healthcare/doctype/descriptive_test_template/descriptive_test_template.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DescriptiveTestTemplate(Document): pass diff --git a/erpnext/healthcare/doctype/diagnosis/diagnosis.py b/erpnext/healthcare/doctype/diagnosis/diagnosis.py index f56e79062a..05add1b530 100644 --- a/erpnext/healthcare/doctype/diagnosis/diagnosis.py +++ b/erpnext/healthcare/doctype/diagnosis/diagnosis.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class Diagnosis(Document): pass diff --git a/erpnext/healthcare/doctype/dosage_form/dosage_form.py b/erpnext/healthcare/doctype/dosage_form/dosage_form.py index 046af08094..6b2d88b61b 100644 --- a/erpnext/healthcare/doctype/dosage_form/dosage_form.py +++ b/erpnext/healthcare/doctype/dosage_form/dosage_form.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DosageForm(Document): pass diff --git a/erpnext/healthcare/doctype/dosage_form/test_dosage_form.py b/erpnext/healthcare/doctype/dosage_form/test_dosage_form.py index 81cfcf6f7d..0161b82ba3 100644 --- a/erpnext/healthcare/doctype/dosage_form/test_dosage_form.py +++ b/erpnext/healthcare/doctype/dosage_form/test_dosage_form.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestDosageForm(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/dosage_strength/dosage_strength.py b/erpnext/healthcare/doctype/dosage_strength/dosage_strength.py index e36a0160cf..9e74743a7c 100644 --- a/erpnext/healthcare/doctype/dosage_strength/dosage_strength.py +++ b/erpnext/healthcare/doctype/dosage_strength/dosage_strength.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DosageStrength(Document): pass diff --git a/erpnext/healthcare/doctype/drug_prescription/drug_prescription.py b/erpnext/healthcare/doctype/drug_prescription/drug_prescription.py index 68a2dc5d3c..744bdb03ef 100755 --- a/erpnext/healthcare/doctype/drug_prescription/drug_prescription.py +++ b/erpnext/healthcare/doctype/drug_prescription/drug_prescription.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class DrugPrescription(Document): def get_quantity(self): quantity = 0 diff --git a/erpnext/healthcare/doctype/exercise/exercise.py b/erpnext/healthcare/doctype/exercise/exercise.py index efd89997fe..5d2b1f1a96 100644 --- a/erpnext/healthcare/doctype/exercise/exercise.py +++ b/erpnext/healthcare/doctype/exercise/exercise.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class Exercise(Document): pass diff --git a/erpnext/healthcare/doctype/exercise_difficulty_level/exercise_difficulty_level.py b/erpnext/healthcare/doctype/exercise_difficulty_level/exercise_difficulty_level.py index 17e97b8960..bbb297275f 100644 --- a/erpnext/healthcare/doctype/exercise_difficulty_level/exercise_difficulty_level.py +++ b/erpnext/healthcare/doctype/exercise_difficulty_level/exercise_difficulty_level.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ExerciseDifficultyLevel(Document): pass diff --git a/erpnext/healthcare/doctype/exercise_difficulty_level/test_exercise_difficulty_level.py b/erpnext/healthcare/doctype/exercise_difficulty_level/test_exercise_difficulty_level.py index 80ef3a7de8..dcaea08aba 100644 --- a/erpnext/healthcare/doctype/exercise_difficulty_level/test_exercise_difficulty_level.py +++ b/erpnext/healthcare/doctype/exercise_difficulty_level/test_exercise_difficulty_level.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestExerciseDifficultyLevel(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/exercise_type/exercise_type.py b/erpnext/healthcare/doctype/exercise_type/exercise_type.py index ae44a2b77b..48eb6ba2d8 100644 --- a/erpnext/healthcare/doctype/exercise_type/exercise_type.py +++ b/erpnext/healthcare/doctype/exercise_type/exercise_type.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ExerciseType(Document): def autoname(self): if self.difficulty_level: diff --git a/erpnext/healthcare/doctype/exercise_type/test_exercise_type.py b/erpnext/healthcare/doctype/exercise_type/test_exercise_type.py index bf217e893a..583aea911a 100644 --- a/erpnext/healthcare/doctype/exercise_type/test_exercise_type.py +++ b/erpnext/healthcare/doctype/exercise_type/test_exercise_type.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestExerciseType(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/exercise_type_step/exercise_type_step.py b/erpnext/healthcare/doctype/exercise_type_step/exercise_type_step.py index 13d7e5732f..412ef3225e 100644 --- a/erpnext/healthcare/doctype/exercise_type_step/exercise_type_step.py +++ b/erpnext/healthcare/doctype/exercise_type_step/exercise_type_step.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ExerciseTypeStep(Document): pass diff --git a/erpnext/healthcare/doctype/fee_validity/fee_validity.py b/erpnext/healthcare/doctype/fee_validity/fee_validity.py index 59586e0c31..aa30becd33 100644 --- a/erpnext/healthcare/doctype/fee_validity/fee_validity.py +++ b/erpnext/healthcare/doctype/fee_validity/fee_validity.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document -import frappe -from frappe.utils import getdate + import datetime +import frappe +from frappe.model.document import Document +from frappe.utils import getdate + + class FeeValidity(Document): def validate(self): self.update_status() diff --git a/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py b/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py index 957f85211d..ce1947f5ba 100644 --- a/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py +++ b/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py @@ -3,11 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, add_days -from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_healthcare_docs, create_appointment, create_healthcare_service_items + +import frappe +from frappe.utils import add_days, nowdate + from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile +from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import ( + create_appointment, + create_healthcare_docs, + create_healthcare_service_items, +) test_dependencies = ["Company"] diff --git a/erpnext/healthcare/doctype/fee_validity_reference/fee_validity_reference.py b/erpnext/healthcare/doctype/fee_validity_reference/fee_validity_reference.py index c819280832..c03978aad1 100644 --- a/erpnext/healthcare/doctype/fee_validity_reference/fee_validity_reference.py +++ b/erpnext/healthcare/doctype/fee_validity_reference/fee_validity_reference.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class FeeValidityReference(Document): pass diff --git a/erpnext/healthcare/doctype/healthcare.py b/erpnext/healthcare/doctype/healthcare.py index 6fd2015fa2..f8e008e7d3 100644 --- a/erpnext/healthcare/doctype/healthcare.py +++ b/erpnext/healthcare/doctype/healthcare.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return [] diff --git a/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner.py b/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner.py index 5da5a0657c..4550e7ab4c 100644 --- a/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner.py +++ b/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner.py @@ -3,13 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ -from erpnext.accounts.party import validate_party_accounts -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address +from frappe.contacts.address_and_contact import ( + delete_contact_and_address, + load_address_and_contact, +) +from frappe.model.document import Document from frappe.model.naming import append_number_if_name_exists -from frappe.desk.reportview import build_match_conditions, get_filters_cond + +from erpnext.accounts.party import validate_party_accounts + class HealthcarePractitioner(Document): def onload(self): diff --git a/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py b/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py index bcee44430a..8e0292e97c 100644 --- a/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py +++ b/erpnext/healthcare/doctype/healthcare_practitioner/healthcare_practitioner_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/healthcare/doctype/healthcare_practitioner/test_healthcare_practitioner.py b/erpnext/healthcare/doctype/healthcare_practitioner/test_healthcare_practitioner.py index de8201b151..214bcd287a 100644 --- a/erpnext/healthcare/doctype/healthcare_practitioner/test_healthcare_practitioner.py +++ b/erpnext/healthcare/doctype/healthcare_practitioner/test_healthcare_practitioner.py @@ -2,7 +2,9 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestHealthcarePractitioner(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/healthcare_schedule_time_slot/healthcare_schedule_time_slot.py b/erpnext/healthcare/doctype/healthcare_schedule_time_slot/healthcare_schedule_time_slot.py index e58ea53c2c..721da24adc 100644 --- a/erpnext/healthcare/doctype/healthcare_schedule_time_slot/healthcare_schedule_time_slot.py +++ b/erpnext/healthcare/doctype/healthcare_schedule_time_slot/healthcare_schedule_time_slot.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class HealthcareScheduleTimeSlot(Document): pass diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py index 5e76ed7284..550b9fbff2 100644 --- a/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py +++ b/erpnext/healthcare/doctype/healthcare_service_unit/healthcare_service_unit.py @@ -4,11 +4,12 @@ from __future__ import unicode_literals -from frappe.utils.nestedset import NestedSet -from frappe.utils import cint, cstr +import json + import frappe from frappe import _ -import json +from frappe.utils import cint, cstr +from frappe.utils.nestedset import NestedSet class HealthcareServiceUnit(NestedSet): diff --git a/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py b/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py index bced2fe1f6..84197e56c5 100644 --- a/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py +++ b/erpnext/healthcare/doctype/healthcare_service_unit/test_healthcare_service_unit.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestHealthcareServiceUnit(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py index a318e50600..181cb529fc 100644 --- a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py +++ b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.model.rename_doc import rename_doc + class HealthcareServiceUnitType(Document): def validate(self): if self.allow_appointments and self.inpatient_occupancy: diff --git a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type_dashboard.py b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type_dashboard.py index 0ac548b3ff..7421ec3b89 100644 --- a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type_dashboard.py +++ b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'service_unit_type', diff --git a/erpnext/healthcare/doctype/healthcare_service_unit_type/test_healthcare_service_unit_type.py b/erpnext/healthcare/doctype/healthcare_service_unit_type/test_healthcare_service_unit_type.py index 3ee3377b00..839e1d6a4d 100644 --- a/erpnext/healthcare/doctype/healthcare_service_unit_type/test_healthcare_service_unit_type.py +++ b/erpnext/healthcare/doctype/healthcare_service_unit_type/test_healthcare_service_unit_type.py @@ -2,9 +2,12 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + import frappe + class TestHealthcareServiceUnitType(unittest.TestCase): def test_item_creation(self): unit_type = get_unit_type() diff --git a/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py b/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py index a16fceb74d..9ab8881766 100644 --- a/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py +++ b/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import json + import frappe from frappe import _ -from frappe.model.document import Document from frappe.core.doctype.sms_settings.sms_settings import send_sms -import json +from frappe.model.document import Document + class HealthcareSettings(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/healthcare_settings/test_healthcare_settings.py b/erpnext/healthcare/doctype/healthcare_settings/test_healthcare_settings.py index 1b620d5f5d..af2f2b4c4f 100644 --- a/erpnext/healthcare/doctype/healthcare_settings/test_healthcare_settings.py +++ b/erpnext/healthcare/doctype/healthcare_settings/test_healthcare_settings.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestHealthcareSettings(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py index 3a299eda26..b28e37a9c3 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py +++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import flt, get_link_to_form, getdate, nowtime -from erpnext.stock.utils import get_latest_stock_qty +from frappe.utils import flt, get_link_to_form + from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_account +from erpnext.stock.utils import get_latest_stock_qty + class InpatientMedicationEntry(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry_dashboard.py b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry_dashboard.py index a4bec45596..ca9364d66a 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry_dashboard.py +++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'against_imoe', diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/test_inpatient_medication_entry.py b/erpnext/healthcare/doctype/inpatient_medication_entry/test_inpatient_medication_entry.py index ff9e21252a..dde7739f7a 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry/test_inpatient_medication_entry.py +++ b/erpnext/healthcare/doctype/inpatient_medication_entry/test_inpatient_medication_entry.py @@ -3,14 +3,32 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import add_days, getdate, now_datetime -from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import create_patient, create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy -from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge -from erpnext.healthcare.doctype.inpatient_medication_order.test_inpatient_medication_order import create_ipmo, create_ipme -from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import get_drug_shortage_map, make_difference_stock_entry + from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_account +from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import ( + get_drug_shortage_map, + make_difference_stock_entry, +) +from erpnext.healthcare.doctype.inpatient_medication_order.test_inpatient_medication_order import ( + create_ipme, + create_ipmo, +) +from erpnext.healthcare.doctype.inpatient_record.inpatient_record import ( + admit_patient, + discharge_patient, + schedule_discharge, +) +from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import ( + create_inpatient, + create_patient, + get_healthcare_service_unit, + mark_invoiced_inpatient_occupancy, +) + class TestInpatientMedicationEntry(unittest.TestCase): def setUp(self): diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry_detail/inpatient_medication_entry_detail.py b/erpnext/healthcare/doctype/inpatient_medication_entry_detail/inpatient_medication_entry_detail.py index 644898d9ed..91734312d4 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_entry_detail/inpatient_medication_entry_detail.py +++ b/erpnext/healthcare/doctype/inpatient_medication_entry_detail/inpatient_medication_entry_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class InpatientMedicationEntryDetail(Document): pass diff --git a/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.py b/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.py index b379e98fe1..2e6d73208f 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.py +++ b/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import cstr + from erpnext.healthcare.doctype.patient_encounter.patient_encounter import get_prescription_dates + class InpatientMedicationOrder(Document): def validate(self): self.validate_inpatient() diff --git a/erpnext/healthcare/doctype/inpatient_medication_order/test_inpatient_medication_order.py b/erpnext/healthcare/doctype/inpatient_medication_order/test_inpatient_medication_order.py index 798976283b..477f8c9761 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_order/test_inpatient_medication_order.py +++ b/erpnext/healthcare/doctype/inpatient_medication_order/test_inpatient_medication_order.py @@ -3,11 +3,23 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import add_days, getdate, now_datetime -from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import create_patient, create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy -from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge + +from erpnext.healthcare.doctype.inpatient_record.inpatient_record import ( + admit_patient, + discharge_patient, + schedule_discharge, +) +from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import ( + create_inpatient, + create_patient, + get_healthcare_service_unit, + mark_invoiced_inpatient_occupancy, +) + class TestInpatientMedicationOrder(unittest.TestCase): def setUp(self): diff --git a/erpnext/healthcare/doctype/inpatient_medication_order_entry/inpatient_medication_order_entry.py b/erpnext/healthcare/doctype/inpatient_medication_order_entry/inpatient_medication_order_entry.py index ebfe366346..15800ad15f 100644 --- a/erpnext/healthcare/doctype/inpatient_medication_order_entry/inpatient_medication_order_entry.py +++ b/erpnext/healthcare/doctype/inpatient_medication_order_entry/inpatient_medication_order_entry.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class InpatientMedicationOrderEntry(Document): pass diff --git a/erpnext/healthcare/doctype/inpatient_occupancy/inpatient_occupancy.py b/erpnext/healthcare/doctype/inpatient_occupancy/inpatient_occupancy.py index 52de25b457..c8f3296d0d 100644 --- a/erpnext/healthcare/doctype/inpatient_occupancy/inpatient_occupancy.py +++ b/erpnext/healthcare/doctype/inpatient_occupancy/inpatient_occupancy.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class InpatientOccupancy(Document): pass diff --git a/erpnext/healthcare/doctype/inpatient_record/inpatient_record.py b/erpnext/healthcare/doctype/inpatient_record/inpatient_record.py index f4d1eaf2e3..2e26677db5 100644 --- a/erpnext/healthcare/doctype/inpatient_record/inpatient_record.py +++ b/erpnext/healthcare/doctype/inpatient_record/inpatient_record.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json + +import json + +import frappe from frappe import _ -from frappe.utils import today, now_datetime, getdate, get_datetime, get_link_to_form -from frappe.model.document import Document from frappe.desk.reportview import get_match_cond +from frappe.model.document import Document +from frappe.utils import get_datetime, get_link_to_form, getdate, now_datetime, today + class InpatientRecord(Document): def after_insert(self): diff --git a/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py b/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py index 92cc6103f4..0f4adce4ed 100644 --- a/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py +++ b/erpnext/healthcare/doctype/inpatient_record/inpatient_record_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'inpatient_record', diff --git a/erpnext/healthcare/doctype/inpatient_record/test_inpatient_record.py b/erpnext/healthcare/doctype/inpatient_record/test_inpatient_record.py index b4a961264f..58934e6a03 100644 --- a/erpnext/healthcare/doctype/inpatient_record/test_inpatient_record.py +++ b/erpnext/healthcare/doctype/inpatient_record/test_inpatient_record.py @@ -3,14 +3,21 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import now_datetime, today from frappe.utils.make_random import get_random -from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge + +from erpnext.healthcare.doctype.inpatient_record.inpatient_record import ( + admit_patient, + discharge_patient, + schedule_discharge, +) from erpnext.healthcare.doctype.lab_test.test_lab_test import create_patient_encounter from erpnext.healthcare.utils import get_encounters_to_invoice + class TestInpatientRecord(unittest.TestCase): def test_admit_and_discharge(self): frappe.db.sql("""delete from `tabInpatient Record`""") diff --git a/erpnext/healthcare/doctype/lab_prescription/lab_prescription.py b/erpnext/healthcare/doctype/lab_prescription/lab_prescription.py index b788a0db7e..a3f9aa24c4 100644 --- a/erpnext/healthcare/doctype/lab_prescription/lab_prescription.py +++ b/erpnext/healthcare/doctype/lab_prescription/lab_prescription.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class LabPrescription(Document): pass diff --git a/erpnext/healthcare/doctype/lab_test/lab_test.py b/erpnext/healthcare/doctype/lab_test/lab_test.py index 03e16f5575..7db497c24d 100644 --- a/erpnext/healthcare/doctype/lab_test/lab_test.py +++ b/erpnext/healthcare/doctype/lab_test/lab_test.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import getdate, cstr, get_link_to_form +from frappe.utils import get_link_to_form, getdate + class LabTest(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/lab_test/test_lab_test.py b/erpnext/healthcare/doctype/lab_test/test_lab_test.py index c9f0029ed8..da10bd86bd 100644 --- a/erpnext/healthcare/doctype/lab_test/test_lab_test.py +++ b/erpnext/healthcare/doctype/lab_test/test_lab_test.py @@ -2,13 +2,22 @@ # Copyright (c) 2015, ESS LLP and Contributors # See license.txt from __future__ import unicode_literals + import unittest + import frappe from frappe.utils import getdate, nowtime -from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_patient + +from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import ( + get_income_account, + get_receivable_account, +) from erpnext.healthcare.doctype.lab_test.lab_test import create_multiple -from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_receivable_account, get_income_account -from erpnext.healthcare.doctype.patient_medical_record.test_patient_medical_record import create_lab_test_template as create_blood_test_template +from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_patient +from erpnext.healthcare.doctype.patient_medical_record.test_patient_medical_record import ( + create_lab_test_template as create_blood_test_template, +) + class TestLabTest(unittest.TestCase): def test_lab_test_item(self): diff --git a/erpnext/healthcare/doctype/lab_test_group_template/lab_test_group_template.py b/erpnext/healthcare/doctype/lab_test_group_template/lab_test_group_template.py index 1e2cef4e18..2e3c4093c7 100644 --- a/erpnext/healthcare/doctype/lab_test_group_template/lab_test_group_template.py +++ b/erpnext/healthcare/doctype/lab_test_group_template/lab_test_group_template.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class LabTestGroupTemplate(Document): pass diff --git a/erpnext/healthcare/doctype/lab_test_sample/lab_test_sample.py b/erpnext/healthcare/doctype/lab_test_sample/lab_test_sample.py index 4c66b7276b..3a765fe243 100644 --- a/erpnext/healthcare/doctype/lab_test_sample/lab_test_sample.py +++ b/erpnext/healthcare/doctype/lab_test_sample/lab_test_sample.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class LabTestSample(Document): pass diff --git a/erpnext/healthcare/doctype/lab_test_sample/test_lab_test_sample.py b/erpnext/healthcare/doctype/lab_test_sample/test_lab_test_sample.py index 2bc56bd324..8896572d78 100644 --- a/erpnext/healthcare/doctype/lab_test_sample/test_lab_test_sample.py +++ b/erpnext/healthcare/doctype/lab_test_sample/test_lab_test_sample.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestLabTestSample(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py b/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py index 543dee27eb..c052693d04 100644 --- a/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py +++ b/erpnext/healthcare/doctype/lab_test_template/lab_test_template.py @@ -3,10 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json + +import json + +import frappe +from frappe import _ from frappe.model.document import Document from frappe.model.rename_doc import rename_doc -from frappe import _ + class LabTestTemplate(Document): def after_insert(self): diff --git a/erpnext/healthcare/doctype/lab_test_template/lab_test_template_dashboard.py b/erpnext/healthcare/doctype/lab_test_template/lab_test_template_dashboard.py index 94dfeea7a4..a4f9d4b714 100644 --- a/erpnext/healthcare/doctype/lab_test_template/lab_test_template_dashboard.py +++ b/erpnext/healthcare/doctype/lab_test_template/lab_test_template_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'template', diff --git a/erpnext/healthcare/doctype/lab_test_template/test_lab_test_template.py b/erpnext/healthcare/doctype/lab_test_template/test_lab_test_template.py index 4c9f55a839..8d8ac64750 100644 --- a/erpnext/healthcare/doctype/lab_test_template/test_lab_test_template.py +++ b/erpnext/healthcare/doctype/lab_test_template/test_lab_test_template.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, ESS and Contributors # See license.txt from __future__ import unicode_literals + import unittest # test_records = frappe.get_test_records('Lab Test Template') diff --git a/erpnext/healthcare/doctype/lab_test_uom/lab_test_uom.py b/erpnext/healthcare/doctype/lab_test_uom/lab_test_uom.py index 7ce8d2d1c8..ce11c0ffce 100644 --- a/erpnext/healthcare/doctype/lab_test_uom/lab_test_uom.py +++ b/erpnext/healthcare/doctype/lab_test_uom/lab_test_uom.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class LabTestUOM(Document): pass diff --git a/erpnext/healthcare/doctype/lab_test_uom/test_lab_test_uom.py b/erpnext/healthcare/doctype/lab_test_uom/test_lab_test_uom.py index 0b3f516497..9fe2de51a6 100644 --- a/erpnext/healthcare/doctype/lab_test_uom/test_lab_test_uom.py +++ b/erpnext/healthcare/doctype/lab_test_uom/test_lab_test_uom.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, ESS and Contributors # See license.txt from __future__ import unicode_literals + import unittest # test_records = frappe.get_test_records('Lab Test UOM') diff --git a/erpnext/healthcare/doctype/medical_code/medical_code.py b/erpnext/healthcare/doctype/medical_code/medical_code.py index 0deaac38ca..4ed3d31e90 100644 --- a/erpnext/healthcare/doctype/medical_code/medical_code.py +++ b/erpnext/healthcare/doctype/medical_code/medical_code.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class MedicalCode(Document): def autoname(self): self.name = self.medical_code_standard+" "+self.code diff --git a/erpnext/healthcare/doctype/medical_code/test_medical_code.py b/erpnext/healthcare/doctype/medical_code/test_medical_code.py index b1e0402790..7584b050a6 100644 --- a/erpnext/healthcare/doctype/medical_code/test_medical_code.py +++ b/erpnext/healthcare/doctype/medical_code/test_medical_code.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestMedicalCode(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/medical_code_standard/medical_code_standard.py b/erpnext/healthcare/doctype/medical_code_standard/medical_code_standard.py index 7b2731c1de..be0ea8922e 100644 --- a/erpnext/healthcare/doctype/medical_code_standard/medical_code_standard.py +++ b/erpnext/healthcare/doctype/medical_code_standard/medical_code_standard.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class MedicalCodeStandard(Document): pass diff --git a/erpnext/healthcare/doctype/medical_code_standard/test_medical_code_standard.py b/erpnext/healthcare/doctype/medical_code_standard/test_medical_code_standard.py index fde095d809..3b046e360f 100644 --- a/erpnext/healthcare/doctype/medical_code_standard/test_medical_code_standard.py +++ b/erpnext/healthcare/doctype/medical_code_standard/test_medical_code_standard.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestMedicalCodeStandard(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/medical_department/medical_department.py b/erpnext/healthcare/doctype/medical_department/medical_department.py index 0f2d4fc5f9..7be5a1ade3 100644 --- a/erpnext/healthcare/doctype/medical_department/medical_department.py +++ b/erpnext/healthcare/doctype/medical_department/medical_department.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class MedicalDepartment(Document): pass diff --git a/erpnext/healthcare/doctype/medical_department/test_medical_department.py b/erpnext/healthcare/doctype/medical_department/test_medical_department.py index 543750a7e7..6435a23e92 100644 --- a/erpnext/healthcare/doctype/medical_department/test_medical_department.py +++ b/erpnext/healthcare/doctype/medical_department/test_medical_department.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, ESS LLP and Contributors # See license.txt from __future__ import unicode_literals + import unittest # test_records = frappe.get_test_records('Medical Department') diff --git a/erpnext/healthcare/doctype/normal_test_result/normal_test_result.py b/erpnext/healthcare/doctype/normal_test_result/normal_test_result.py index 63abf0297e..e72f7269fc 100644 --- a/erpnext/healthcare/doctype/normal_test_result/normal_test_result.py +++ b/erpnext/healthcare/doctype/normal_test_result/normal_test_result.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class NormalTestResult(Document): pass diff --git a/erpnext/healthcare/doctype/normal_test_template/normal_test_template.py b/erpnext/healthcare/doctype/normal_test_template/normal_test_template.py index bc2c991484..9df48559cd 100644 --- a/erpnext/healthcare/doctype/normal_test_template/normal_test_template.py +++ b/erpnext/healthcare/doctype/normal_test_template/normal_test_template.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class NormalTestTemplate(Document): pass diff --git a/erpnext/healthcare/doctype/organism/organism.py b/erpnext/healthcare/doctype/organism/organism.py index 1ead762c2f..dfb9c0dd0d 100644 --- a/erpnext/healthcare/doctype/organism/organism.py +++ b/erpnext/healthcare/doctype/organism/organism.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class Organism(Document): pass diff --git a/erpnext/healthcare/doctype/organism/test_organism.py b/erpnext/healthcare/doctype/organism/test_organism.py index ecb96650e1..9d7ea0ba33 100644 --- a/erpnext/healthcare/doctype/organism/test_organism.py +++ b/erpnext/healthcare/doctype/organism/test_organism.py @@ -2,7 +2,9 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestOrganism(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/organism_test_item/organism_test_item.py b/erpnext/healthcare/doctype/organism_test_item/organism_test_item.py index 019a55b396..6bb8e8f4c0 100644 --- a/erpnext/healthcare/doctype/organism_test_item/organism_test_item.py +++ b/erpnext/healthcare/doctype/organism_test_item/organism_test_item.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class OrganismTestItem(Document): pass diff --git a/erpnext/healthcare/doctype/organism_test_result/organism_test_result.py b/erpnext/healthcare/doctype/organism_test_result/organism_test_result.py index 02393c2700..3428403e3c 100644 --- a/erpnext/healthcare/doctype/organism_test_result/organism_test_result.py +++ b/erpnext/healthcare/doctype/organism_test_result/organism_test_result.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class OrganismTestResult(Document): pass diff --git a/erpnext/healthcare/doctype/patient/patient.py b/erpnext/healthcare/doctype/patient/patient.py index 9dae1f68b0..970c000d00 100644 --- a/erpnext/healthcare/doctype/patient/patient.py +++ b/erpnext/healthcare/doctype/patient/patient.py @@ -3,18 +3,25 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import dateutil import frappe from frappe import _ -from frappe.model.document import Document -from frappe.utils import cint, cstr, getdate -import dateutil from frappe.contacts.address_and_contact import load_address_and_contact from frappe.contacts.doctype.contact.contact import get_default_contact +from frappe.model.document import Document from frappe.model.naming import set_name_by_naming_series +from frappe.utils import cint, cstr, getdate from frappe.utils.nestedset import get_root_of + from erpnext import get_default_currency -from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_receivable_account, get_income_account, send_registration_sms from erpnext.accounts.party import get_dashboard_info +from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import ( + get_income_account, + get_receivable_account, + send_registration_sms, +) + class Patient(Document): def onload(self): diff --git a/erpnext/healthcare/doctype/patient/patient_dashboard.py b/erpnext/healthcare/doctype/patient/patient_dashboard.py index 7f7cfa8e5b..a388b74f61 100644 --- a/erpnext/healthcare/doctype/patient/patient_dashboard.py +++ b/erpnext/healthcare/doctype/patient/patient_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/healthcare/doctype/patient/test_patient.py b/erpnext/healthcare/doctype/patient/test_patient.py index 9274b6f5e8..4b8c732646 100644 --- a/erpnext/healthcare/doctype/patient/test_patient.py +++ b/erpnext/healthcare/doctype/patient/test_patient.py @@ -4,9 +4,12 @@ from __future__ import unicode_literals import unittest + import frappe + from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_patient + class TestPatient(unittest.TestCase): def test_customer_created(self): frappe.db.sql("""delete from `tabPatient`""") diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py index f0d5af9341..dcbcda09d8 100755 --- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py +++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py @@ -3,17 +3,28 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document -import json -from frappe.utils import getdate, get_time, flt, get_link_to_form -from frappe.model.mapper import get_mapped_doc -from frappe import _ + import datetime +import json + +import frappe +from frappe import _ from frappe.core.doctype.sms_settings.sms_settings import send_sms +from frappe.model.document import Document +from frappe.model.mapper import get_mapped_doc +from frappe.utils import flt, get_link_to_form, get_time, getdate + +from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import ( + get_income_account, + get_receivable_account, +) +from erpnext.healthcare.utils import ( + check_fee_validity, + get_service_item_and_practitioner_charge, + manage_fee_validity, +) from erpnext.hr.doctype.employee.employee import is_holiday -from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_receivable_account, get_income_account -from erpnext.healthcare.utils import check_fee_validity, get_service_item_and_practitioner_charge, manage_fee_validity + class MaximumCapacityError(frappe.ValidationError): pass @@ -100,7 +111,9 @@ class PatientAppointment(Document): def validate_service_unit(self): if self.inpatient_record and self.service_unit: - from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import get_current_healthcare_service_unit + from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import ( + get_current_healthcare_service_unit, + ) is_inpatient_occupancy_unit = frappe.db.get_value('Healthcare Service Unit', self.service_unit, 'inpatient_occupancy') diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py index 085c4f6cbf..43c63c96e6 100644 --- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py +++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'appointment', diff --git a/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py index 36ef2d1623..8ca30b8cbe 100644 --- a/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py +++ b/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py @@ -2,12 +2,19 @@ # Copyright (c) 2015, ESS LLP and Contributors # See license.txt from __future__ import unicode_literals + import unittest + import frappe -from erpnext.healthcare.doctype.patient_appointment.patient_appointment import update_status, make_encounter, check_payment_fields_reqd, check_is_new_patient -from frappe.utils import nowdate, add_days, now_datetime -from frappe.utils.make_random import get_random +from frappe.utils import add_days, now_datetime, nowdate + from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile +from erpnext.healthcare.doctype.patient_appointment.patient_appointment import ( + check_is_new_patient, + check_payment_fields_reqd, + make_encounter, + update_status, +) class TestPatientAppointment(unittest.TestCase): @@ -131,9 +138,16 @@ class TestPatientAppointment(unittest.TestCase): self.assertEqual(frappe.db.get_value('Sales Invoice', sales_invoice_name, 'status'), 'Cancelled') def test_appointment_booking_for_admission_service_unit(self): - from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge - from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import \ - create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy + from erpnext.healthcare.doctype.inpatient_record.inpatient_record import ( + admit_patient, + discharge_patient, + schedule_discharge, + ) + from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import ( + create_inpatient, + get_healthcare_service_unit, + mark_invoiced_inpatient_occupancy, + ) frappe.db.sql("""delete from `tabInpatient Record`""") patient, practitioner = create_healthcare_docs() @@ -157,9 +171,16 @@ class TestPatientAppointment(unittest.TestCase): discharge_patient(ip_record1) def test_invalid_healthcare_service_unit_validation(self): - from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge - from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import \ - create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy + from erpnext.healthcare.doctype.inpatient_record.inpatient_record import ( + admit_patient, + discharge_patient, + schedule_discharge, + ) + from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import ( + create_inpatient, + get_healthcare_service_unit, + mark_invoiced_inpatient_occupancy, + ) frappe.db.sql("""delete from `tabInpatient Record`""") patient, practitioner = create_healthcare_docs() @@ -259,7 +280,10 @@ class TestPatientAppointment(unittest.TestCase): self.assertRaises(OverlapError, appointment.save) def test_service_unit_capacity(self): - from erpnext.healthcare.doctype.patient_appointment.patient_appointment import MaximumCapacityError, OverlapError + from erpnext.healthcare.doctype.patient_appointment.patient_appointment import ( + MaximumCapacityError, + OverlapError, + ) practitioner = create_practitioner() capacity = 3 overlap_service_unit_type = create_service_unit_type(id=10, allow_appointments=1, overlap_appointments=1) diff --git a/erpnext/healthcare/doctype/patient_assessment/patient_assessment.py b/erpnext/healthcare/doctype/patient_assessment/patient_assessment.py index 7bad20dffd..90cb30035d 100644 --- a/erpnext/healthcare/doctype/patient_assessment/patient_assessment.py +++ b/erpnext/healthcare/doctype/patient_assessment/patient_assessment.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc + class PatientAssessment(Document): def validate(self): self.set_total_score() diff --git a/erpnext/healthcare/doctype/patient_assessment/test_patient_assessment.py b/erpnext/healthcare/doctype/patient_assessment/test_patient_assessment.py index 3fda8550f6..0ffbd1f504 100644 --- a/erpnext/healthcare/doctype/patient_assessment/test_patient_assessment.py +++ b/erpnext/healthcare/doctype/patient_assessment/test_patient_assessment.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestPatientAssessment(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/patient_assessment_detail/patient_assessment_detail.py b/erpnext/healthcare/doctype/patient_assessment_detail/patient_assessment_detail.py index 0519599ac0..4da679b889 100644 --- a/erpnext/healthcare/doctype/patient_assessment_detail/patient_assessment_detail.py +++ b/erpnext/healthcare/doctype/patient_assessment_detail/patient_assessment_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientAssessmentDetail(Document): pass diff --git a/erpnext/healthcare/doctype/patient_assessment_parameter/patient_assessment_parameter.py b/erpnext/healthcare/doctype/patient_assessment_parameter/patient_assessment_parameter.py index b8e0074717..783c537848 100644 --- a/erpnext/healthcare/doctype/patient_assessment_parameter/patient_assessment_parameter.py +++ b/erpnext/healthcare/doctype/patient_assessment_parameter/patient_assessment_parameter.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientAssessmentParameter(Document): pass diff --git a/erpnext/healthcare/doctype/patient_assessment_parameter/test_patient_assessment_parameter.py b/erpnext/healthcare/doctype/patient_assessment_parameter/test_patient_assessment_parameter.py index e722f9905e..f06fffb1ef 100644 --- a/erpnext/healthcare/doctype/patient_assessment_parameter/test_patient_assessment_parameter.py +++ b/erpnext/healthcare/doctype/patient_assessment_parameter/test_patient_assessment_parameter.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestPatientAssessmentParameter(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/patient_assessment_sheet/patient_assessment_sheet.py b/erpnext/healthcare/doctype/patient_assessment_sheet/patient_assessment_sheet.py index 40da763013..4686e9e261 100644 --- a/erpnext/healthcare/doctype/patient_assessment_sheet/patient_assessment_sheet.py +++ b/erpnext/healthcare/doctype/patient_assessment_sheet/patient_assessment_sheet.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientAssessmentSheet(Document): pass diff --git a/erpnext/healthcare/doctype/patient_assessment_template/patient_assessment_template.py b/erpnext/healthcare/doctype/patient_assessment_template/patient_assessment_template.py index 083cab5d01..e0d8fca37f 100644 --- a/erpnext/healthcare/doctype/patient_assessment_template/patient_assessment_template.py +++ b/erpnext/healthcare/doctype/patient_assessment_template/patient_assessment_template.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientAssessmentTemplate(Document): pass diff --git a/erpnext/healthcare/doctype/patient_assessment_template/test_patient_assessment_template.py b/erpnext/healthcare/doctype/patient_assessment_template/test_patient_assessment_template.py index 86dbd5438c..7d639cb6af 100644 --- a/erpnext/healthcare/doctype/patient_assessment_template/test_patient_assessment_template.py +++ b/erpnext/healthcare/doctype/patient_assessment_template/test_patient_assessment_template.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestPatientAssessmentTemplate(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/patient_encounter/patient_encounter.py b/erpnext/healthcare/doctype/patient_encounter/patient_encounter.py index c935274070..2daa6c145c 100644 --- a/erpnext/healthcare/doctype/patient_encounter/patient_encounter.py +++ b/erpnext/healthcare/doctype/patient_encounter/patient_encounter.py @@ -3,11 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import cstr, getdate, add_days from frappe.model.mapper import get_mapped_doc +from frappe.utils import add_days, getdate class PatientEncounter(Document): diff --git a/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py b/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py index 39e54f5b35..3b64d98871 100644 --- a/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py +++ b/erpnext/healthcare/doctype/patient_encounter/patient_encounter_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'encounter', diff --git a/erpnext/healthcare/doctype/patient_encounter/test_patient_encounter.py b/erpnext/healthcare/doctype/patient_encounter/test_patient_encounter.py index 96976821a7..fa643a31d8 100644 --- a/erpnext/healthcare/doctype/patient_encounter/test_patient_encounter.py +++ b/erpnext/healthcare/doctype/patient_encounter/test_patient_encounter.py @@ -2,9 +2,11 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest import frappe + from erpnext.healthcare.doctype.patient_encounter.patient_encounter import PatientEncounter diff --git a/erpnext/healthcare/doctype/patient_encounter_diagnosis/patient_encounter_diagnosis.py b/erpnext/healthcare/doctype/patient_encounter_diagnosis/patient_encounter_diagnosis.py index 34b0cf8a58..e4d2069a50 100644 --- a/erpnext/healthcare/doctype/patient_encounter_diagnosis/patient_encounter_diagnosis.py +++ b/erpnext/healthcare/doctype/patient_encounter_diagnosis/patient_encounter_diagnosis.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientEncounterDiagnosis(Document): pass diff --git a/erpnext/healthcare/doctype/patient_encounter_symptom/patient_encounter_symptom.py b/erpnext/healthcare/doctype/patient_encounter_symptom/patient_encounter_symptom.py index bdb7bb218e..47f2a2be7e 100644 --- a/erpnext/healthcare/doctype/patient_encounter_symptom/patient_encounter_symptom.py +++ b/erpnext/healthcare/doctype/patient_encounter_symptom/patient_encounter_symptom.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientEncounterSymptom(Document): pass diff --git a/erpnext/healthcare/doctype/patient_history_custom_document_type/patient_history_custom_document_type.py b/erpnext/healthcare/doctype/patient_history_custom_document_type/patient_history_custom_document_type.py index f0a1f929f4..34e15dc46a 100644 --- a/erpnext/healthcare/doctype/patient_history_custom_document_type/patient_history_custom_document_type.py +++ b/erpnext/healthcare/doctype/patient_history_custom_document_type/patient_history_custom_document_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientHistoryCustomDocumentType(Document): pass diff --git a/erpnext/healthcare/doctype/patient_history_settings/patient_history_settings.py b/erpnext/healthcare/doctype/patient_history_settings/patient_history_settings.py index 9e0d3c3e27..b763591d3a 100644 --- a/erpnext/healthcare/doctype/patient_history_settings/patient_history_settings.py +++ b/erpnext/healthcare/doctype/patient_history_settings/patient_history_settings.py @@ -3,13 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe import _ -from frappe.utils import cstr, cint from frappe.model.document import Document +from frappe.utils import cint, cstr + from erpnext.healthcare.page.patient_history.patient_history import get_patient_history_doctypes + class PatientHistorySettings(Document): def validate(self): self.validate_submittable_doctypes() diff --git a/erpnext/healthcare/doctype/patient_history_settings/test_patient_history_settings.py b/erpnext/healthcare/doctype/patient_history_settings/test_patient_history_settings.py index 9169ea642b..c37a2adc36 100644 --- a/erpnext/healthcare/doctype/patient_history_settings/test_patient_history_settings.py +++ b/erpnext/healthcare/doctype/patient_history_settings/test_patient_history_settings.py @@ -3,12 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest import json +import unittest + +import frappe from frappe.utils import getdate, strip_html + from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_patient + class TestPatientHistorySettings(unittest.TestCase): def setUp(self): dt = create_custom_doctype() diff --git a/erpnext/healthcare/doctype/patient_history_standard_document_type/patient_history_standard_document_type.py b/erpnext/healthcare/doctype/patient_history_standard_document_type/patient_history_standard_document_type.py index 2d94911855..b7dd09bc10 100644 --- a/erpnext/healthcare/doctype/patient_history_standard_document_type/patient_history_standard_document_type.py +++ b/erpnext/healthcare/doctype/patient_history_standard_document_type/patient_history_standard_document_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PatientHistoryStandardDocumentType(Document): pass diff --git a/erpnext/healthcare/doctype/patient_medical_record/patient_medical_record.py b/erpnext/healthcare/doctype/patient_medical_record/patient_medical_record.py index 35e42bd6bd..ac2cffa3e8 100644 --- a/erpnext/healthcare/doctype/patient_medical_record/patient_medical_record.py +++ b/erpnext/healthcare/doctype/patient_medical_record/patient_medical_record.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class PatientMedicalRecord(Document): def after_insert(self): if self.reference_doctype == "Patient Medical Record" : diff --git a/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py b/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py index 5b7d8d62c8..099146c7ee 100644 --- a/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py +++ b/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py @@ -2,11 +2,20 @@ # Copyright (c) 2015, ESS LLP and Contributors # See license.txt from __future__ import unicode_literals + import unittest + import frappe from frappe.utils import nowdate -from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_encounter, create_healthcare_docs, create_appointment, create_medical_department + from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile +from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import ( + create_appointment, + create_encounter, + create_healthcare_docs, + create_medical_department, +) + class TestPatientMedicalRecord(unittest.TestCase): def setUp(self): diff --git a/erpnext/healthcare/doctype/patient_relation/patient_relation.py b/erpnext/healthcare/doctype/patient_relation/patient_relation.py index 150b96200d..17bc20940d 100644 --- a/erpnext/healthcare/doctype/patient_relation/patient_relation.py +++ b/erpnext/healthcare/doctype/patient_relation/patient_relation.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class PatientRelation(Document): pass diff --git a/erpnext/healthcare/doctype/practitioner_schedule/practitioner_schedule.py b/erpnext/healthcare/doctype/practitioner_schedule/practitioner_schedule.py index 8bd0937948..7fa31e5fb6 100644 --- a/erpnext/healthcare/doctype/practitioner_schedule/practitioner_schedule.py +++ b/erpnext/healthcare/doctype/practitioner_schedule/practitioner_schedule.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class PractitionerSchedule(Document): def autoname(self): self.name = self.schedule_name diff --git a/erpnext/healthcare/doctype/practitioner_schedule/test_practitioner_schedule.py b/erpnext/healthcare/doctype/practitioner_schedule/test_practitioner_schedule.py index 52638cb618..1ecaa47248 100644 --- a/erpnext/healthcare/doctype/practitioner_schedule/test_practitioner_schedule.py +++ b/erpnext/healthcare/doctype/practitioner_schedule/test_practitioner_schedule.py @@ -2,7 +2,9 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestPractitionerSchedule(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/practitioner_service_unit_schedule/practitioner_service_unit_schedule.py b/erpnext/healthcare/doctype/practitioner_service_unit_schedule/practitioner_service_unit_schedule.py index c18a4406ca..4eba1fbf6b 100644 --- a/erpnext/healthcare/doctype/practitioner_service_unit_schedule/practitioner_service_unit_schedule.py +++ b/erpnext/healthcare/doctype/practitioner_service_unit_schedule/practitioner_service_unit_schedule.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class PractitionerServiceUnitSchedule(Document): pass diff --git a/erpnext/healthcare/doctype/prescription_dosage/prescription_dosage.py b/erpnext/healthcare/doctype/prescription_dosage/prescription_dosage.py index dea263dca0..19f9b70bb6 100644 --- a/erpnext/healthcare/doctype/prescription_dosage/prescription_dosage.py +++ b/erpnext/healthcare/doctype/prescription_dosage/prescription_dosage.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class PrescriptionDosage(Document): pass diff --git a/erpnext/healthcare/doctype/prescription_dosage/test_prescription_dosage.py b/erpnext/healthcare/doctype/prescription_dosage/test_prescription_dosage.py index e61a418896..cabfd35e23 100644 --- a/erpnext/healthcare/doctype/prescription_dosage/test_prescription_dosage.py +++ b/erpnext/healthcare/doctype/prescription_dosage/test_prescription_dosage.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestPrescriptionDosage(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/prescription_duration/prescription_duration.py b/erpnext/healthcare/doctype/prescription_duration/prescription_duration.py index 96ddf8dafe..988276da74 100644 --- a/erpnext/healthcare/doctype/prescription_duration/prescription_duration.py +++ b/erpnext/healthcare/doctype/prescription_duration/prescription_duration.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document from frappe.utils import cstr + class PrescriptionDuration(Document): def autoname(self): self.name = " ".join(filter(None, diff --git a/erpnext/healthcare/doctype/prescription_duration/test_prescription_duration.py b/erpnext/healthcare/doctype/prescription_duration/test_prescription_duration.py index fe5524c5aa..197bb3e7fb 100644 --- a/erpnext/healthcare/doctype/prescription_duration/test_prescription_duration.py +++ b/erpnext/healthcare/doctype/prescription_duration/test_prescription_duration.py @@ -2,7 +2,9 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestPrescriptionDuration(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py b/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py index 62ea9f1a40..f4d29fa6a3 100644 --- a/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py +++ b/erpnext/healthcare/doctype/procedure_prescription/procedure_prescription.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class ProcedurePrescription(Document): pass diff --git a/erpnext/healthcare/doctype/sample_collection/sample_collection.py b/erpnext/healthcare/doctype/sample_collection/sample_collection.py index 461f809507..7de6ac08ca 100644 --- a/erpnext/healthcare/doctype/sample_collection/sample_collection.py +++ b/erpnext/healthcare/doctype/sample_collection/sample_collection.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe +from frappe import _ from frappe.model.document import Document from frappe.utils import flt -from frappe import _ + class SampleCollection(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/sensitivity/sensitivity.py b/erpnext/healthcare/doctype/sensitivity/sensitivity.py index bf7c36b9d2..f61781d3f8 100644 --- a/erpnext/healthcare/doctype/sensitivity/sensitivity.py +++ b/erpnext/healthcare/doctype/sensitivity/sensitivity.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class Sensitivity(Document): pass diff --git a/erpnext/healthcare/doctype/sensitivity/test_sensitivity.py b/erpnext/healthcare/doctype/sensitivity/test_sensitivity.py index 1616d2decb..c772c72faf 100644 --- a/erpnext/healthcare/doctype/sensitivity/test_sensitivity.py +++ b/erpnext/healthcare/doctype/sensitivity/test_sensitivity.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, ESS and Contributors # See license.txt from __future__ import unicode_literals + import unittest # test_records = frappe.get_test_records('Sensitivity') diff --git a/erpnext/healthcare/doctype/sensitivity_test_result/sensitivity_test_result.py b/erpnext/healthcare/doctype/sensitivity_test_result/sensitivity_test_result.py index 64f1e6ca25..53f7acc4af 100644 --- a/erpnext/healthcare/doctype/sensitivity_test_result/sensitivity_test_result.py +++ b/erpnext/healthcare/doctype/sensitivity_test_result/sensitivity_test_result.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SensitivityTestResult(Document): pass diff --git a/erpnext/healthcare/doctype/therapy_plan/test_therapy_plan.py b/erpnext/healthcare/doctype/therapy_plan/test_therapy_plan.py index 54e00ea48e..4f96f6a706 100644 --- a/erpnext/healthcare/doctype/therapy_plan/test_therapy_plan.py +++ b/erpnext/healthcare/doctype/therapy_plan/test_therapy_plan.py @@ -3,13 +3,23 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import getdate, flt, nowdate + +import frappe +from frappe.utils import flt, getdate, nowdate + +from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import ( + create_appointment, + create_healthcare_docs, + create_medical_department, + create_patient, +) +from erpnext.healthcare.doctype.therapy_plan.therapy_plan import ( + make_sales_invoice, + make_therapy_session, +) from erpnext.healthcare.doctype.therapy_type.test_therapy_type import create_therapy_type -from erpnext.healthcare.doctype.therapy_plan.therapy_plan import make_therapy_session, make_sales_invoice -from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import \ - create_healthcare_docs, create_patient, create_appointment, create_medical_department + class TestTherapyPlan(unittest.TestCase): def test_creation_on_encounter_submission(self): diff --git a/erpnext/healthcare/doctype/therapy_plan/therapy_plan.py b/erpnext/healthcare/doctype/therapy_plan/therapy_plan.py index e209660434..6d63f39189 100644 --- a/erpnext/healthcare/doctype/therapy_plan/therapy_plan.py +++ b/erpnext/healthcare/doctype/therapy_plan/therapy_plan.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document from frappe.utils import flt, today + class TherapyPlan(Document): def validate(self): self.set_totals() diff --git a/erpnext/healthcare/doctype/therapy_plan/therapy_plan_dashboard.py b/erpnext/healthcare/doctype/therapy_plan/therapy_plan_dashboard.py index 6526acda15..25c8df1d6b 100644 --- a/erpnext/healthcare/doctype/therapy_plan/therapy_plan_dashboard.py +++ b/erpnext/healthcare/doctype/therapy_plan/therapy_plan_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'therapy_plan', diff --git a/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.py b/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.py index 44211f32e3..1842fc2197 100644 --- a/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.py +++ b/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TherapyPlanDetail(Document): pass diff --git a/erpnext/healthcare/doctype/therapy_plan_template/test_therapy_plan_template.py b/erpnext/healthcare/doctype/therapy_plan_template/test_therapy_plan_template.py index 33ee29db7d..cd3d5686bc 100644 --- a/erpnext/healthcare/doctype/therapy_plan_template/test_therapy_plan_template.py +++ b/erpnext/healthcare/doctype/therapy_plan_template/test_therapy_plan_template.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestTherapyPlanTemplate(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template.py b/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template.py index 635d4beb8d..f5512be207 100644 --- a/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template.py +++ b/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document from frappe.utils import cint, flt + from erpnext.healthcare.doctype.therapy_type.therapy_type import make_item_price + class TherapyPlanTemplate(Document): def after_insert(self): self.create_item_from_template() diff --git a/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template_dashboard.py b/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template_dashboard.py index c748fbfcb7..def5c482d1 100644 --- a/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template_dashboard.py +++ b/erpnext/healthcare/doctype/therapy_plan_template/therapy_plan_template_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'therapy_plan_template', diff --git a/erpnext/healthcare/doctype/therapy_plan_template_detail/therapy_plan_template_detail.py b/erpnext/healthcare/doctype/therapy_plan_template_detail/therapy_plan_template_detail.py index 7b979fe9fc..104c1bf28b 100644 --- a/erpnext/healthcare/doctype/therapy_plan_template_detail/therapy_plan_template_detail.py +++ b/erpnext/healthcare/doctype/therapy_plan_template_detail/therapy_plan_template_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TherapyPlanTemplateDetail(Document): pass diff --git a/erpnext/healthcare/doctype/therapy_session/test_therapy_session.py b/erpnext/healthcare/doctype/therapy_session/test_therapy_session.py index 75bb8df196..e4afacf3f0 100644 --- a/erpnext/healthcare/doctype/therapy_session/test_therapy_session.py +++ b/erpnext/healthcare/doctype/therapy_session/test_therapy_session.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestTherapySession(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/therapy_session/therapy_session.py b/erpnext/healthcare/doctype/therapy_session/therapy_session.py index 51f267f949..915e6e42f4 100644 --- a/erpnext/healthcare/doctype/therapy_session/therapy_session.py +++ b/erpnext/healthcare/doctype/therapy_session/therapy_session.py @@ -3,14 +3,20 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import datetime -from frappe.model.document import Document -from frappe.utils import get_time, flt -from frappe.model.mapper import get_mapped_doc + +import frappe from frappe import _ -from frappe.utils import cstr, getdate, get_link_to_form -from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_receivable_account, get_income_account +from frappe.model.document import Document +from frappe.model.mapper import get_mapped_doc +from frappe.utils import flt, get_link_to_form, get_time, getdate + +from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import ( + get_income_account, + get_receivable_account, +) + class TherapySession(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/therapy_session/therapy_session_dashboard.py b/erpnext/healthcare/doctype/therapy_session/therapy_session_dashboard.py index 9de7e29323..b8a37820ba 100644 --- a/erpnext/healthcare/doctype/therapy_session/therapy_session_dashboard.py +++ b/erpnext/healthcare/doctype/therapy_session/therapy_session_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'therapy_session', diff --git a/erpnext/healthcare/doctype/therapy_type/test_therapy_type.py b/erpnext/healthcare/doctype/therapy_type/test_therapy_type.py index 80fc83fd6c..23d542236b 100644 --- a/erpnext/healthcare/doctype/therapy_type/test_therapy_type.py +++ b/erpnext/healthcare/doctype/therapy_type/test_therapy_type.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestTherapyType(unittest.TestCase): def test_therapy_type_item(self): therapy_type = create_therapy_type() diff --git a/erpnext/healthcare/doctype/therapy_type/therapy_type.py b/erpnext/healthcare/doctype/therapy_type/therapy_type.py index 3f6a36a968..3517ef2c5a 100644 --- a/erpnext/healthcare/doctype/therapy_type/therapy_type.py +++ b/erpnext/healthcare/doctype/therapy_type/therapy_type.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe import _ -from frappe.utils import cint from frappe.model.document import Document from frappe.model.rename_doc import rename_doc +from frappe.utils import cint + class TherapyType(Document): def validate(self): diff --git a/erpnext/healthcare/doctype/treatment_plan_template/test_treatment_plan_template.py b/erpnext/healthcare/doctype/treatment_plan_template/test_treatment_plan_template.py index 21ede7129f..b8a1dd7786 100644 --- a/erpnext/healthcare/doctype/treatment_plan_template/test_treatment_plan_template.py +++ b/erpnext/healthcare/doctype/treatment_plan_template/test_treatment_plan_template.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestTreatmentPlanTemplate(unittest.TestCase): pass diff --git a/erpnext/healthcare/doctype/treatment_plan_template/treatment_plan_template.py b/erpnext/healthcare/doctype/treatment_plan_template/treatment_plan_template.py index a92e2668fe..dbe0e9ae5f 100644 --- a/erpnext/healthcare/doctype/treatment_plan_template/treatment_plan_template.py +++ b/erpnext/healthcare/doctype/treatment_plan_template/treatment_plan_template.py @@ -5,6 +5,7 @@ import frappe from frappe import _ from frappe.model.document import Document + class TreatmentPlanTemplate(Document): def validate(self): self.validate_age() diff --git a/erpnext/healthcare/doctype/treatment_plan_template_item/treatment_plan_template_item.py b/erpnext/healthcare/doctype/treatment_plan_template_item/treatment_plan_template_item.py index 5f58b06af6..8b8d89f07f 100644 --- a/erpnext/healthcare/doctype/treatment_plan_template_item/treatment_plan_template_item.py +++ b/erpnext/healthcare/doctype/treatment_plan_template_item/treatment_plan_template_item.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class TreatmentPlanTemplateItem(Document): pass diff --git a/erpnext/healthcare/doctype/treatment_plan_template_practitioner/treatment_plan_template_practitioner.py b/erpnext/healthcare/doctype/treatment_plan_template_practitioner/treatment_plan_template_practitioner.py index 6d34568e15..c2d08bcc1a 100644 --- a/erpnext/healthcare/doctype/treatment_plan_template_practitioner/treatment_plan_template_practitioner.py +++ b/erpnext/healthcare/doctype/treatment_plan_template_practitioner/treatment_plan_template_practitioner.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class TreatmentPlanTemplatePractitioner(Document): pass diff --git a/erpnext/healthcare/doctype/vital_signs/test_vital_signs.py b/erpnext/healthcare/doctype/vital_signs/test_vital_signs.py index 5d3e00740f..22b52fb482 100644 --- a/erpnext/healthcare/doctype/vital_signs/test_vital_signs.py +++ b/erpnext/healthcare/doctype/vital_signs/test_vital_signs.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, ESS LLP and Contributors # See license.txt from __future__ import unicode_literals + import unittest # test_records = frappe.get_test_records('Vital Signs') diff --git a/erpnext/healthcare/doctype/vital_signs/vital_signs.py b/erpnext/healthcare/doctype/vital_signs/vital_signs.py index 4bb3940ae0..29dbeb470d 100644 --- a/erpnext/healthcare/doctype/vital_signs/vital_signs.py +++ b/erpnext/healthcare/doctype/vital_signs/vital_signs.py @@ -3,10 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document -from frappe.utils import cstr from frappe import _ +from frappe.model.document import Document + class VitalSigns(Document): def validate(self): diff --git a/erpnext/healthcare/page/patient_history/patient_history.py b/erpnext/healthcare/page/patient_history/patient_history.py index 4cdfd64a69..77d8846f37 100644 --- a/erpnext/healthcare/page/patient_history/patient_history.py +++ b/erpnext/healthcare/page/patient_history/patient_history.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe.utils import cint -from erpnext.healthcare.utils import render_docs_as_html + @frappe.whitelist() def get_feed(name, document_types=None, date_range=None, start=0, page_length=20): diff --git a/erpnext/healthcare/page/patient_progress/patient_progress.py b/erpnext/healthcare/page/patient_progress/patient_progress.py index 46bfb3db5d..c17f10574a 100644 --- a/erpnext/healthcare/page/patient_progress/patient_progress.py +++ b/erpnext/healthcare/page/patient_progress/patient_progress.py @@ -1,8 +1,10 @@ -import frappe -from datetime import datetime -from frappe import _ -from frappe.utils import getdate, get_timespan_date_range import json +from datetime import datetime + +import frappe +from frappe import _ +from frappe.utils import get_timespan_date_range, getdate + @frappe.whitelist() def get_therapy_sessions_count(patient): diff --git a/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py index 28b60bdcc9..2e809fb66b 100644 --- a/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py +++ b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py @@ -2,8 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import get_current_healthcare_service_unit + +from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import ( + get_current_healthcare_service_unit, +) + def execute(filters=None): columns = get_columns() diff --git a/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py b/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py index fae5ecef84..7f7bebf514 100644 --- a/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py +++ b/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py @@ -2,14 +2,32 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import unittest -import frappe + import datetime +import unittest + +import frappe from frappe.utils import getdate, now_datetime -from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import create_patient, create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy -from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge -from erpnext.healthcare.doctype.inpatient_medication_order.test_inpatient_medication_order import create_ipmo, create_ipme -from erpnext.healthcare.report.inpatient_medication_orders.inpatient_medication_orders import execute + +from erpnext.healthcare.doctype.inpatient_medication_order.test_inpatient_medication_order import ( + create_ipme, + create_ipmo, +) +from erpnext.healthcare.doctype.inpatient_record.inpatient_record import ( + admit_patient, + discharge_patient, + schedule_discharge, +) +from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import ( + create_inpatient, + create_patient, + get_healthcare_service_unit, + mark_invoiced_inpatient_occupancy, +) +from erpnext.healthcare.report.inpatient_medication_orders.inpatient_medication_orders import ( + execute, +) + class TestInpatientMedicationOrders(unittest.TestCase): @classmethod diff --git a/erpnext/healthcare/report/lab_test_report/lab_test_report.py b/erpnext/healthcare/report/lab_test_report/lab_test_report.py index ba4ca4172d..e2a53bb1e4 100644 --- a/erpnext/healthcare/report/lab_test_report/lab_test_report.py +++ b/erpnext/healthcare/report/lab_test_report/lab_test_report.py @@ -2,8 +2,10 @@ # License: See license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ +from frappe import _, msgprint + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/healthcare/report/patient_appointment_analytics/patient_appointment_analytics.py b/erpnext/healthcare/report/patient_appointment_analytics/patient_appointment_analytics.py index 9a4840acfe..1afb5da1fb 100644 --- a/erpnext/healthcare/report/patient_appointment_analytics/patient_appointment_analytics.py +++ b/erpnext/healthcare/report/patient_appointment_analytics/patient_appointment_analytics.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import getdate, flt, add_to_date, add_days -from frappe import _ , scrub +from frappe import _, scrub +from frappe.utils import add_days, add_to_date, flt, getdate from six import iteritems + from erpnext.accounts.utils import get_fiscal_year + def execute(filters=None): return Analytics(filters).run() @@ -26,7 +29,7 @@ class Analytics(object): return self.columns, self.data, None, self.chart def get_period_date_ranges(self): - from dateutil.relativedelta import relativedelta, MO + from dateutil.relativedelta import MO, relativedelta from_date, to_date = getdate(self.filters.from_date), getdate(self.filters.to_date) increment = { diff --git a/erpnext/healthcare/utils.py b/erpnext/healthcare/utils.py index 7c80bdb73c..cae3008ca8 100644 --- a/erpnext/healthcare/utils.py +++ b/erpnext/healthcare/utils.py @@ -3,16 +3,20 @@ # For license information, please see license.txt from __future__ import unicode_literals -import math -import frappe + import json +import math + +import frappe from frappe import _ +from frappe.utils import cstr, rounded, time_diff_in_hours from frappe.utils.formatters import format_value -from frappe.utils import time_diff_in_hours, rounded, cstr -from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_income_account + from erpnext.healthcare.doctype.fee_validity.fee_validity import create_fee_validity +from erpnext.healthcare.doctype.healthcare_settings.healthcare_settings import get_income_account from erpnext.healthcare.doctype.lab_test.lab_test import create_multiple + @frappe.whitelist() def get_healthcare_services_to_invoice(patient, company): patient = frappe.get_doc('Patient', patient) @@ -339,7 +343,9 @@ def get_service_item_and_practitioner_charge(doc): def get_appointment_type_service_item(appointment_type, department, is_inpatient): - from erpnext.healthcare.doctype.appointment_type.appointment_type import get_service_item_based_on_department + from erpnext.healthcare.doctype.appointment_type.appointment_type import ( + get_service_item_based_on_department, + ) item_list = get_service_item_based_on_department(appointment_type, department) service_item = None diff --git a/erpnext/healthcare/web_form/lab_test/lab_test.py b/erpnext/healthcare/web_form/lab_test/lab_test.py index 5a8c8a421c..ec08985b19 100644 --- a/erpnext/healthcare/web_form/lab_test/lab_test.py +++ b/erpnext/healthcare/web_form/lab_test/lab_test.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import frappe + def get_context(context): context.read_only = 1 diff --git a/erpnext/healthcare/web_form/patient_appointments/patient_appointments.py b/erpnext/healthcare/web_form/patient_appointments/patient_appointments.py index 09bcb42b57..80c12fd214 100644 --- a/erpnext/healthcare/web_form/patient_appointments/patient_appointments.py +++ b/erpnext/healthcare/web_form/patient_appointments/patient_appointments.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import frappe + def get_context(context): context.read_only = 1 diff --git a/erpnext/healthcare/web_form/patient_registration/patient_registration.py b/erpnext/healthcare/web_form/patient_registration/patient_registration.py index 1bc4d1874c..f57de916dd 100644 --- a/erpnext/healthcare/web_form/patient_registration/patient_registration.py +++ b/erpnext/healthcare/web_form/patient_registration/patient_registration.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_context(context): # do your magic here pass diff --git a/erpnext/healthcare/web_form/prescription/prescription.py b/erpnext/healthcare/web_form/prescription/prescription.py index efdeaa906a..f6f273ad58 100644 --- a/erpnext/healthcare/web_form/prescription/prescription.py +++ b/erpnext/healthcare/web_form/prescription/prescription.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import frappe + def get_context(context): context.read_only = 1 diff --git a/erpnext/hooks.py b/erpnext/hooks.py index b1a64f95bf..53f40bc07c 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + from frappe import _ app_name = "erpnext" diff --git a/erpnext/hotels/doctype/hotel_room/hotel_room.py b/erpnext/hotels/doctype/hotel_room/hotel_room.py index 6a2fc02574..93a62c98e7 100644 --- a/erpnext/hotels/doctype/hotel_room/hotel_room.py +++ b/erpnext/hotels/doctype/hotel_room/hotel_room.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class HotelRoom(Document): def validate(self): if not self.capacity: diff --git a/erpnext/hotels/doctype/hotel_room/test_hotel_room.py b/erpnext/hotels/doctype/hotel_room/test_hotel_room.py index e307b5ac37..4fedbd42a9 100644 --- a/erpnext/hotels/doctype/hotel_room/test_hotel_room.py +++ b/erpnext/hotels/doctype/hotel_room/test_hotel_room.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + test_dependencies = ["Hotel Room Package"] test_records = [ dict(doctype="Hotel Room", name="1001", diff --git a/erpnext/hotels/doctype/hotel_room_amenity/hotel_room_amenity.py b/erpnext/hotels/doctype/hotel_room_amenity/hotel_room_amenity.py index 69da007fc6..982b3ef911 100644 --- a/erpnext/hotels/doctype/hotel_room_amenity/hotel_room_amenity.py +++ b/erpnext/hotels/doctype/hotel_room_amenity/hotel_room_amenity.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelRoomAmenity(Document): pass diff --git a/erpnext/hotels/doctype/hotel_room_package/hotel_room_package.py b/erpnext/hotels/doctype/hotel_room_package/hotel_room_package.py index 8a62eea8fa..1864081842 100644 --- a/erpnext/hotels/doctype/hotel_room_package/hotel_room_package.py +++ b/erpnext/hotels/doctype/hotel_room_package/hotel_room_package.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class HotelRoomPackage(Document): def validate(self): if not self.item: diff --git a/erpnext/hotels/doctype/hotel_room_package/test_hotel_room_package.py b/erpnext/hotels/doctype/hotel_room_package/test_hotel_room_package.py index ebf7f2b7e9..fe5d79dcc3 100644 --- a/erpnext/hotels/doctype/hotel_room_package/test_hotel_room_package.py +++ b/erpnext/hotels/doctype/hotel_room_package/test_hotel_room_package.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + test_records = [ dict(doctype='Item', item_code='Breakfast', item_group='Products', is_stock_item=0), diff --git a/erpnext/hotels/doctype/hotel_room_pricing/hotel_room_pricing.py b/erpnext/hotels/doctype/hotel_room_pricing/hotel_room_pricing.py index 8eee0f24c5..5797fef30d 100644 --- a/erpnext/hotels/doctype/hotel_room_pricing/hotel_room_pricing.py +++ b/erpnext/hotels/doctype/hotel_room_pricing/hotel_room_pricing.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelRoomPricing(Document): pass diff --git a/erpnext/hotels/doctype/hotel_room_pricing/test_hotel_room_pricing.py b/erpnext/hotels/doctype/hotel_room_pricing/test_hotel_room_pricing.py index b73fd44cd5..72030c6939 100644 --- a/erpnext/hotels/doctype/hotel_room_pricing/test_hotel_room_pricing.py +++ b/erpnext/hotels/doctype/hotel_room_pricing/test_hotel_room_pricing.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + test_dependencies = ["Hotel Room Package"] test_records = [ dict(doctype="Hotel Room Pricing", enabled=1, diff --git a/erpnext/hotels/doctype/hotel_room_pricing_item/hotel_room_pricing_item.py b/erpnext/hotels/doctype/hotel_room_pricing_item/hotel_room_pricing_item.py index 6bf01bf941..4a344df848 100644 --- a/erpnext/hotels/doctype/hotel_room_pricing_item/hotel_room_pricing_item.py +++ b/erpnext/hotels/doctype/hotel_room_pricing_item/hotel_room_pricing_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelRoomPricingItem(Document): pass diff --git a/erpnext/hotels/doctype/hotel_room_pricing_package/hotel_room_pricing_package.py b/erpnext/hotels/doctype/hotel_room_pricing_package/hotel_room_pricing_package.py index 9ae9fcfaf8..f594ac709e 100644 --- a/erpnext/hotels/doctype/hotel_room_pricing_package/hotel_room_pricing_package.py +++ b/erpnext/hotels/doctype/hotel_room_pricing_package/hotel_room_pricing_package.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelRoomPricingPackage(Document): pass diff --git a/erpnext/hotels/doctype/hotel_room_pricing_package/test_hotel_room_pricing_package.py b/erpnext/hotels/doctype/hotel_room_pricing_package/test_hotel_room_pricing_package.py index fec1c86ad0..ea258ccb75 100644 --- a/erpnext/hotels/doctype/hotel_room_pricing_package/test_hotel_room_pricing_package.py +++ b/erpnext/hotels/doctype/hotel_room_pricing_package/test_hotel_room_pricing_package.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestHotelRoomPricingPackage(unittest.TestCase): pass diff --git a/erpnext/hotels/doctype/hotel_room_reservation/hotel_room_reservation.py b/erpnext/hotels/doctype/hotel_room_reservation/hotel_room_reservation.py index a8ebe8610e..4944862284 100644 --- a/erpnext/hotels/doctype/hotel_room_reservation/hotel_room_reservation.py +++ b/erpnext/hotels/doctype/hotel_room_reservation/hotel_room_reservation.py @@ -3,10 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe.model.document import Document + +import json + +import frappe from frappe import _ -from frappe.utils import date_diff, add_days, flt +from frappe.model.document import Document +from frappe.utils import add_days, date_diff, flt + class HotelRoomUnavailableError(frappe.ValidationError): pass class HotelRoomPricingNotSetError(frappe.ValidationError): pass diff --git a/erpnext/hotels/doctype/hotel_room_reservation/test_hotel_room_reservation.py b/erpnext/hotels/doctype/hotel_room_reservation/test_hotel_room_reservation.py index d4979968e6..e03005cf04 100644 --- a/erpnext/hotels/doctype/hotel_room_reservation/test_hotel_room_reservation.py +++ b/erpnext/hotels/doctype/hotel_room_reservation/test_hotel_room_reservation.py @@ -3,9 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.hotels.doctype.hotel_room_reservation.hotel_room_reservation import HotelRoomPricingNotSetError, HotelRoomUnavailableError + +import frappe + +from erpnext.hotels.doctype.hotel_room_reservation.hotel_room_reservation import ( + HotelRoomPricingNotSetError, + HotelRoomUnavailableError, +) + test_dependencies = ["Hotel Room Package", "Hotel Room Pricing", "Hotel Room"] class TestHotelRoomReservation(unittest.TestCase): diff --git a/erpnext/hotels/doctype/hotel_room_reservation_item/hotel_room_reservation_item.py b/erpnext/hotels/doctype/hotel_room_reservation_item/hotel_room_reservation_item.py index 3406faea0e..0cf854722e 100644 --- a/erpnext/hotels/doctype/hotel_room_reservation_item/hotel_room_reservation_item.py +++ b/erpnext/hotels/doctype/hotel_room_reservation_item/hotel_room_reservation_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelRoomReservationItem(Document): pass diff --git a/erpnext/hotels/doctype/hotel_room_type/hotel_room_type.py b/erpnext/hotels/doctype/hotel_room_type/hotel_room_type.py index 1fc1303f39..610cf181c1 100644 --- a/erpnext/hotels/doctype/hotel_room_type/hotel_room_type.py +++ b/erpnext/hotels/doctype/hotel_room_type/hotel_room_type.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelRoomType(Document): pass diff --git a/erpnext/hotels/doctype/hotel_room_type/test_hotel_room_type.py b/erpnext/hotels/doctype/hotel_room_type/test_hotel_room_type.py index 3b243e9566..6dba7b7407 100644 --- a/erpnext/hotels/doctype/hotel_room_type/test_hotel_room_type.py +++ b/erpnext/hotels/doctype/hotel_room_type/test_hotel_room_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestHotelRoomType(unittest.TestCase): pass diff --git a/erpnext/hotels/doctype/hotel_settings/hotel_settings.py b/erpnext/hotels/doctype/hotel_settings/hotel_settings.py index d78bca149d..f8f8fe964d 100644 --- a/erpnext/hotels/doctype/hotel_settings/hotel_settings.py +++ b/erpnext/hotels/doctype/hotel_settings/hotel_settings.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HotelSettings(Document): pass diff --git a/erpnext/hotels/doctype/hotel_settings/test_hotel_settings.py b/erpnext/hotels/doctype/hotel_settings/test_hotel_settings.py index a081acc0e0..5cf58b994e 100644 --- a/erpnext/hotels/doctype/hotel_settings/test_hotel_settings.py +++ b/erpnext/hotels/doctype/hotel_settings/test_hotel_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestHotelSettings(unittest.TestCase): pass diff --git a/erpnext/hotels/report/hotel_room_occupancy/hotel_room_occupancy.py b/erpnext/hotels/report/hotel_room_occupancy/hotel_room_occupancy.py index 259edb9c06..f02baebdf6 100644 --- a/erpnext/hotels/report/hotel_room_occupancy/hotel_room_occupancy.py +++ b/erpnext/hotels/report/hotel_room_occupancy/hotel_room_occupancy.py @@ -2,12 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import add_days, date_diff from erpnext.hotels.doctype.hotel_room_reservation.hotel_room_reservation import get_rooms_booked + def execute(filters=None): columns = get_columns(filters) data = get_data(filters) diff --git a/erpnext/hr/doctype/appointment_letter/appointment_letter.py b/erpnext/hr/doctype/appointment_letter/appointment_letter.py index 85b82c5014..b9a8ec6301 100644 --- a/erpnext/hr/doctype/appointment_letter/appointment_letter.py +++ b/erpnext/hr/doctype/appointment_letter/appointment_letter.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class AppointmentLetter(Document): pass diff --git a/erpnext/hr/doctype/appointment_letter/test_appointment_letter.py b/erpnext/hr/doctype/appointment_letter/test_appointment_letter.py index b9ce9819c5..88637b9fe9 100644 --- a/erpnext/hr/doctype/appointment_letter/test_appointment_letter.py +++ b/erpnext/hr/doctype/appointment_letter/test_appointment_letter.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestAppointmentLetter(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/appointment_letter_content/appointment_letter_content.py b/erpnext/hr/doctype/appointment_letter_content/appointment_letter_content.py index a1a49e536b..f4db456af3 100644 --- a/erpnext/hr/doctype/appointment_letter_content/appointment_letter_content.py +++ b/erpnext/hr/doctype/appointment_letter_content/appointment_letter_content.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AppointmentLettercontent(Document): pass diff --git a/erpnext/hr/doctype/appointment_letter_template/appointment_letter_template.py b/erpnext/hr/doctype/appointment_letter_template/appointment_letter_template.py index c23881f800..acb5c1f692 100644 --- a/erpnext/hr/doctype/appointment_letter_template/appointment_letter_template.py +++ b/erpnext/hr/doctype/appointment_letter_template/appointment_letter_template.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class AppointmentLetterTemplate(Document): pass diff --git a/erpnext/hr/doctype/appointment_letter_template/test_appointment_letter_template.py b/erpnext/hr/doctype/appointment_letter_template/test_appointment_letter_template.py index 3d061ac8e9..46dd3e1272 100644 --- a/erpnext/hr/doctype/appointment_letter_template/test_appointment_letter_template.py +++ b/erpnext/hr/doctype/appointment_letter_template/test_appointment_letter_template.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestAppointmentLetterTemplate(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/appraisal/appraisal.py b/erpnext/hr/doctype/appraisal/appraisal.py index c2ed457984..96a4ffa524 100644 --- a/erpnext/hr/doctype/appraisal/appraisal.py +++ b/erpnext/hr/doctype/appraisal/appraisal.py @@ -2,15 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe +from frappe import _ +from frappe.model.document import Document +from frappe.model.mapper import get_mapped_doc from frappe.utils import flt, getdate -from frappe import _ -from frappe.model.mapper import get_mapped_doc -from frappe.model.document import Document from erpnext.hr.utils import set_employee_name, validate_active_employee + class Appraisal(Document): def validate(self): if not self.status: diff --git a/erpnext/hr/doctype/appraisal/test_appraisal.py b/erpnext/hr/doctype/appraisal/test_appraisal.py index f70dc481c8..cf2bd7c242 100644 --- a/erpnext/hr/doctype/appraisal/test_appraisal.py +++ b/erpnext/hr/doctype/appraisal/test_appraisal.py @@ -2,7 +2,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Appraisal') diff --git a/erpnext/hr/doctype/appraisal_goal/appraisal_goal.py b/erpnext/hr/doctype/appraisal_goal/appraisal_goal.py index 11d9f3944d..d9789a028b 100644 --- a/erpnext/hr/doctype/appraisal_goal/appraisal_goal.py +++ b/erpnext/hr/doctype/appraisal_goal/appraisal_goal.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class AppraisalGoal(Document): pass diff --git a/erpnext/hr/doctype/appraisal_template/appraisal_template.py b/erpnext/hr/doctype/appraisal_template/appraisal_template.py index d0dfad4be3..d10a0de3bc 100644 --- a/erpnext/hr/doctype/appraisal_template/appraisal_template.py +++ b/erpnext/hr/doctype/appraisal_template/appraisal_template.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import cint, flt -from frappe import _ +import frappe +from frappe import _ from frappe.model.document import Document +from frappe.utils import cint, flt + class AppraisalTemplate(Document): def validate(self): diff --git a/erpnext/hr/doctype/appraisal_template/appraisal_template_dashboard.py b/erpnext/hr/doctype/appraisal_template/appraisal_template_dashboard.py index 392b370e6c..b8d04944ed 100644 --- a/erpnext/hr/doctype/appraisal_template/appraisal_template_dashboard.py +++ b/erpnext/hr/doctype/appraisal_template/appraisal_template_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py b/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py index e3029d980a..a814ec8d5b 100644 --- a/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py +++ b/erpnext/hr/doctype/appraisal_template/test_appraisal_template.py @@ -2,7 +2,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Appraisal Template') diff --git a/erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.py b/erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.py index b3c5704fa5..1b15fbd51e 100644 --- a/erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.py +++ b/erpnext/hr/doctype/appraisal_template_goal/appraisal_template_goal.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class AppraisalTemplateGoal(Document): pass diff --git a/erpnext/hr/doctype/attendance/attendance.py b/erpnext/hr/doctype/attendance/attendance.py index c1a7c8f88a..002f9bbcac 100644 --- a/erpnext/hr/doctype/attendance/attendance.py +++ b/erpnext/hr/doctype/attendance/attendance.py @@ -2,14 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import getdate, nowdate +import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import cstr, get_datetime, formatdate +from frappe.utils import cstr, formatdate, get_datetime, getdate, nowdate + from erpnext.hr.utils import validate_active_employee + class Attendance(Document): def validate(self): from erpnext.controllers.status_updater import validate_status @@ -134,7 +135,6 @@ def mark_attendance(employee, attendance_date, status, shift=None, leave_type=No @frappe.whitelist() def mark_bulk_attendance(data): import json - from pprint import pprint if isinstance(data, str): data = json.loads(data) data = frappe._dict(data) diff --git a/erpnext/hr/doctype/attendance/attendance_dashboard.py b/erpnext/hr/doctype/attendance/attendance_dashboard.py index 5dd9403674..bbe67dfcc8 100644 --- a/erpnext/hr/doctype/attendance/attendance_dashboard.py +++ b/erpnext/hr/doctype/attendance/attendance_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/attendance/test_attendance.py b/erpnext/hr/doctype/attendance/test_attendance.py index 838b704c5a..ab44377421 100644 --- a/erpnext/hr/doctype/attendance/test_attendance.py +++ b/erpnext/hr/doctype/attendance/test_attendance.py @@ -2,8 +2,9 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import nowdate test_records = frappe.get_test_records('Attendance') diff --git a/erpnext/hr/doctype/attendance_request/attendance_request.py b/erpnext/hr/doctype/attendance_request/attendance_request.py index 7f88fed73a..1e7429656d 100644 --- a/erpnext/hr/doctype/attendance_request/attendance_request.py +++ b/erpnext/hr/doctype/attendance_request/attendance_request.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import date_diff, add_days, getdate +from frappe.utils import add_days, date_diff, getdate + from erpnext.hr.doctype.employee.employee import is_holiday -from erpnext.hr.utils import validate_dates, validate_active_employee +from erpnext.hr.utils import validate_active_employee, validate_dates + class AttendanceRequest(Document): def validate(self): diff --git a/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py b/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py index 2d3eb00011..8feb6f2f23 100644 --- a/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py +++ b/erpnext/hr/doctype/attendance_request/attendance_request_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'attendance_request', diff --git a/erpnext/hr/doctype/attendance_request/test_attendance_request.py b/erpnext/hr/doctype/attendance_request/test_attendance_request.py index 9e668aa72f..a9db74cbf7 100644 --- a/erpnext/hr/doctype/attendance_request/test_attendance_request.py +++ b/erpnext/hr/doctype/attendance_request/test_attendance_request.py @@ -3,11 +3,12 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate from datetime import date +import frappe +from frappe.utils import nowdate + test_dependencies = ["Employee"] class TestAttendanceRequest(unittest.TestCase): diff --git a/erpnext/hr/doctype/branch/branch.py b/erpnext/hr/doctype/branch/branch.py index a847c8e217..c770dc3409 100644 --- a/erpnext/hr/doctype/branch/branch.py +++ b/erpnext/hr/doctype/branch/branch.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class Branch(Document): pass diff --git a/erpnext/hr/doctype/branch/test_branch.py b/erpnext/hr/doctype/branch/test_branch.py index 807698ba0a..7bf9b39530 100644 --- a/erpnext/hr/doctype/branch/test_branch.py +++ b/erpnext/hr/doctype/branch/test_branch.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Branch') diff --git a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py index 3db81654a6..f24483bf82 100644 --- a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py +++ b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py @@ -3,12 +3,21 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import date_diff, add_days, getdate, cint, format_date from frappe.model.document import Document -from erpnext.hr.utils import validate_dates, validate_overlap, get_leave_period, validate_active_employee, \ - create_additional_leave_ledger_entry, get_holiday_dates_for_employee +from frappe.utils import add_days, cint, date_diff, format_date, getdate + +from erpnext.hr.utils import ( + create_additional_leave_ledger_entry, + get_holiday_dates_for_employee, + get_leave_period, + validate_active_employee, + validate_dates, + validate_overlap, +) + class CompensatoryLeaveRequest(Document): diff --git a/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py index 3b99c57051..95bdd514ef 100644 --- a/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py +++ b/erpnext/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py @@ -3,12 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import today, add_months, add_days + +import frappe +from frappe.utils import add_days, add_months, today + from erpnext.hr.doctype.attendance_request.test_attendance_request import get_employee -from erpnext.hr.doctype.leave_period.test_leave_period import create_leave_period from erpnext.hr.doctype.leave_application.leave_application import get_leave_balance_on +from erpnext.hr.doctype.leave_period.test_leave_period import create_leave_period test_dependencies = ["Employee"] diff --git a/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py b/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py index 76c7a14693..92cf6aac85 100644 --- a/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py +++ b/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py @@ -3,11 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document -from frappe import _ from email_reply_parser import EmailReplyParser -from erpnext.hr.doctype.employee.employee import is_holiday +from frappe import _ +from frappe.model.document import Document from frappe.utils import global_date_format from six import string_types diff --git a/erpnext/hr/doctype/daily_work_summary/test_daily_work_summary.py b/erpnext/hr/doctype/daily_work_summary/test_daily_work_summary.py index 3868479976..bed12e31ea 100644 --- a/erpnext/hr/doctype/daily_work_summary/test_daily_work_summary.py +++ b/erpnext/hr/doctype/daily_work_summary/test_daily_work_summary.py @@ -4,8 +4,9 @@ from __future__ import unicode_literals import os -import frappe import unittest + +import frappe import frappe.utils # test_records = frappe.get_test_records('Daily Work Summary') @@ -64,8 +65,7 @@ class TestDailyWorkSummary(unittest.TestCase): filters=dict(email=('!=', 'test@example.com'))) self.setup_groups(hour) - from erpnext.hr.doctype.daily_work_summary_group.daily_work_summary_group \ - import trigger_emails + from erpnext.hr.doctype.daily_work_summary_group.daily_work_summary_group import trigger_emails trigger_emails() # check if emails are created diff --git a/erpnext/hr/doctype/daily_work_summary_group/daily_work_summary_group.py b/erpnext/hr/doctype/daily_work_summary_group/daily_work_summary_group.py index ece331aa71..152b1a9c7c 100644 --- a/erpnext/hr/doctype/daily_work_summary_group/daily_work_summary_group.py +++ b/erpnext/hr/doctype/daily_work_summary_group/daily_work_summary_group.py @@ -3,13 +3,16 @@ # # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document import frappe.utils from frappe import _ +from frappe.model.document import Document + from erpnext.hr.doctype.daily_work_summary.daily_work_summary import get_user_emails_from_group from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday + class DailyWorkSummaryGroup(Document): def validate(self): if self.users: diff --git a/erpnext/hr/doctype/daily_work_summary_group_user/daily_work_summary_group_user.py b/erpnext/hr/doctype/daily_work_summary_group_user/daily_work_summary_group_user.py index eefcc0c3a6..d69a7fbf98 100644 --- a/erpnext/hr/doctype/daily_work_summary_group_user/daily_work_summary_group_user.py +++ b/erpnext/hr/doctype/daily_work_summary_group_user/daily_work_summary_group_user.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class DailyWorkSummaryGroupUser(Document): pass diff --git a/erpnext/hr/doctype/department/department.py b/erpnext/hr/doctype/department/department.py index 539a360269..b4771b3fed 100644 --- a/erpnext/hr/doctype/department/department.py +++ b/erpnext/hr/doctype/department/department.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.utils.nestedset import NestedSet, get_root_of + from erpnext.utilities.transaction_base import delete_events -from frappe.model.document import Document + class Department(NestedSet): nsm_parent_field = 'parent_department' diff --git a/erpnext/hr/doctype/department/test_department.py b/erpnext/hr/doctype/department/test_department.py index e4f6645ee4..2fb3b95ef4 100644 --- a/erpnext/hr/doctype/department/test_department.py +++ b/erpnext/hr/doctype/department/test_department.py @@ -1,9 +1,11 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import unittest +import frappe + test_ignore = ["Leave Block List"] class TestDepartment(unittest.TestCase): def test_remove_department_data(self): diff --git a/erpnext/hr/doctype/department_approver/department_approver.py b/erpnext/hr/doctype/department_approver/department_approver.py index d337959d53..113ea1887f 100644 --- a/erpnext/hr/doctype/department_approver/department_approver.py +++ b/erpnext/hr/doctype/department_approver/department_approver.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class DepartmentApprover(Document): pass diff --git a/erpnext/hr/doctype/designation/designation.py b/erpnext/hr/doctype/designation/designation.py index a3f84aab5f..0291a992cd 100644 --- a/erpnext/hr/doctype/designation/designation.py +++ b/erpnext/hr/doctype/designation/designation.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class Designation(Document): pass diff --git a/erpnext/hr/doctype/designation/test_designation.py b/erpnext/hr/doctype/designation/test_designation.py index 2778862a1c..33aa2433ce 100644 --- a/erpnext/hr/doctype/designation/test_designation.py +++ b/erpnext/hr/doctype/designation/test_designation.py @@ -2,8 +2,8 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + # test_records = frappe.get_test_records('Designation') def create_designation(**args): diff --git a/erpnext/hr/doctype/designation_skill/designation_skill.py b/erpnext/hr/doctype/designation_skill/designation_skill.py index c37d21f454..2074dc9df5 100644 --- a/erpnext/hr/doctype/designation_skill/designation_skill.py +++ b/erpnext/hr/doctype/designation_skill/designation_skill.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class DesignationSkill(Document): pass diff --git a/erpnext/hr/doctype/driver/driver.py b/erpnext/hr/doctype/driver/driver.py index 2cd22cd548..5c428b57fc 100644 --- a/erpnext/hr/doctype/driver/driver.py +++ b/erpnext/hr/doctype/driver/driver.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class Driver(Document): pass diff --git a/erpnext/hr/doctype/driver/test_driver.py b/erpnext/hr/doctype/driver/test_driver.py index 4bc4a8fd57..fa3623745b 100644 --- a/erpnext/hr/doctype/driver/test_driver.py +++ b/erpnext/hr/doctype/driver/test_driver.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestDriver(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/driving_license_category/driving_license_category.py b/erpnext/hr/doctype/driving_license_category/driving_license_category.py index 33ba138e27..63ac4184bd 100644 --- a/erpnext/hr/doctype/driving_license_category/driving_license_category.py +++ b/erpnext/hr/doctype/driving_license_category/driving_license_category.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DrivingLicenseCategory(Document): pass diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py index 643f3da2ff..79e8f6140a 100755 --- a/erpnext/hr/doctype/employee/employee.py +++ b/erpnext/hr/doctype/employee/employee.py @@ -1,15 +1,21 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt import frappe - -from frappe.utils import getdate, validate_email_address, today, add_years, cstr +from frappe import _, scrub, throw from frappe.model.naming import set_name_by_naming_series -from frappe import throw, _, scrub -from frappe.permissions import add_user_permission, remove_user_permission, \ - set_user_permission_if_allowed, has_permission, get_doc_permissions -from erpnext.utilities.transaction_base import delete_events +from frappe.permissions import ( + add_user_permission, + get_doc_permissions, + has_permission, + remove_user_permission, + set_user_permission_if_allowed, +) +from frappe.utils import add_years, cstr, getdate, today, validate_email_address from frappe.utils.nestedset import NestedSet +from erpnext.utilities.transaction_base import delete_events + + class EmployeeUserDisabledError(frappe.ValidationError): pass class InactiveEmployeeStatusError(frappe.ValidationError): diff --git a/erpnext/hr/doctype/employee/employee_dashboard.py b/erpnext/hr/doctype/employee/employee_dashboard.py index e853bee69f..ce307be60e 100644 --- a/erpnext/hr/doctype/employee/employee_dashboard.py +++ b/erpnext/hr/doctype/employee/employee_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/hr/doctype/employee/employee_reminders.py b/erpnext/hr/doctype/employee/employee_reminders.py index 2155c027a9..fc018664b4 100644 --- a/erpnext/hr/doctype/employee/employee_reminders.py +++ b/erpnext/hr/doctype/employee/employee_reminders.py @@ -3,10 +3,12 @@ import frappe from frappe import _ -from frappe.utils import comma_sep, getdate, today, add_months, add_days +from frappe.utils import add_days, add_months, comma_sep, getdate, today + from erpnext.hr.doctype.employee.employee import get_all_employee_emails, get_employee_email from erpnext.hr.utils import get_holidays_for_employee + # ----------------- # HOLIDAY REMINDERS # ----------------- diff --git a/erpnext/hr/doctype/employee/test_employee.py b/erpnext/hr/doctype/employee/test_employee.py index 5feb6de8f2..8d6dfa2c1d 100644 --- a/erpnext/hr/doctype/employee/test_employee.py +++ b/erpnext/hr/doctype/employee/test_employee.py @@ -1,10 +1,12 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe -import erpnext import unittest + +import frappe import frappe.utils + +import erpnext from erpnext.hr.doctype.employee.employee import InactiveEmployeeStatusError test_records = frappe.get_test_records('Employee') @@ -23,9 +25,9 @@ class TestEmployee(unittest.TestCase): self.assertRaises(InactiveEmployeeStatusError, employee1_doc.save) def test_employee_status_inactive(self): - from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure - from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_holiday_list + from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip + from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure employee = make_employee("test_employee_status@company.com") employee_doc = frappe.get_doc("Employee", employee) diff --git a/erpnext/hr/doctype/employee/test_employee_reminders.py b/erpnext/hr/doctype/employee/test_employee_reminders.py index f46a3d1f62..52c0098244 100644 --- a/erpnext/hr/doctype/employee/test_employee_reminders.py +++ b/erpnext/hr/doctype/employee/test_employee_reminders.py @@ -1,11 +1,12 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe import unittest - -from frappe.utils import getdate from datetime import timedelta + +import frappe +from frappe.utils import getdate + from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.hr.doctype.hr_settings.hr_settings import set_proceed_with_frequency_change @@ -84,7 +85,10 @@ class TestEmployeeReminders(unittest.TestCase): employee.company = "_Test Company" employee.save() - from erpnext.hr.doctype.employee.employee_reminders import get_employees_who_are_born_today, send_birthday_reminders + from erpnext.hr.doctype.employee.employee_reminders import ( + get_employees_who_are_born_today, + send_birthday_reminders, + ) employees_born_today = get_employees_who_are_born_today() self.assertTrue(employees_born_today.get("_Test Company")) @@ -105,7 +109,10 @@ class TestEmployeeReminders(unittest.TestCase): employee.company = "_Test Company" employee.save() - from erpnext.hr.doctype.employee.employee_reminders import get_employees_having_an_event_today, send_work_anniversary_reminders + from erpnext.hr.doctype.employee.employee_reminders import ( + get_employees_having_an_event_today, + send_work_anniversary_reminders, + ) employees_having_work_anniversary = get_employees_having_an_event_today('work_anniversary') self.assertTrue(employees_having_work_anniversary.get("_Test Company")) @@ -120,8 +127,8 @@ class TestEmployeeReminders(unittest.TestCase): self.assertTrue("Subject: Work Anniversary Reminder" in email_queue[0].message) def test_send_holidays_reminder_in_advance(self): - from erpnext.hr.utils import get_holidays_for_employee from erpnext.hr.doctype.employee.employee_reminders import send_holidays_reminder_in_advance + from erpnext.hr.utils import get_holidays_for_employee # Get HR settings and enable advance holiday reminders hr_settings = frappe.get_doc("HR Settings", "HR Settings") @@ -147,6 +154,7 @@ class TestEmployeeReminders(unittest.TestCase): def test_advance_holiday_reminders_monthly(self): from erpnext.hr.doctype.employee.employee_reminders import send_reminders_in_advance_monthly + # Get HR settings and enable advance holiday reminders hr_settings = frappe.get_doc("HR Settings", "HR Settings") hr_settings.send_holiday_reminders = 1 @@ -161,6 +169,7 @@ class TestEmployeeReminders(unittest.TestCase): def test_advance_holiday_reminders_weekly(self): from erpnext.hr.doctype.employee.employee_reminders import send_reminders_in_advance_weekly + # Get HR settings and enable advance holiday reminders hr_settings = frappe.get_doc("HR Settings", "HR Settings") hr_settings.send_holiday_reminders = 1 diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.py b/erpnext/hr/doctype/employee_advance/employee_advance.py index cbb3cc813b..87d42d34e3 100644 --- a/erpnext/hr/doctype/employee_advance/employee_advance.py +++ b/erpnext/hr/doctype/employee_advance/employee_advance.py @@ -3,13 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import flt, nowdate + +import erpnext from erpnext.accounts.doctype.journal_entry.journal_entry import get_default_bank_cash_account from erpnext.hr.utils import validate_active_employee + class EmployeeAdvanceOverPayment(frappe.ValidationError): pass diff --git a/erpnext/hr/doctype/employee_advance/employee_advance_dashboard.py b/erpnext/hr/doctype/employee_advance/employee_advance_dashboard.py index 2f493e2d4e..17d5bd27a6 100644 --- a/erpnext/hr/doctype/employee_advance/employee_advance_dashboard.py +++ b/erpnext/hr/doctype/employee_advance/employee_advance_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/employee_advance/test_employee_advance.py b/erpnext/hr/doctype/employee_advance/test_employee_advance.py index 100968bb7a..f8e5f535cb 100644 --- a/erpnext/hr/doctype/employee_advance/test_employee_advance.py +++ b/erpnext/hr/doctype/employee_advance/test_employee_advance.py @@ -3,12 +3,18 @@ # See license.txt from __future__ import unicode_literals -import frappe, erpnext import unittest + +import frappe from frappe.utils import nowdate -from erpnext.hr.doctype.employee_advance.employee_advance import make_bank_entry -from erpnext.hr.doctype.employee_advance.employee_advance import EmployeeAdvanceOverPayment + +import erpnext from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.hr.doctype.employee_advance.employee_advance import ( + EmployeeAdvanceOverPayment, + make_bank_entry, +) + class TestEmployeeAdvance(unittest.TestCase): def test_paid_amount_and_status(self): diff --git a/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.py b/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.py index 16c1a32b9b..7c751a47a6 100644 --- a/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.py +++ b/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe.model.document import Document from frappe.utils import getdate diff --git a/erpnext/hr/doctype/employee_boarding_activity/employee_boarding_activity.py b/erpnext/hr/doctype/employee_boarding_activity/employee_boarding_activity.py index 496f1653ba..48c85f48aa 100644 --- a/erpnext/hr/doctype/employee_boarding_activity/employee_boarding_activity.py +++ b/erpnext/hr/doctype/employee_boarding_activity/employee_boarding_activity.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeBoardingActivity(Document): pass diff --git a/erpnext/hr/doctype/employee_checkin/employee_checkin.py b/erpnext/hr/doctype/employee_checkin/employee_checkin.py index 6c0cd4f963..1ae9b1fa82 100644 --- a/erpnext/hr/doctype/employee_checkin/employee_checkin.py +++ b/erpnext/hr/doctype/employee_checkin/employee_checkin.py @@ -3,14 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import now, cint, get_datetime -from frappe.model.document import Document -from frappe import _ -from erpnext.hr.doctype.shift_assignment.shift_assignment import get_actual_start_end_datetime_of_shift +import frappe +from frappe import _ +from frappe.model.document import Document +from frappe.utils import cint, get_datetime + +from erpnext.hr.doctype.shift_assignment.shift_assignment import ( + get_actual_start_end_datetime_of_shift, +) from erpnext.hr.utils import validate_active_employee + class EmployeeCheckin(Document): def validate(self): validate_active_employee(self.employee) diff --git a/erpnext/hr/doctype/employee_checkin/test_employee_checkin.py b/erpnext/hr/doctype/employee_checkin/test_employee_checkin.py index 7ba511f08d..71c6498dd7 100644 --- a/erpnext/hr/doctype/employee_checkin/test_employee_checkin.py +++ b/erpnext/hr/doctype/employee_checkin/test_employee_checkin.py @@ -3,13 +3,19 @@ # See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import now_datetime, nowdate, to_timedelta import unittest from datetime import timedelta -from erpnext.hr.doctype.employee_checkin.employee_checkin import add_log_based_on_employee_field, mark_attendance_and_link_log, calculate_working_hours +import frappe +from frappe.utils import now_datetime, nowdate + from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.hr.doctype.employee_checkin.employee_checkin import ( + add_log_based_on_employee_field, + calculate_working_hours, + mark_attendance_and_link_log, +) + class TestEmployeeCheckin(unittest.TestCase): def test_add_log_based_on_employee_field(self): diff --git a/erpnext/hr/doctype/employee_education/employee_education.py b/erpnext/hr/doctype/employee_education/employee_education.py index f0a76172b2..cadf5d6459 100644 --- a/erpnext/hr/doctype/employee_education/employee_education.py +++ b/erpnext/hr/doctype/employee_education/employee_education.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class EmployeeEducation(Document): pass diff --git a/erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.py b/erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.py index 517ef57be8..4d0e8d9b74 100644 --- a/erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.py +++ b/erpnext/hr/doctype/employee_external_work_history/employee_external_work_history.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class EmployeeExternalWorkHistory(Document): pass diff --git a/erpnext/hr/doctype/employee_grade/employee_grade.py b/erpnext/hr/doctype/employee_grade/employee_grade.py index 42a9f16135..b097038b5c 100644 --- a/erpnext/hr/doctype/employee_grade/employee_grade.py +++ b/erpnext/hr/doctype/employee_grade/employee_grade.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeGrade(Document): pass diff --git a/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py b/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py index df67910418..92d9fa082c 100644 --- a/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py +++ b/erpnext/hr/doctype/employee_grade/employee_grade_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'transactions': [ diff --git a/erpnext/hr/doctype/employee_grade/test_employee_grade.py b/erpnext/hr/doctype/employee_grade/test_employee_grade.py index 93058cf108..cd4fcb5aeb 100644 --- a/erpnext/hr/doctype/employee_grade/test_employee_grade.py +++ b/erpnext/hr/doctype/employee_grade/test_employee_grade.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeGrade(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/employee_grievance/employee_grievance.py b/erpnext/hr/doctype/employee_grievance/employee_grievance.py index 17055829ef..fd9a33b377 100644 --- a/erpnext/hr/doctype/employee_grievance/employee_grievance.py +++ b/erpnext/hr/doctype/employee_grievance/employee_grievance.py @@ -5,6 +5,7 @@ import frappe from frappe import _, bold from frappe.model.document import Document + class EmployeeGrievance(Document): def on_submit(self): if self.status not in ["Invalid", "Resolved"]: diff --git a/erpnext/hr/doctype/employee_grievance/test_employee_grievance.py b/erpnext/hr/doctype/employee_grievance/test_employee_grievance.py index ed897ee103..e2d0002aa6 100644 --- a/erpnext/hr/doctype/employee_grievance/test_employee_grievance.py +++ b/erpnext/hr/doctype/employee_grievance/test_employee_grievance.py @@ -1,10 +1,14 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import frappe import unittest + +import frappe from frappe.utils import today + from erpnext.hr.doctype.employee.test_employee import make_employee + + class TestEmployeeGrievance(unittest.TestCase): def test_create_employee_grievance(self): create_employee_grievance() diff --git a/erpnext/hr/doctype/employee_group/employee_group.py b/erpnext/hr/doctype/employee_group/employee_group.py index 3025877b8e..b2fe5eb3ad 100644 --- a/erpnext/hr/doctype/employee_group/employee_group.py +++ b/erpnext/hr/doctype/employee_group/employee_group.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class EmployeeGroup(Document): pass diff --git a/erpnext/hr/doctype/employee_group/test_employee_group.py b/erpnext/hr/doctype/employee_group/test_employee_group.py index 26a61c407b..053e840740 100644 --- a/erpnext/hr/doctype/employee_group/test_employee_group.py +++ b/erpnext/hr/doctype/employee_group/test_employee_group.py @@ -2,10 +2,14 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe + import unittest + +import frappe + from erpnext.hr.doctype.employee.test_employee import make_employee + class TestEmployeeGroup(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/employee_group_table/employee_group_table.py b/erpnext/hr/doctype/employee_group_table/employee_group_table.py index 816611d018..d9407a96fa 100644 --- a/erpnext/hr/doctype/employee_group_table/employee_group_table.py +++ b/erpnext/hr/doctype/employee_group_table/employee_group_table.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class EmployeeGroupTable(Document): pass diff --git a/erpnext/hr/doctype/employee_health_insurance/employee_health_insurance.py b/erpnext/hr/doctype/employee_health_insurance/employee_health_insurance.py index abc01ef8d4..4f2d1a0765 100644 --- a/erpnext/hr/doctype/employee_health_insurance/employee_health_insurance.py +++ b/erpnext/hr/doctype/employee_health_insurance/employee_health_insurance.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeHealthInsurance(Document): pass diff --git a/erpnext/hr/doctype/employee_health_insurance/test_employee_health_insurance.py b/erpnext/hr/doctype/employee_health_insurance/test_employee_health_insurance.py index f0787f52d2..38e3ee316b 100644 --- a/erpnext/hr/doctype/employee_health_insurance/test_employee_health_insurance.py +++ b/erpnext/hr/doctype/employee_health_insurance/test_employee_health_insurance.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeHealthInsurance(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.py b/erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.py index 2f385a8113..6076abb346 100644 --- a/erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.py +++ b/erpnext/hr/doctype/employee_internal_work_history/employee_internal_work_history.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class EmployeeInternalWorkHistory(Document): pass diff --git a/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py b/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py index ca9b2987a6..e96447b797 100644 --- a/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py +++ b/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from erpnext.controllers.employee_boarding_controller import EmployeeBoardingController from frappe.model.mapper import get_mapped_doc +from erpnext.controllers.employee_boarding_controller import EmployeeBoardingController + + class IncompleteTaskError(frappe.ValidationError): pass class EmployeeOnboarding(EmployeeBoardingController): diff --git a/erpnext/hr/doctype/employee_onboarding/test_employee_onboarding.py b/erpnext/hr/doctype/employee_onboarding/test_employee_onboarding.py index ea46aa24a6..eae600db7b 100644 --- a/erpnext/hr/doctype/employee_onboarding/test_employee_onboarding.py +++ b/erpnext/hr/doctype/employee_onboarding/test_employee_onboarding.py @@ -3,13 +3,18 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import getdate -from erpnext.hr.doctype.employee_onboarding.employee_onboarding import make_employee -from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_holiday_list -from erpnext.hr.doctype.employee_onboarding.employee_onboarding import IncompleteTaskError + +from erpnext.hr.doctype.employee_onboarding.employee_onboarding import ( + IncompleteTaskError, + make_employee, +) from erpnext.hr.doctype.job_offer.test_job_offer import create_job_offer +from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_holiday_list + class TestEmployeeOnboarding(unittest.TestCase): def setUp(self): diff --git a/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template.py b/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template.py index 6f1c316731..a46b3cdda3 100644 --- a/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template.py +++ b/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeOnboardingTemplate(Document): pass diff --git a/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template_dashboard.py b/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template_dashboard.py index ab0eb2f5dc..1d2e8ae18d 100644 --- a/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template_dashboard.py +++ b/erpnext/hr/doctype/employee_onboarding_template/employee_onboarding_template_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/employee_onboarding_template/test_employee_onboarding_template.py b/erpnext/hr/doctype/employee_onboarding_template/test_employee_onboarding_template.py index f4b5b88342..92a328b71e 100644 --- a/erpnext/hr/doctype/employee_onboarding_template/test_employee_onboarding_template.py +++ b/erpnext/hr/doctype/employee_onboarding_template/test_employee_onboarding_template.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeOnboardingTemplate(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/employee_promotion/employee_promotion.py b/erpnext/hr/doctype/employee_promotion/employee_promotion.py index a3a61834c8..164d48b895 100644 --- a/erpnext/hr/doctype/employee_promotion/employee_promotion.py +++ b/erpnext/hr/doctype/employee_promotion/employee_promotion.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import getdate + from erpnext.hr.utils import update_employee, validate_active_employee + class EmployeePromotion(Document): def validate(self): validate_active_employee(self.employee) diff --git a/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py b/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py index 9e7d3186b8..39af6ff7cc 100644 --- a/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py +++ b/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py @@ -3,11 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import getdate, add_days + +import frappe +from frappe.utils import add_days, getdate + from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee + class TestEmployeePromotion(unittest.TestCase): def setUp(self): self.employee = make_employee("employee@promotions.com") diff --git a/erpnext/hr/doctype/employee_property_history/employee_property_history.py b/erpnext/hr/doctype/employee_property_history/employee_property_history.py index fb67852d16..9e2549284f 100644 --- a/erpnext/hr/doctype/employee_property_history/employee_property_history.py +++ b/erpnext/hr/doctype/employee_property_history/employee_property_history.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeePropertyHistory(Document): pass diff --git a/erpnext/hr/doctype/employee_referral/employee_referral.py b/erpnext/hr/doctype/employee_referral/employee_referral.py index 547a95e3bd..5cb5bb5fd3 100644 --- a/erpnext/hr/doctype/employee_referral/employee_referral.py +++ b/erpnext/hr/doctype/employee_referral/employee_referral.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import get_link_to_form from frappe.model.document import Document +from frappe.utils import get_link_to_form + from erpnext.hr.utils import validate_active_employee + class EmployeeReferral(Document): def validate(self): validate_active_employee(self.referrer) @@ -56,6 +59,7 @@ def create_job_applicant(source_name, target_doc=None): @frappe.whitelist() def create_additional_salary(doc): import json + from six import string_types if isinstance(doc, string_types): diff --git a/erpnext/hr/doctype/employee_referral/employee_referral_dashboard.py b/erpnext/hr/doctype/employee_referral/employee_referral_dashboard.py index caca2961a1..85d6c2089b 100644 --- a/erpnext/hr/doctype/employee_referral/employee_referral_dashboard.py +++ b/erpnext/hr/doctype/employee_referral/employee_referral_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'employee_referral', diff --git a/erpnext/hr/doctype/employee_referral/test_employee_referral.py b/erpnext/hr/doctype/employee_referral/test_employee_referral.py index 599f326224..d0ee2fcdea 100644 --- a/erpnext/hr/doctype/employee_referral/test_employee_referral.py +++ b/erpnext/hr/doctype/employee_referral/test_employee_referral.py @@ -3,12 +3,18 @@ # See license.txt from __future__ import unicode_literals +import unittest + import frappe from frappe.utils import today + from erpnext.hr.doctype.designation.test_designation import create_designation -from erpnext.hr.doctype.employee_referral.employee_referral import create_job_applicant, create_additional_salary from erpnext.hr.doctype.employee.test_employee import make_employee -import unittest +from erpnext.hr.doctype.employee_referral.employee_referral import ( + create_additional_salary, + create_job_applicant, +) + class TestEmployeeReferral(unittest.TestCase): def test_workflow_and_status_sync(self): diff --git a/erpnext/hr/doctype/employee_separation/employee_separation.py b/erpnext/hr/doctype/employee_separation/employee_separation.py index 8afee25d31..ad279e8ce4 100644 --- a/erpnext/hr/doctype/employee_separation/employee_separation.py +++ b/erpnext/hr/doctype/employee_separation/employee_separation.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + from erpnext.controllers.employee_boarding_controller import EmployeeBoardingController + class EmployeeSeparation(EmployeeBoardingController): def validate(self): super(EmployeeSeparation, self).validate() diff --git a/erpnext/hr/doctype/employee_separation/test_employee_separation.py b/erpnext/hr/doctype/employee_separation/test_employee_separation.py index 2c11cbbe2c..c7068dd78d 100644 --- a/erpnext/hr/doctype/employee_separation/test_employee_separation.py +++ b/erpnext/hr/doctype/employee_separation/test_employee_separation.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals +import unittest + import frappe from frappe.utils import getdate -import unittest test_dependencies = ['Employee Onboarding'] diff --git a/erpnext/hr/doctype/employee_separation_template/employee_separation_template.py b/erpnext/hr/doctype/employee_separation_template/employee_separation_template.py index 0508fc462e..7a263dcac1 100644 --- a/erpnext/hr/doctype/employee_separation_template/employee_separation_template.py +++ b/erpnext/hr/doctype/employee_separation_template/employee_separation_template.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeSeparationTemplate(Document): pass diff --git a/erpnext/hr/doctype/employee_separation_template/employee_separation_template_dashboard.py b/erpnext/hr/doctype/employee_separation_template/employee_separation_template_dashboard.py index 75f985cec3..970ba26d79 100644 --- a/erpnext/hr/doctype/employee_separation_template/employee_separation_template_dashboard.py +++ b/erpnext/hr/doctype/employee_separation_template/employee_separation_template_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/employee_separation_template/test_employee_separation_template.py b/erpnext/hr/doctype/employee_separation_template/test_employee_separation_template.py index 3fd3d398bd..4c91a79103 100644 --- a/erpnext/hr/doctype/employee_separation_template/test_employee_separation_template.py +++ b/erpnext/hr/doctype/employee_separation_template/test_employee_separation_template.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeSeparationTemplate(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/employee_skill/employee_skill.py b/erpnext/hr/doctype/employee_skill/employee_skill.py index ac05fba624..6f860c6c59 100644 --- a/erpnext/hr/doctype/employee_skill/employee_skill.py +++ b/erpnext/hr/doctype/employee_skill/employee_skill.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeSkill(Document): pass diff --git a/erpnext/hr/doctype/employee_skill_map/employee_skill_map.py b/erpnext/hr/doctype/employee_skill_map/employee_skill_map.py index 073f02fa25..d93c22f2ab 100644 --- a/erpnext/hr/doctype/employee_skill_map/employee_skill_map.py +++ b/erpnext/hr/doctype/employee_skill_map/employee_skill_map.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeSkillMap(Document): pass diff --git a/erpnext/hr/doctype/employee_training/employee_training.py b/erpnext/hr/doctype/employee_training/employee_training.py index 810796d66c..068116a77f 100644 --- a/erpnext/hr/doctype/employee_training/employee_training.py +++ b/erpnext/hr/doctype/employee_training/employee_training.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeTraining(Document): pass diff --git a/erpnext/hr/doctype/employee_transfer/employee_transfer.py b/erpnext/hr/doctype/employee_transfer/employee_transfer.py index c2007747fb..b1f66098f0 100644 --- a/erpnext/hr/doctype/employee_transfer/employee_transfer.py +++ b/erpnext/hr/doctype/employee_transfer/employee_transfer.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import getdate + from erpnext.hr.utils import update_employee + class EmployeeTransfer(Document): def before_submit(self): if getdate(self.transfer_date) > getdate(): diff --git a/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py b/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py index 93fc7a2705..ad2f3ade05 100644 --- a/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py +++ b/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py @@ -3,11 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import getdate, add_days + +import frappe +from frappe.utils import add_days, getdate + from erpnext.hr.doctype.employee.test_employee import make_employee + class TestEmployeeTransfer(unittest.TestCase): def setUp(self): make_employee("employee2@transfers.com") diff --git a/erpnext/hr/doctype/employee_transfer_property/employee_transfer_property.py b/erpnext/hr/doctype/employee_transfer_property/employee_transfer_property.py index 1a665dc100..f67fd7c656 100644 --- a/erpnext/hr/doctype/employee_transfer_property/employee_transfer_property.py +++ b/erpnext/hr/doctype/employee_transfer_property/employee_transfer_property.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeTransferProperty(Document): pass diff --git a/erpnext/hr/doctype/employee_transfer_property/test_employee_transfer_property.py b/erpnext/hr/doctype/employee_transfer_property/test_employee_transfer_property.py index 39c20a6f71..287dac66f1 100644 --- a/erpnext/hr/doctype/employee_transfer_property/test_employee_transfer_property.py +++ b/erpnext/hr/doctype/employee_transfer_property/test_employee_transfer_property.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeTransferProperty(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/employment_type/employment_type.py b/erpnext/hr/doctype/employment_type/employment_type.py index 00aa6bb9bc..e2a55570fd 100644 --- a/erpnext/hr/doctype/employment_type/employment_type.py +++ b/erpnext/hr/doctype/employment_type/employment_type.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class EmploymentType(Document): pass diff --git a/erpnext/hr/doctype/employment_type/test_employment_type.py b/erpnext/hr/doctype/employment_type/test_employment_type.py index 0297ffa01a..2ba4e8c1a4 100644 --- a/erpnext/hr/doctype/employment_type/test_employment_type.py +++ b/erpnext/hr/doctype/employment_type/test_employment_type.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Employment Type') diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py index 4dc089cb1d..d785db7872 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.py +++ b/erpnext/hr/doctype/expense_claim/expense_claim.py @@ -2,17 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import get_fullname, flt, cstr, get_link_to_form -from frappe.model.document import Document -from erpnext.hr.utils import set_employee_name, share_doc_with_approver, validate_active_employee -from erpnext.accounts.party import get_party_account -from erpnext.accounts.general_ledger import make_gl_entries +from frappe.utils import cstr, flt, get_link_to_form + +import erpnext from erpnext.accounts.doctype.sales_invoice.sales_invoice import get_bank_cash_account +from erpnext.accounts.general_ledger import make_gl_entries from erpnext.controllers.accounts_controller import AccountsController -from frappe.utils.csvutils import getlink -from erpnext.accounts.utils import get_account_currency +from erpnext.hr.utils import set_employee_name, share_doc_with_approver, validate_active_employee + class InvalidExpenseApproverError(frappe.ValidationError): pass class ExpenseApproverIdentityError(frappe.ValidationError): pass diff --git a/erpnext/hr/doctype/expense_claim/expense_claim_dashboard.py b/erpnext/hr/doctype/expense_claim/expense_claim_dashboard.py index fe97350701..a5682dc1e9 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim_dashboard.py +++ b/erpnext/hr/doctype/expense_claim/expense_claim_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'reference_name', diff --git a/erpnext/hr/doctype/expense_claim/test_expense_claim.py b/erpnext/hr/doctype/expense_claim/test_expense_claim.py index d61c590ac9..9cb65f7e08 100644 --- a/erpnext/hr/doctype/expense_claim/test_expense_claim.py +++ b/erpnext/hr/doctype/expense_claim/test_expense_claim.py @@ -2,12 +2,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import random_string, nowdate, flt -from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry + +import frappe +from frappe.utils import flt, nowdate, random_string + from erpnext.accounts.doctype.account.test_account import create_account from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry test_records = frappe.get_test_records('Expense Claim') test_dependencies = ['Employee'] diff --git a/erpnext/hr/doctype/expense_claim_account/expense_claim_account.py b/erpnext/hr/doctype/expense_claim_account/expense_claim_account.py index f34633cf58..a982002ebb 100644 --- a/erpnext/hr/doctype/expense_claim_account/expense_claim_account.py +++ b/erpnext/hr/doctype/expense_claim_account/expense_claim_account.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ExpenseClaimAccount(Document): pass diff --git a/erpnext/hr/doctype/expense_claim_advance/expense_claim_advance.py b/erpnext/hr/doctype/expense_claim_advance/expense_claim_advance.py index c4e7b026e3..5607f41d91 100644 --- a/erpnext/hr/doctype/expense_claim_advance/expense_claim_advance.py +++ b/erpnext/hr/doctype/expense_claim_advance/expense_claim_advance.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ExpenseClaimAdvance(Document): pass diff --git a/erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.py b/erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.py index 5d48990c5c..019e9f4dfe 100644 --- a/erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.py +++ b/erpnext/hr/doctype/expense_claim_detail/expense_claim_detail.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ExpenseClaimDetail(Document): pass diff --git a/erpnext/hr/doctype/expense_claim_type/expense_claim_type.py b/erpnext/hr/doctype/expense_claim_type/expense_claim_type.py index a637a54021..101461c54b 100644 --- a/erpnext/hr/doctype/expense_claim_type/expense_claim_type.py +++ b/erpnext/hr/doctype/expense_claim_type/expense_claim_type.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class ExpenseClaimType(Document): def validate(self): self.validate_accounts() diff --git a/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.py b/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.py index 1d894308d3..f0c900e6ef 100644 --- a/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.py +++ b/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Expense Claim Type') diff --git a/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.py b/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.py index 4103bef1ff..596e8c719a 100644 --- a/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.py +++ b/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ExpenseTaxesandCharges(Document): pass diff --git a/erpnext/hr/doctype/full_and_final_asset/full_and_final_asset.py b/erpnext/hr/doctype/full_and_final_asset/full_and_final_asset.py index 23372240c6..661af7da88 100644 --- a/erpnext/hr/doctype/full_and_final_asset/full_and_final_asset.py +++ b/erpnext/hr/doctype/full_and_final_asset/full_and_final_asset.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class FullandFinalAsset(Document): pass diff --git a/erpnext/hr/doctype/full_and_final_asset/test_full_and_final_asset.py b/erpnext/hr/doctype/full_and_final_asset/test_full_and_final_asset.py index 6d59c99a16..9afe0f2c16 100644 --- a/erpnext/hr/doctype/full_and_final_asset/test_full_and_final_asset.py +++ b/erpnext/hr/doctype/full_and_final_asset/test_full_and_final_asset.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestFullandFinalAsset(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/full_and_final_outstanding_statement/full_and_final_outstanding_statement.py b/erpnext/hr/doctype/full_and_final_outstanding_statement/full_and_final_outstanding_statement.py index d53cd91642..4b239abec3 100644 --- a/erpnext/hr/doctype/full_and_final_outstanding_statement/full_and_final_outstanding_statement.py +++ b/erpnext/hr/doctype/full_and_final_outstanding_statement/full_and_final_outstanding_statement.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class FullandFinalOutstandingStatement(Document): pass diff --git a/erpnext/hr/doctype/full_and_final_statement/full_and_final_statement.py b/erpnext/hr/doctype/full_and_final_statement/full_and_final_statement.py index 4c98cf1adb..f539537fdb 100644 --- a/erpnext/hr/doctype/full_and_final_statement/full_and_final_statement.py +++ b/erpnext/hr/doctype/full_and_final_statement/full_and_final_statement.py @@ -3,8 +3,9 @@ import frappe from frappe import _ -from frappe.utils import get_link_to_form, today, flt from frappe.model.document import Document +from frappe.utils import flt, get_link_to_form, today + class FullandFinalStatement(Document): def validate(self): diff --git a/erpnext/hr/doctype/full_and_final_statement/test_full_and_final_statement.py b/erpnext/hr/doctype/full_and_final_statement/test_full_and_final_statement.py index 8ecc129ccd..f6c1d1545b 100644 --- a/erpnext/hr/doctype/full_and_final_statement/test_full_and_final_statement.py +++ b/erpnext/hr/doctype/full_and_final_statement/test_full_and_final_statement.py @@ -1,13 +1,16 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -import frappe -from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.assets.doctype.asset.test_asset import create_asset_data -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt -from frappe.utils import today, add_days import unittest +import frappe +from frappe.utils import add_days, today + +from erpnext.assets.doctype.asset.test_asset import create_asset_data +from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt + + class TestFullandFinalStatement(unittest.TestCase): def setUp(self): diff --git a/erpnext/hr/doctype/grievance_type/grievance_type.py b/erpnext/hr/doctype/grievance_type/grievance_type.py index 618cf0a031..5d8d41cb73 100644 --- a/erpnext/hr/doctype/grievance_type/grievance_type.py +++ b/erpnext/hr/doctype/grievance_type/grievance_type.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class GrievanceType(Document): pass diff --git a/erpnext/hr/doctype/grievance_type/test_grievance_type.py b/erpnext/hr/doctype/grievance_type/test_grievance_type.py index a02a34d41f..481f4e58a7 100644 --- a/erpnext/hr/doctype/grievance_type/test_grievance_type.py +++ b/erpnext/hr/doctype/grievance_type/test_grievance_type.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestGrievanceType(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/holiday/holiday.py b/erpnext/hr/doctype/holiday/holiday.py index 78a95b9b74..fbfe7563aa 100644 --- a/erpnext/hr/doctype/holiday/holiday.py +++ b/erpnext/hr/doctype/holiday/holiday.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class Holiday(Document): pass diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.py b/erpnext/hr/doctype/holiday_list/holiday_list.py index f65e6e1207..f46f14d841 100644 --- a/erpnext/hr/doctype/holiday_list/holiday_list.py +++ b/erpnext/hr/doctype/holiday_list/holiday_list.py @@ -3,11 +3,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import json -from frappe.utils import cint, getdate, formatdate, today -from frappe import throw, _ + +import frappe +from frappe import _, throw from frappe.model.document import Document +from frappe.utils import cint, formatdate, getdate, today + class OverlapError(frappe.ValidationError): pass @@ -44,9 +47,10 @@ class HolidayList(Document): def get_weekly_off_date_list(self, start_date, end_date): start_date, end_date = getdate(start_date), getdate(end_date) - from dateutil import relativedelta - from datetime import timedelta import calendar + from datetime import timedelta + + from dateutil import relativedelta date_list = [] existing_date_list = [] diff --git a/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py b/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py index 05641c7dc2..bbba36af87 100644 --- a/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py +++ b/erpnext/hr/doctype/holiday_list/holiday_list_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'holiday_list', diff --git a/erpnext/hr/doctype/holiday_list/test_holiday_list.py b/erpnext/hr/doctype/holiday_list/test_holiday_list.py index 64bed6637b..27131932db 100644 --- a/erpnext/hr/doctype/holiday_list/test_holiday_list.py +++ b/erpnext/hr/doctype/holiday_list/test_holiday_list.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import getdate from datetime import timedelta +import frappe +from frappe.utils import getdate + class TestHolidayList(unittest.TestCase): def test_holiday_list(self): diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.py b/erpnext/hr/doctype/hr_settings/hr_settings.py index a47409363c..c295bcbc0d 100644 --- a/erpnext/hr/doctype/hr_settings/hr_settings.py +++ b/erpnext/hr/doctype/hr_settings/hr_settings.py @@ -4,7 +4,6 @@ # For license information, please see license.txt import frappe - from frappe.model.document import Document from frappe.utils import format_date diff --git a/erpnext/hr/doctype/hr_settings/test_hr_settings.py b/erpnext/hr/doctype/hr_settings/test_hr_settings.py index b0b07b0c0b..69a060a90f 100644 --- a/erpnext/hr/doctype/hr_settings/test_hr_settings.py +++ b/erpnext/hr/doctype/hr_settings/test_hr_settings.py @@ -3,11 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.hr.doctype.employee.test_employee import make_employee -from frappe.utils import now_datetime -from datetime import timedelta + class TestHRSettings(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/identification_document_type/identification_document_type.py b/erpnext/hr/doctype/identification_document_type/identification_document_type.py index d9d81d2fa8..862cd374fb 100644 --- a/erpnext/hr/doctype/identification_document_type/identification_document_type.py +++ b/erpnext/hr/doctype/identification_document_type/identification_document_type.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class IdentificationDocumentType(Document): pass diff --git a/erpnext/hr/doctype/identification_document_type/test_identification_document_type.py b/erpnext/hr/doctype/identification_document_type/test_identification_document_type.py index 1265afaf45..87f302450d 100644 --- a/erpnext/hr/doctype/identification_document_type/test_identification_document_type.py +++ b/erpnext/hr/doctype/identification_document_type/test_identification_document_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestIdentificationDocumentType(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/interest/interest.py b/erpnext/hr/doctype/interest/interest.py index 2a9c19c09d..1b8f49f958 100644 --- a/erpnext/hr/doctype/interest/interest.py +++ b/erpnext/hr/doctype/interest/interest.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class Interest(Document): pass diff --git a/erpnext/hr/doctype/interest/test_interest.py b/erpnext/hr/doctype/interest/test_interest.py index a7fe83bccc..f3727bee0b 100644 --- a/erpnext/hr/doctype/interest/test_interest.py +++ b/erpnext/hr/doctype/interest/test_interest.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Interest') diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.py b/erpnext/hr/doctype/job_applicant/job_applicant.py index 14aeb03a87..6971e5b4fe 100644 --- a/erpnext/hr/doctype/job_applicant/job_applicant.py +++ b/erpnext/hr/doctype/job_applicant/job_applicant.py @@ -4,11 +4,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + import frappe from frappe import _ +from frappe.model.document import Document from frappe.utils import comma_and, validate_email_address + class DuplicationError(frappe.ValidationError): pass class JobApplicant(Document): diff --git a/erpnext/hr/doctype/job_applicant/job_applicant_dashboard.py b/erpnext/hr/doctype/job_applicant/job_applicant_dashboard.py index ed97978a8a..c0059431cf 100644 --- a/erpnext/hr/doctype/job_applicant/job_applicant_dashboard.py +++ b/erpnext/hr/doctype/job_applicant/job_applicant_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/job_applicant/test_job_applicant.py b/erpnext/hr/doctype/job_applicant/test_job_applicant.py index 872834230e..e583e25eae 100644 --- a/erpnext/hr/doctype/job_applicant/test_job_applicant.py +++ b/erpnext/hr/doctype/job_applicant/test_job_applicant.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + # test_records = frappe.get_test_records('Job Applicant') class TestJobApplicant(unittest.TestCase): diff --git a/erpnext/hr/doctype/job_applicant_source/job_applicant_source.py b/erpnext/hr/doctype/job_applicant_source/job_applicant_source.py index 5f543d285c..9139584aa5 100644 --- a/erpnext/hr/doctype/job_applicant_source/job_applicant_source.py +++ b/erpnext/hr/doctype/job_applicant_source/job_applicant_source.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class JobApplicantSource(Document): pass diff --git a/erpnext/hr/doctype/job_applicant_source/test_job_applicant_source.py b/erpnext/hr/doctype/job_applicant_source/test_job_applicant_source.py index f318df20f7..0c29124560 100644 --- a/erpnext/hr/doctype/job_applicant_source/test_job_applicant_source.py +++ b/erpnext/hr/doctype/job_applicant_source/test_job_applicant_source.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestJobApplicantSource(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/job_offer/job_offer.py b/erpnext/hr/doctype/job_offer/job_offer.py index 7e650f7691..07a7809891 100644 --- a/erpnext/hr/doctype/job_offer/job_offer.py +++ b/erpnext/hr/doctype/job_offer/job_offer.py @@ -2,13 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cint +from frappe import _ from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc -from frappe import _ +from frappe.utils import cint from frappe.utils.data import get_link_to_form + class JobOffer(Document): def onload(self): employee = frappe.db.get_value("Employee", {"job_applicant": self.job_applicant}, "name") or "" diff --git a/erpnext/hr/doctype/job_offer/test_job_offer.py b/erpnext/hr/doctype/job_offer/test_job_offer.py index edb21321fc..3f3eca17e6 100644 --- a/erpnext/hr/doctype/job_offer/test_job_offer.py +++ b/erpnext/hr/doctype/job_offer/test_job_offer.py @@ -2,11 +2,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, add_days -from erpnext.hr.doctype.job_applicant.test_job_applicant import create_job_applicant + +import frappe +from frappe.utils import add_days, nowdate + from erpnext.hr.doctype.designation.test_designation import create_designation +from erpnext.hr.doctype.job_applicant.test_job_applicant import create_job_applicant from erpnext.hr.doctype.staffing_plan.test_staffing_plan import make_company # test_records = frappe.get_test_records('Job Offer') diff --git a/erpnext/hr/doctype/job_offer_term/job_offer_term.py b/erpnext/hr/doctype/job_offer_term/job_offer_term.py index 6dbe6757a7..573cc6ae21 100644 --- a/erpnext/hr/doctype/job_offer_term/job_offer_term.py +++ b/erpnext/hr/doctype/job_offer_term/job_offer_term.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class JobOfferTerm(Document): pass diff --git a/erpnext/hr/doctype/job_opening/job_opening.py b/erpnext/hr/doctype/job_opening/job_opening.py index 1e89767177..38d9a71817 100644 --- a/erpnext/hr/doctype/job_opening/job_opening.py +++ b/erpnext/hr/doctype/job_opening/job_opening.py @@ -4,11 +4,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.website.website_generator import WebsiteGenerator +import frappe from frappe import _ -from erpnext.hr.doctype.staffing_plan.staffing_plan import get_designation_counts, get_active_staffing_plan_details +from frappe.website.website_generator import WebsiteGenerator + +from erpnext.hr.doctype.staffing_plan.staffing_plan import ( + get_active_staffing_plan_details, + get_designation_counts, +) + class JobOpening(WebsiteGenerator): website = frappe._dict( diff --git a/erpnext/hr/doctype/job_opening/job_opening_dashboard.py b/erpnext/hr/doctype/job_opening/job_opening_dashboard.py index 31ef33ef2c..a13e2a7c23 100644 --- a/erpnext/hr/doctype/job_opening/job_opening_dashboard.py +++ b/erpnext/hr/doctype/job_opening/job_opening_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/job_opening/test_job_opening.py b/erpnext/hr/doctype/job_opening/test_job_opening.py index 815ce5bdb8..a66975c91e 100644 --- a/erpnext/hr/doctype/job_opening/test_job_opening.py +++ b/erpnext/hr/doctype/job_opening/test_job_opening.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Job Opening') diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py index 4757cd3b19..e4886d7ae7 100755 --- a/erpnext/hr/doctype/leave_allocation/leave_allocation.py +++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.py @@ -2,13 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt, date_diff, formatdate, add_days, today, getdate from frappe import _ from frappe.model.document import Document -from erpnext.hr.utils import set_employee_name, get_leave_period -from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import expire_allocation, create_leave_ledger_entry +from frappe.utils import add_days, date_diff, flt, formatdate, getdate + from erpnext.hr.doctype.leave_application.leave_application import get_approved_leaves_for_period +from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import ( + create_leave_ledger_entry, + expire_allocation, +) +from erpnext.hr.utils import get_leave_period, set_employee_name + class OverlapError(frappe.ValidationError): pass class BackDatedAllocationError(frappe.ValidationError): pass diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation_dashboard.py b/erpnext/hr/doctype/leave_allocation/leave_allocation_dashboard.py index 7a063d92ea..84423bd2b4 100644 --- a/erpnext/hr/doctype/leave_allocation/leave_allocation_dashboard.py +++ b/erpnext/hr/doctype/leave_allocation/leave_allocation_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py index fdcd533660..b1850562e3 100644 --- a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py +++ b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py @@ -1,10 +1,15 @@ from __future__ import unicode_literals -import frappe -import erpnext + import unittest -from frappe.utils import nowdate, add_months, getdate, add_days + +import frappe +from frappe.utils import add_days, add_months, getdate, nowdate + +import erpnext +from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import process_expired_allocation from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type -from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import process_expired_allocation, expire_allocation + + class TestLeaveAllocation(unittest.TestCase): @classmethod def setUpClass(cls): diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py index 2e37c13594..9e6fc6d0f1 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.py +++ b/erpnext/hr/doctype/leave_application/leave_application.py @@ -2,14 +2,33 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import cint, cstr, date_diff, flt, formatdate, getdate, get_link_to_form, get_fullname, add_days, nowdate -from erpnext.hr.utils import set_employee_name, get_leave_period, share_doc_with_approver, validate_active_employee -from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates -from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee +from frappe.utils import ( + add_days, + cint, + cstr, + date_diff, + flt, + formatdate, + get_fullname, + get_link_to_form, + getdate, + nowdate, +) + from erpnext.buying.doctype.supplier_scorecard.supplier_scorecard import daterange +from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee +from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import create_leave_ledger_entry +from erpnext.hr.utils import ( + get_leave_period, + set_employee_name, + share_doc_with_approver, + validate_active_employee, +) + class LeaveDayBlockedError(frappe.ValidationError): pass class OverlapError(frappe.ValidationError): pass @@ -17,6 +36,8 @@ class AttendanceAlreadyMarkedError(frappe.ValidationError): pass class NotAnOptionalHoliday(frappe.ValidationError): pass from frappe.model.document import Document + + class LeaveApplication(Document): def get_feed(self): return _("{0}: From {0} of type {1}").format(self.employee_name, self.leave_type) diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py index 2832e2fad3..b9c785a8a9 100644 --- a/erpnext/hr/doctype/leave_application/test_leave_application.py +++ b/erpnext/hr/doctype/leave_application/test_leave_application.py @@ -2,16 +2,24 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError, NotAnOptionalHoliday, get_leave_balance_on +import frappe from frappe.permissions import clear_user_permissions_for_doctype -from frappe.utils import add_days, nowdate, now_datetime, getdate, add_months -from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type -from erpnext.hr.doctype.leave_allocation.test_leave_allocation import create_leave_allocation -from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import create_assignment_for_multiple_employees +from frappe.utils import add_days, add_months, getdate, nowdate + from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.hr.doctype.leave_allocation.test_leave_allocation import create_leave_allocation +from erpnext.hr.doctype.leave_application.leave_application import ( + LeaveDayBlockedError, + NotAnOptionalHoliday, + OverlapError, + get_leave_balance_on, +) +from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import ( + create_assignment_for_multiple_employees, +) +from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type test_dependencies = ["Leave Allocation", "Leave Block List", "Employee"] diff --git a/erpnext/hr/doctype/leave_block_list/leave_block_list.py b/erpnext/hr/doctype/leave_block_list/leave_block_list.py index 9cb9fc05ce..9ba079c6e1 100644 --- a/erpnext/hr/doctype/leave_block_list/leave_block_list.py +++ b/erpnext/hr/doctype/leave_block_list/leave_block_list.py @@ -4,10 +4,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class LeaveBlockList(Document): def validate(self): diff --git a/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py b/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py index 45aa4915bc..30e7572c38 100644 --- a/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py +++ b/erpnext/hr/doctype/leave_block_list/leave_block_list_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'leave_block_list', diff --git a/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py b/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py index 0eb69a55a7..dd90e4f9ee 100644 --- a/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py +++ b/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py @@ -2,12 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe from frappe.utils import getdate + from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates + class TestLeaveBlockList(unittest.TestCase): def tearDown(self): frappe.set_user("Administrator") diff --git a/erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.py b/erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.py index 8e5a09e01e..2f648470f7 100644 --- a/erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.py +++ b/erpnext/hr/doctype/leave_block_list_allow/leave_block_list_allow.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class LeaveBlockListAllow(Document): pass diff --git a/erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.py b/erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.py index 54978a1e83..4a8f45dbcd 100644 --- a/erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.py +++ b/erpnext/hr/doctype/leave_block_list_date/leave_block_list_date.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class LeaveBlockListDate(Document): pass diff --git a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py index 642ab6a813..681a5e2794 100644 --- a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py +++ b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import cint, cstr, flt, nowdate, comma_and, date_diff -from frappe import msgprint, _ +import frappe +from frappe import _, msgprint from frappe.model.document import Document +from frappe.utils import cint, comma_and, cstr, flt + class LeaveControlPanel(Document): def get_employees(self): diff --git a/erpnext/hr/doctype/leave_control_panel/test_leave_control_panel.py b/erpnext/hr/doctype/leave_control_panel/test_leave_control_panel.py index 9a907c885a..f64b2334e8 100644 --- a/erpnext/hr/doctype/leave_control_panel/test_leave_control_panel.py +++ b/erpnext/hr/doctype/leave_control_panel/test_leave_control_panel.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestLeaveControlPanel(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.py b/erpnext/hr/doctype/leave_encashment/leave_encashment.py index d136210a04..7656abfa45 100644 --- a/erpnext/hr/doctype/leave_encashment/leave_encashment.py +++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.py @@ -3,14 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import getdate, nowdate, flt -from erpnext.hr.utils import set_employee_name, validate_active_employee -from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import get_assigned_salary_structure -from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import create_leave_ledger_entry +from frappe.utils import getdate, nowdate + from erpnext.hr.doctype.leave_allocation.leave_allocation import get_unused_leaves +from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import create_leave_ledger_entry +from erpnext.hr.utils import set_employee_name, validate_active_employee +from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import ( + get_assigned_salary_structure, +) + class LeaveEncashment(Document): def validate(self): diff --git a/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py b/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py index c1da8b47ff..762745b88f 100644 --- a/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py +++ b/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py @@ -3,14 +3,18 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import today, add_months + +import frappe +from frappe.utils import add_months, today + from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure from erpnext.hr.doctype.leave_period.test_leave_period import create_leave_period -from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import create_assignment_for_multiple_employees -from erpnext.hr.doctype.leave_policy.test_leave_policy import create_leave_policy\ +from erpnext.hr.doctype.leave_policy.test_leave_policy import create_leave_policy +from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import ( + create_assignment_for_multiple_employees, +) +from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure test_dependencies = ["Leave Type"] diff --git a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py index 33a6243e60..6cf9685155 100644 --- a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py +++ b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ -from frappe.utils import add_days, today, flt, DATE_FORMAT, getdate +from frappe.model.document import Document +from frappe.utils import DATE_FORMAT, flt, getdate, today + class LeaveLedgerEntry(Document): def validate(self): diff --git a/erpnext/hr/doctype/leave_ledger_entry/test_leave_ledger_entry.py b/erpnext/hr/doctype/leave_ledger_entry/test_leave_ledger_entry.py index 6f7725c254..5fa419da43 100644 --- a/erpnext/hr/doctype/leave_ledger_entry/test_leave_ledger_entry.py +++ b/erpnext/hr/doctype/leave_ledger_entry/test_leave_ledger_entry.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLeaveLedgerEntry(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/leave_period/leave_period.py b/erpnext/hr/doctype/leave_period/leave_period.py index 86dccfc222..143d23ab14 100644 --- a/erpnext/hr/doctype/leave_period/leave_period.py +++ b/erpnext/hr/doctype/leave_period/leave_period.py @@ -3,12 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate, cstr, add_days, date_diff, ceil from frappe.model.document import Document +from frappe.utils import getdate + from erpnext.hr.utils import validate_overlap -from frappe.utils.background_jobs import enqueue + class LeavePeriod(Document): diff --git a/erpnext/hr/doctype/leave_period/leave_period_dashboard.py b/erpnext/hr/doctype/leave_period/leave_period_dashboard.py index 7c2c9632d8..a64c63af86 100644 --- a/erpnext/hr/doctype/leave_period/leave_period_dashboard.py +++ b/erpnext/hr/doctype/leave_period/leave_period_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'leave_period', diff --git a/erpnext/hr/doctype/leave_period/test_leave_period.py b/erpnext/hr/doctype/leave_period/test_leave_period.py index cbb34371fc..5c5ae133a1 100644 --- a/erpnext/hr/doctype/leave_period/test_leave_period.py +++ b/erpnext/hr/doctype/leave_period/test_leave_period.py @@ -3,9 +3,12 @@ # See license.txt from __future__ import unicode_literals -import frappe, erpnext import unittest +import frappe + +import erpnext + test_dependencies = ["Employee", "Leave Type", "Leave Policy"] class TestLeavePeriod(unittest.TestCase): diff --git a/erpnext/hr/doctype/leave_policy/leave_policy.py b/erpnext/hr/doctype/leave_policy/leave_policy.py index 964a5de83e..b11459d815 100644 --- a/erpnext/hr/doctype/leave_policy/leave_policy.py +++ b/erpnext/hr/doctype/leave_policy/leave_policy.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class LeavePolicy(Document): def validate(self): if self.leave_policy_details: diff --git a/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py b/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py index 474f3a77ad..76f886c73e 100644 --- a/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py +++ b/erpnext/hr/doctype/leave_policy/leave_policy_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'leave_policy', diff --git a/erpnext/hr/doctype/leave_policy/test_leave_policy.py b/erpnext/hr/doctype/leave_policy/test_leave_policy.py index af7567b5bc..b0743f535b 100644 --- a/erpnext/hr/doctype/leave_policy/test_leave_policy.py +++ b/erpnext/hr/doctype/leave_policy/test_leave_policy.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestLeavePolicy(unittest.TestCase): def test_max_leave_allowed(self): random_leave_type = frappe.get_all("Leave Type", fields=["name", "max_leaves_allowed"]) diff --git a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py index d7cb1c88c9..f62b300219 100644 --- a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py +++ b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py @@ -3,14 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document -from frappe import _, bold -from frappe.utils import getdate, date_diff, comma_and, formatdate, get_datetime, flt -from math import ceil + import json +from math import ceil + +import frappe +from frappe import _, bold +from frappe.model.document import Document +from frappe.utils import date_diff, flt, formatdate, get_datetime, getdate from six import string_types + class LeavePolicyAssignment(Document): def validate(self): diff --git a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_dashboard.py b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_dashboard.py index a2f7f5866b..79142a6342 100644 --- a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_dashboard.py +++ b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'leave_policy_assignment', diff --git a/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py b/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py index 0089804f51..cbb26a1e28 100644 --- a/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py +++ b/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py @@ -3,11 +3,18 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.hr.doctype.leave_application.test_leave_application import get_leave_period, get_employee -from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import create_assignment_for_multiple_employees + +import frappe + +from erpnext.hr.doctype.leave_application.test_leave_application import ( + get_employee, + get_leave_period, +) from erpnext.hr.doctype.leave_policy.test_leave_policy import create_leave_policy +from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import ( + create_assignment_for_multiple_employees, +) test_dependencies = ["Employee"] diff --git a/erpnext/hr/doctype/leave_policy_detail/leave_policy_detail.py b/erpnext/hr/doctype/leave_policy_detail/leave_policy_detail.py index c103f08cd9..f889424ee5 100644 --- a/erpnext/hr/doctype/leave_policy_detail/leave_policy_detail.py +++ b/erpnext/hr/doctype/leave_policy_detail/leave_policy_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LeavePolicyDetail(Document): pass diff --git a/erpnext/hr/doctype/leave_policy_detail/test_leave_policy_detail.py b/erpnext/hr/doctype/leave_policy_detail/test_leave_policy_detail.py index 610b1fa332..4cf9db26a2 100644 --- a/erpnext/hr/doctype/leave_policy_detail/test_leave_policy_detail.py +++ b/erpnext/hr/doctype/leave_policy_detail/test_leave_policy_detail.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestLeavePolicyDetail(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/leave_type/leave_type.py b/erpnext/hr/doctype/leave_type/leave_type.py index 21f180b857..195c8587b9 100644 --- a/erpnext/hr/doctype/leave_type/leave_type.py +++ b/erpnext/hr/doctype/leave_type/leave_type.py @@ -2,13 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import calendar -import frappe -from datetime import datetime -from frappe.utils import today -from frappe import _ +import frappe +from frappe import _ from frappe.model.document import Document +from frappe.utils import today + class LeaveType(Document): def validate(self): diff --git a/erpnext/hr/doctype/leave_type/leave_type_dashboard.py b/erpnext/hr/doctype/leave_type/leave_type_dashboard.py index c8944fcb9e..773d4e88be 100644 --- a/erpnext/hr/doctype/leave_type/leave_type_dashboard.py +++ b/erpnext/hr/doctype/leave_type/leave_type_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'leave_type', diff --git a/erpnext/hr/doctype/leave_type/test_leave_type.py b/erpnext/hr/doctype/leave_type/test_leave_type.py index 048dddd3ef..ee8db743f2 100644 --- a/erpnext/hr/doctype/leave_type/test_leave_type.py +++ b/erpnext/hr/doctype/leave_type/test_leave_type.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals import frappe -from frappe import _ test_records = frappe.get_test_records('Leave Type') diff --git a/erpnext/hr/doctype/offer_term/offer_term.py b/erpnext/hr/doctype/offer_term/offer_term.py index 6a63201106..5f8f591c97 100644 --- a/erpnext/hr/doctype/offer_term/offer_term.py +++ b/erpnext/hr/doctype/offer_term/offer_term.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class OfferTerm(Document): pass diff --git a/erpnext/hr/doctype/offer_term/test_offer_term.py b/erpnext/hr/doctype/offer_term/test_offer_term.py index d0dd14d1e6..ec7edd44c6 100644 --- a/erpnext/hr/doctype/offer_term/test_offer_term.py +++ b/erpnext/hr/doctype/offer_term/test_offer_term.py @@ -2,7 +2,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Offer Term') diff --git a/erpnext/hr/doctype/purpose_of_travel/purpose_of_travel.py b/erpnext/hr/doctype/purpose_of_travel/purpose_of_travel.py index 62f62a5c24..f66fd276a5 100644 --- a/erpnext/hr/doctype/purpose_of_travel/purpose_of_travel.py +++ b/erpnext/hr/doctype/purpose_of_travel/purpose_of_travel.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PurposeofTravel(Document): pass diff --git a/erpnext/hr/doctype/purpose_of_travel/test_purpose_of_travel.py b/erpnext/hr/doctype/purpose_of_travel/test_purpose_of_travel.py index ccd950dff3..b33f389a48 100644 --- a/erpnext/hr/doctype/purpose_of_travel/test_purpose_of_travel.py +++ b/erpnext/hr/doctype/purpose_of_travel/test_purpose_of_travel.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestPurposeofTravel(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/shift_assignment/shift_assignment.py b/erpnext/hr/doctype/shift_assignment/shift_assignment.py index 89ae4d535d..69af5c54c3 100644 --- a/erpnext/hr/doctype/shift_assignment/shift_assignment.py +++ b/erpnext/hr/doctype/shift_assignment/shift_assignment.py @@ -3,14 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from datetime import datetime, timedelta + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import cint, cstr, date_diff, flt, formatdate, getdate, now_datetime, nowdate +from frappe.utils import cstr, getdate, now_datetime, nowdate + from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday from erpnext.hr.utils import validate_active_employee -from datetime import timedelta, datetime + class ShiftAssignment(Document): def validate(self): diff --git a/erpnext/hr/doctype/shift_assignment/test_shift_assignment.py b/erpnext/hr/doctype/shift_assignment/test_shift_assignment.py index 07d92fe61d..84003e2ec2 100644 --- a/erpnext/hr/doctype/shift_assignment/test_shift_assignment.py +++ b/erpnext/hr/doctype/shift_assignment/test_shift_assignment.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, add_days + +import frappe +from frappe.utils import add_days, nowdate test_dependencies = ["Shift Type"] diff --git a/erpnext/hr/doctype/shift_request/shift_request.py b/erpnext/hr/doctype/shift_request/shift_request.py index 2731da125a..a6ac7c83ae 100644 --- a/erpnext/hr/doctype/shift_request/shift_request.py +++ b/erpnext/hr/doctype/shift_request/shift_request.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document from frappe.utils import formatdate, getdate + from erpnext.hr.utils import share_doc_with_approver, validate_active_employee + class OverlapError(frappe.ValidationError): pass class ShiftRequest(Document): diff --git a/erpnext/hr/doctype/shift_request/shift_request_dashboard.py b/erpnext/hr/doctype/shift_request/shift_request_dashboard.py index f70b61a20a..3ceafc0cef 100644 --- a/erpnext/hr/doctype/shift_request/shift_request_dashboard.py +++ b/erpnext/hr/doctype/shift_request/shift_request_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/shift_request/test_shift_request.py b/erpnext/hr/doctype/shift_request/test_shift_request.py index 60b7676e25..7b4a3ca5aa 100644 --- a/erpnext/hr/doctype/shift_request/test_shift_request.py +++ b/erpnext/hr/doctype/shift_request/test_shift_request.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, add_days + +import frappe +from frappe.utils import add_days, nowdate + from erpnext.hr.doctype.employee.test_employee import make_employee test_dependencies = ["Shift Type"] diff --git a/erpnext/hr/doctype/shift_type/shift_type.py b/erpnext/hr/doctype/shift_type/shift_type.py index d5fdda8094..e53373df27 100644 --- a/erpnext/hr/doctype/shift_type/shift_type.py +++ b/erpnext/hr/doctype/shift_type/shift_type.py @@ -3,16 +3,25 @@ # For license information, please see license.txt from __future__ import unicode_literals + import itertools from datetime import timedelta import frappe from frappe.model.document import Document -from frappe.utils import cint, getdate, get_datetime -from erpnext.hr.doctype.shift_assignment.shift_assignment import get_actual_start_end_datetime_of_shift, get_employee_shift -from erpnext.hr.doctype.employee_checkin.employee_checkin import mark_attendance_and_link_log, calculate_working_hours +from frappe.utils import cint, get_datetime, getdate + from erpnext.hr.doctype.attendance.attendance import mark_attendance from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee +from erpnext.hr.doctype.employee_checkin.employee_checkin import ( + calculate_working_hours, + mark_attendance_and_link_log, +) +from erpnext.hr.doctype.shift_assignment.shift_assignment import ( + get_actual_start_end_datetime_of_shift, + get_employee_shift, +) + class ShiftType(Document): @frappe.whitelist() diff --git a/erpnext/hr/doctype/shift_type/shift_type_dashboard.py b/erpnext/hr/doctype/shift_type/shift_type_dashboard.py index aedd190bcb..b78c69a2a1 100644 --- a/erpnext/hr/doctype/shift_type/shift_type_dashboard.py +++ b/erpnext/hr/doctype/shift_type/shift_type_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/shift_type/test_shift_type.py b/erpnext/hr/doctype/shift_type/test_shift_type.py index bc4f0eafcd..699030f219 100644 --- a/erpnext/hr/doctype/shift_type/test_shift_type.py +++ b/erpnext/hr/doctype/shift_type/test_shift_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestShiftType(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/skill/skill.py b/erpnext/hr/doctype/skill/skill.py index 8d24212075..ebaa410fbd 100644 --- a/erpnext/hr/doctype/skill/skill.py +++ b/erpnext/hr/doctype/skill/skill.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class Skill(Document): pass diff --git a/erpnext/hr/doctype/staffing_plan/staffing_plan.py b/erpnext/hr/doctype/staffing_plan/staffing_plan.py index e6c783aca2..57a92b0587 100644 --- a/erpnext/hr/doctype/staffing_plan/staffing_plan.py +++ b/erpnext/hr/doctype/staffing_plan/staffing_plan.py @@ -3,12 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ -from frappe.utils import getdate, nowdate, cint, flt +from frappe.model.document import Document +from frappe.utils import cint, flt, getdate, nowdate from frappe.utils.nestedset import get_descendants_of + class SubsidiaryCompanyError(frappe.ValidationError): pass class ParentCompanyError(frappe.ValidationError): pass diff --git a/erpnext/hr/doctype/staffing_plan/staffing_plan_dashboard.py b/erpnext/hr/doctype/staffing_plan/staffing_plan_dashboard.py index 8e89d53c8e..24ae122344 100644 --- a/erpnext/hr/doctype/staffing_plan/staffing_plan_dashboard.py +++ b/erpnext/hr/doctype/staffing_plan/staffing_plan_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/staffing_plan/test_staffing_plan.py b/erpnext/hr/doctype/staffing_plan/test_staffing_plan.py index 1c6218e9a7..4517cba233 100644 --- a/erpnext/hr/doctype/staffing_plan/test_staffing_plan.py +++ b/erpnext/hr/doctype/staffing_plan/test_staffing_plan.py @@ -3,11 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.hr.doctype.staffing_plan.staffing_plan import SubsidiaryCompanyError -from erpnext.hr.doctype.staffing_plan.staffing_plan import ParentCompanyError -from frappe.utils import nowdate, add_days + +import frappe +from frappe.utils import add_days, nowdate + +from erpnext.hr.doctype.staffing_plan.staffing_plan import ( + ParentCompanyError, + SubsidiaryCompanyError, +) test_dependencies = ["Designation"] diff --git a/erpnext/hr/doctype/staffing_plan_detail/staffing_plan_detail.py b/erpnext/hr/doctype/staffing_plan_detail/staffing_plan_detail.py index 28a651e72d..ea89df3ba6 100644 --- a/erpnext/hr/doctype/staffing_plan_detail/staffing_plan_detail.py +++ b/erpnext/hr/doctype/staffing_plan_detail/staffing_plan_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StaffingPlanDetail(Document): pass diff --git a/erpnext/hr/doctype/training_event/test_training_event.py b/erpnext/hr/doctype/training_event/test_training_event.py index 6a275b330c..ed44fa6070 100644 --- a/erpnext/hr/doctype/training_event/test_training_event.py +++ b/erpnext/hr/doctype/training_event/test_training_event.py @@ -3,11 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import today, add_days + +import frappe +from frappe.utils import add_days, today + from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee + class TestTrainingEvent(unittest.TestCase): def setUp(self): create_training_program("Basic Training") diff --git a/erpnext/hr/doctype/training_event/training_event.py b/erpnext/hr/doctype/training_event/training_event.py index e2c30cb314..9b01d3d902 100644 --- a/erpnext/hr/doctype/training_event/training_event.py +++ b/erpnext/hr/doctype/training_event/training_event.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document from frappe.utils import time_diff_in_seconds + from erpnext.hr.doctype.employee.employee import get_employee_emails + class TrainingEvent(Document): def validate(self): self.set_employee_emails() diff --git a/erpnext/hr/doctype/training_event/training_event_dashboard.py b/erpnext/hr/doctype/training_event/training_event_dashboard.py index 19afd8dd6e..a917c8744f 100644 --- a/erpnext/hr/doctype/training_event/training_event_dashboard.py +++ b/erpnext/hr/doctype/training_event/training_event_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/hr/doctype/training_event_employee/training_event_employee.py b/erpnext/hr/doctype/training_event_employee/training_event_employee.py index 234e958a21..089235507a 100644 --- a/erpnext/hr/doctype/training_event_employee/training_event_employee.py +++ b/erpnext/hr/doctype/training_event_employee/training_event_employee.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TrainingEventEmployee(Document): pass diff --git a/erpnext/hr/doctype/training_feedback/test_training_feedback.py b/erpnext/hr/doctype/training_feedback/test_training_feedback.py index 4c0c18029d..a9bf6d6bbd 100644 --- a/erpnext/hr/doctype/training_feedback/test_training_feedback.py +++ b/erpnext/hr/doctype/training_feedback/test_training_feedback.py @@ -3,10 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + +from erpnext.hr.doctype.training_event.test_training_event import ( + create_training_event, + create_training_program, +) from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee -from erpnext.hr.doctype.training_event.test_training_event import create_training_program, create_training_event + + class TestTrainingFeedback(unittest.TestCase): def setUp(self): create_training_program("Basic Training") diff --git a/erpnext/hr/doctype/training_feedback/training_feedback.py b/erpnext/hr/doctype/training_feedback/training_feedback.py index 3d4b9b3ea9..6a41a657ce 100644 --- a/erpnext/hr/doctype/training_feedback/training_feedback.py +++ b/erpnext/hr/doctype/training_feedback/training_feedback.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document + class TrainingFeedback(Document): def validate(self): diff --git a/erpnext/hr/doctype/training_program/test_training_program.py b/erpnext/hr/doctype/training_program/test_training_program.py index 9d5b28616b..aec319f407 100644 --- a/erpnext/hr/doctype/training_program/test_training_program.py +++ b/erpnext/hr/doctype/training_program/test_training_program.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestTrainingProgram(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/training_program/training_program.py b/erpnext/hr/doctype/training_program/training_program.py index 7a3720b66b..6f3ab5a806 100644 --- a/erpnext/hr/doctype/training_program/training_program.py +++ b/erpnext/hr/doctype/training_program/training_program.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class TrainingProgram(Document): pass diff --git a/erpnext/hr/doctype/training_program/training_program_dashboard.py b/erpnext/hr/doctype/training_program/training_program_dashboard.py index 0fc18a8029..b2eed6895c 100644 --- a/erpnext/hr/doctype/training_program/training_program_dashboard.py +++ b/erpnext/hr/doctype/training_program/training_program_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'training_program', diff --git a/erpnext/hr/doctype/training_result/test_training_result.py b/erpnext/hr/doctype/training_result/test_training_result.py index 29ed2a0ff3..17ccc4b4ee 100644 --- a/erpnext/hr/doctype/training_result/test_training_result.py +++ b/erpnext/hr/doctype/training_result/test_training_result.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Training Result') diff --git a/erpnext/hr/doctype/training_result/training_result.py b/erpnext/hr/doctype/training_result/training_result.py index 7cdc51f801..9cfc5707ca 100644 --- a/erpnext/hr/doctype/training_result/training_result.py +++ b/erpnext/hr/doctype/training_result/training_result.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + from erpnext.hr.doctype.employee.employee import get_employee_emails + class TrainingResult(Document): def validate(self): training_event = frappe.get_doc("Training Event", self.training_event) diff --git a/erpnext/hr/doctype/training_result_employee/training_result_employee.py b/erpnext/hr/doctype/training_result_employee/training_result_employee.py index 54e2a18260..b0d4605910 100644 --- a/erpnext/hr/doctype/training_result_employee/training_result_employee.py +++ b/erpnext/hr/doctype/training_result_employee/training_result_employee.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TrainingResultEmployee(Document): pass diff --git a/erpnext/hr/doctype/travel_itinerary/travel_itinerary.py b/erpnext/hr/doctype/travel_itinerary/travel_itinerary.py index 0b369beb13..467ef16aae 100644 --- a/erpnext/hr/doctype/travel_itinerary/travel_itinerary.py +++ b/erpnext/hr/doctype/travel_itinerary/travel_itinerary.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TravelItinerary(Document): pass diff --git a/erpnext/hr/doctype/travel_request/test_travel_request.py b/erpnext/hr/doctype/travel_request/test_travel_request.py index dac5517aab..95bf8b9c8b 100644 --- a/erpnext/hr/doctype/travel_request/test_travel_request.py +++ b/erpnext/hr/doctype/travel_request/test_travel_request.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestTravelRequest(unittest.TestCase): pass diff --git a/erpnext/hr/doctype/travel_request/travel_request.py b/erpnext/hr/doctype/travel_request/travel_request.py index 60834d3f4a..b10333fd2d 100644 --- a/erpnext/hr/doctype/travel_request/travel_request.py +++ b/erpnext/hr/doctype/travel_request/travel_request.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + from erpnext.hr.utils import validate_active_employee + class TravelRequest(Document): def validate(self): validate_active_employee(self.employee) diff --git a/erpnext/hr/doctype/travel_request_costing/travel_request_costing.py b/erpnext/hr/doctype/travel_request_costing/travel_request_costing.py index 9fa85e84c2..9b38d888fc 100644 --- a/erpnext/hr/doctype/travel_request_costing/travel_request_costing.py +++ b/erpnext/hr/doctype/travel_request_costing/travel_request_costing.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TravelRequestCosting(Document): pass diff --git a/erpnext/hr/doctype/upload_attendance/test_upload_attendance.py b/erpnext/hr/doctype/upload_attendance/test_upload_attendance.py index 03b0cf3da2..e0a776c45d 100644 --- a/erpnext/hr/doctype/upload_attendance/test_upload_attendance.py +++ b/erpnext/hr/doctype/upload_attendance/test_upload_attendance.py @@ -3,12 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -import erpnext + +import frappe from frappe.utils import getdate -from erpnext.hr.doctype.upload_attendance.upload_attendance import get_data + +import erpnext from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.hr.doctype.upload_attendance.upload_attendance import get_data test_dependencies = ['Holiday List'] diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.py b/erpnext/hr/doctype/upload_attendance/upload_attendance.py index 9c765d7371..030ecec74f 100644 --- a/erpnext/hr/doctype/upload_attendance/upload_attendance.py +++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.py @@ -4,14 +4,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cstr, add_days, date_diff, getdate from frappe import _ -from frappe.utils.csvutils import UnicodeWriter from frappe.model.document import Document +from frappe.utils import add_days, cstr, date_diff, getdate +from frappe.utils.csvutils import UnicodeWriter + from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee from erpnext.hr.utils import get_holiday_dates_for_employee + class UploadAttendance(Document): pass diff --git a/erpnext/hr/doctype/vehicle/test_vehicle.py b/erpnext/hr/doctype/vehicle/test_vehicle.py index ff3429d0e7..2bc94c6509 100644 --- a/erpnext/hr/doctype/vehicle/test_vehicle.py +++ b/erpnext/hr/doctype/vehicle/test_vehicle.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate,flt, cstr,random_string + +import frappe +from frappe.utils import random_string + # test_records = frappe.get_test_records('Vehicle') class TestVehicle(unittest.TestCase): diff --git a/erpnext/hr/doctype/vehicle/vehicle.py b/erpnext/hr/doctype/vehicle/vehicle.py index 1df5068268..2ff190426d 100644 --- a/erpnext/hr/doctype/vehicle/vehicle.py +++ b/erpnext/hr/doctype/vehicle/vehicle.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate from frappe.model.document import Document +from frappe.utils import getdate + class Vehicle(Document): def validate(self): diff --git a/erpnext/hr/doctype/vehicle/vehicle_dashboard.py b/erpnext/hr/doctype/vehicle/vehicle_dashboard.py index 628c8972ce..6a01bcffd5 100644 --- a/erpnext/hr/doctype/vehicle/vehicle_dashboard.py +++ b/erpnext/hr/doctype/vehicle/vehicle_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py b/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py index ed02120cca..1b0bfcb08f 100644 --- a/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py +++ b/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py @@ -3,12 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, flt, cstr, random_string + +import frappe +from frappe.utils import cstr, flt, nowdate, random_string + from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.hr.doctype.vehicle_log.vehicle_log import make_expense_claim + class TestVehicleLog(unittest.TestCase): def setUp(self): employee_id = frappe.db.sql("""select name from `tabEmployee` where name='testdriver@example.com'""") diff --git a/erpnext/hr/doctype/vehicle_log/vehicle_log.py b/erpnext/hr/doctype/vehicle_log/vehicle_log.py index 04c94e37d5..73c848b034 100644 --- a/erpnext/hr/doctype/vehicle_log/vehicle_log.py +++ b/erpnext/hr/doctype/vehicle_log/vehicle_log.py @@ -3,11 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, cstr -from frappe.model.mapper import get_mapped_doc from frappe.model.document import Document +from frappe.utils import flt + class VehicleLog(Document): def validate(self): diff --git a/erpnext/hr/doctype/vehicle_service/vehicle_service.py b/erpnext/hr/doctype/vehicle_service/vehicle_service.py index 18ed782138..bc93a97481 100644 --- a/erpnext/hr/doctype/vehicle_service/vehicle_service.py +++ b/erpnext/hr/doctype/vehicle_service/vehicle_service.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class VehicleService(Document): pass diff --git a/erpnext/hr/notification/training_feedback/training_feedback.py b/erpnext/hr/notification/training_feedback/training_feedback.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/hr/notification/training_feedback/training_feedback.py +++ b/erpnext/hr/notification/training_feedback/training_feedback.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/hr/notification/training_scheduled/training_scheduled.py b/erpnext/hr/notification/training_scheduled/training_scheduled.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/hr/notification/training_scheduled/training_scheduled.py +++ b/erpnext/hr/notification/training_scheduled/training_scheduled.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/hr/page/organizational_chart/organizational_chart.py b/erpnext/hr/page/organizational_chart/organizational_chart.py index 4423d29e40..1baf805f4b 100644 --- a/erpnext/hr/page/organizational_chart/organizational_chart.py +++ b/erpnext/hr/page/organizational_chart/organizational_chart.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + @frappe.whitelist() def get_children(parent=None, company=None, exclude_node=None): filters = [['status', '!=', 'Left']] diff --git a/erpnext/hr/page/team_updates/team_updates.py b/erpnext/hr/page/team_updates/team_updates.py index 58cdc4b7e1..a5e7c44c31 100644 --- a/erpnext/hr/page/team_updates/team_updates.py +++ b/erpnext/hr/page/team_updates/team_updates.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import frappe from email_reply_parser import EmailReplyParser + @frappe.whitelist() def get_data(start=0): #frappe.only_for('Employee', 'System Manager') diff --git a/erpnext/hr/report/daily_work_summary_replies/daily_work_summary_replies.py b/erpnext/hr/report/daily_work_summary_replies/daily_work_summary_replies.py index d8691b4d02..62ffb7d344 100644 --- a/erpnext/hr/report/daily_work_summary_replies/daily_work_summary_replies.py +++ b/erpnext/hr/report/daily_work_summary_replies/daily_work_summary_replies.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe import _ + import frappe +from frappe import _ + from erpnext.hr.doctype.daily_work_summary.daily_work_summary import get_user_emails_from_group + def execute(filters=None): if not filters.group: return [], [] columns, data = get_columns(), get_data(filters) diff --git a/erpnext/hr/report/employee_advance_summary/employee_advance_summary.py b/erpnext/hr/report/employee_advance_summary/employee_advance_summary.py index 363e31d096..d0c295df9f 100644 --- a/erpnext/hr/report/employee_advance_summary/employee_advance_summary.py +++ b/erpnext/hr/report/employee_advance_summary/employee_advance_summary.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ +from frappe import _, msgprint + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/hr/report/employee_analytics/employee_analytics.py b/erpnext/hr/report/employee_analytics/employee_analytics.py index fe77b6abc9..725c5a1571 100644 --- a/erpnext/hr/report/employee_analytics/employee_analytics.py +++ b/erpnext/hr/report/employee_analytics/employee_analytics.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/hr/report/employee_birthday/employee_birthday.py b/erpnext/hr/report/employee_birthday/employee_birthday.py index e8d78449bf..b284e6babe 100644 --- a/erpnext/hr/report/employee_birthday/employee_birthday.py +++ b/erpnext/hr/report/employee_birthday/employee_birthday.py @@ -2,9 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py index b8953b3eaa..6bca1368d3 100644 --- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py @@ -2,12 +2,19 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import flt, add_days -from frappe import _ -from erpnext.hr.doctype.leave_application.leave_application import get_leaves_for_period, get_leave_balance_on + from itertools import groupby +import frappe +from frappe import _ +from frappe.utils import add_days + +from erpnext.hr.doctype.leave_application.leave_application import ( + get_leave_balance_on, + get_leaves_for_period, +) + + def execute(filters=None): if filters.to_date <= filters.from_date: frappe.throw(_('"From Date" can not be greater than or equal to "To Date"')) diff --git a/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py b/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py index 0fb3f5eeba..bcbb066d9f 100644 --- a/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py +++ b/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py @@ -2,14 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt -from erpnext.hr.doctype.leave_application.leave_application \ - import get_leave_details -from erpnext.hr.report.employee_leave_balance.employee_leave_balance \ - import get_department_leave_approver_map +from erpnext.hr.doctype.leave_application.leave_application import get_leave_details +from erpnext.hr.report.employee_leave_balance.employee_leave_balance import ( + get_department_leave_approver_map, +) + def execute(filters=None): leave_types = frappe.db.sql_list("select name from `tabLeave Type` order by name asc") diff --git a/erpnext/hr/report/employees_working_on_a_holiday/employees_working_on_a_holiday.py b/erpnext/hr/report/employees_working_on_a_holiday/employees_working_on_a_holiday.py index 59f56d7345..3a26882136 100644 --- a/erpnext/hr/report/employees_working_on_a_holiday/employees_working_on_a_holiday.py +++ b/erpnext/hr/report/employees_working_on_a_holiday/employees_working_on_a_holiday.py @@ -2,6 +2,7 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ diff --git a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py index bcb0ee4d0d..c6e6432d20 100644 --- a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +++ b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import cstr, cint, getdate -from frappe import msgprint, _ + from calendar import monthrange +import frappe +from frappe import _, msgprint +from frappe.utils import cint, cstr, getdate + status_map = { "Absent": "A", "Half Day": "HD", diff --git a/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py b/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py index 303c829eb6..c598e9e373 100644 --- a/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py +++ b/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/hr/report/vehicle_expenses/test_vehicle_expenses.py b/erpnext/hr/report/vehicle_expenses/test_vehicle_expenses.py index 26e0f26392..2ba87efd9b 100644 --- a/erpnext/hr/report/vehicle_expenses/test_vehicle_expenses.py +++ b/erpnext/hr/report/vehicle_expenses/test_vehicle_expenses.py @@ -2,14 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest + import frappe from frappe.utils import getdate -from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.hr.doctype.vehicle_log.vehicle_log import make_expense_claim -from erpnext.hr.doctype.vehicle_log.test_vehicle_log import get_vehicle, make_vehicle_log -from erpnext.hr.report.vehicle_expenses.vehicle_expenses import execute + from erpnext.accounts.utils import get_fiscal_year +from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.hr.doctype.vehicle_log.test_vehicle_log import get_vehicle, make_vehicle_log +from erpnext.hr.doctype.vehicle_log.vehicle_log import make_expense_claim +from erpnext.hr.report.vehicle_expenses.vehicle_expenses import execute + class TestVehicleExpenses(unittest.TestCase): @classmethod diff --git a/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py b/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py index c053559186..2be3565a05 100644 --- a/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py +++ b/erpnext/hr/report/vehicle_expenses/vehicle_expenses.py @@ -2,12 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import erpnext from frappe import _ from frappe.utils import flt + from erpnext.accounts.report.financial_statements import get_period_list + def execute(filters=None): filters = frappe._dict(filters or {}) diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py index eb35e4295c..deec644209 100644 --- a/erpnext/hr/utils.py +++ b/erpnext/hr/utils.py @@ -1,14 +1,27 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import erpnext import frappe -from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee, InactiveEmployeeStatusError from frappe import _ -from frappe.desk.form import assign_to -from frappe.model.document import Document -from frappe.utils import (add_days, cstr, flt, format_datetime, formatdate, - get_datetime, getdate, nowdate, today, unique, get_link_to_form) +from frappe.utils import ( + add_days, + cstr, + flt, + format_datetime, + formatdate, + get_datetime, + get_link_to_form, + getdate, + nowdate, + today, +) + +import erpnext +from erpnext.hr.doctype.employee.employee import ( + InactiveEmployeeStatusError, + get_holiday_list_for_employee, +) + class DuplicateDeclarationError(frappe.ValidationError): pass @@ -272,6 +285,7 @@ def create_additional_leave_ledger_entry(allocation, leaves, date): def check_effective_date(from_date, to_date, frequency, based_on_date_of_joining_date): import calendar + from dateutil import relativedelta from_date = get_datetime(from_date) diff --git a/erpnext/hr/web_form/job_application/job_application.py b/erpnext/hr/web_form/job_application/job_application.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/hr/web_form/job_application/job_application.py +++ b/erpnext/hr/web_form/job_application/job_application.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/hub_node/__init__.py b/erpnext/hub_node/__init__.py index 85ffe29d11..6ac3255c12 100644 --- a/erpnext/hub_node/__init__.py +++ b/erpnext/hub_node/__init__.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe + @frappe.whitelist() def enable_hub(): hub_settings = frappe.get_doc('Marketplace Settings') diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py index 42f90006f4..5530491775 100644 --- a/erpnext/hub_node/api.py +++ b/erpnext/hub_node/api.py @@ -1,11 +1,11 @@ from __future__ import unicode_literals -import frappe import json +import frappe from frappe import _ -from frappe.frappeclient import FrappeClient from frappe.desk.form.load import get_attachments +from frappe.frappeclient import FrappeClient from six import string_types current_user = frappe.session.user diff --git a/erpnext/hub_node/doctype/hub_tracked_item/hub_tracked_item.py b/erpnext/hub_node/doctype/hub_tracked_item/hub_tracked_item.py index be2cd6b3ee..823c79eb72 100644 --- a/erpnext/hub_node/doctype/hub_tracked_item/hub_tracked_item.py +++ b/erpnext/hub_node/doctype/hub_tracked_item/hub_tracked_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HubTrackedItem(Document): pass diff --git a/erpnext/hub_node/doctype/hub_tracked_item/test_hub_tracked_item.py b/erpnext/hub_node/doctype/hub_tracked_item/test_hub_tracked_item.py index 92b294064f..c403f902a2 100644 --- a/erpnext/hub_node/doctype/hub_tracked_item/test_hub_tracked_item.py +++ b/erpnext/hub_node/doctype/hub_tracked_item/test_hub_tracked_item.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestHubTrackedItem(unittest.TestCase): pass diff --git a/erpnext/hub_node/doctype/hub_user/hub_user.py b/erpnext/hub_node/doctype/hub_user/hub_user.py index de43f4e0c0..1f7c8fc3f2 100644 --- a/erpnext/hub_node/doctype/hub_user/hub_user.py +++ b/erpnext/hub_node/doctype/hub_user/hub_user.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HubUser(Document): pass diff --git a/erpnext/hub_node/doctype/hub_users/hub_users.py b/erpnext/hub_node/doctype/hub_users/hub_users.py index 440be14c0b..e08ed68ed8 100644 --- a/erpnext/hub_node/doctype/hub_users/hub_users.py +++ b/erpnext/hub_node/doctype/hub_users/hub_users.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HubUsers(Document): pass diff --git a/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py b/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py index 91c7bf5850..33d23f6eae 100644 --- a/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py +++ b/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py @@ -2,14 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, requests, json, time -from frappe.model.document import Document -from frappe.utils import add_years, now, get_datetime, get_datetime_str, cint -from frappe import _ +import json + +import frappe from frappe.frappeclient import FrappeClient -from erpnext.utilities.product import get_price, get_qty_in_stock -from six import string_types +from frappe.model.document import Document +from frappe.utils import cint + class MarketplaceSettings(Document): @@ -83,7 +83,6 @@ class MarketplaceSettings(Document): def unregister(self): """Disable the User on hubmarket.org""" - pass @frappe.whitelist() def is_marketplace_enabled(): diff --git a/erpnext/hub_node/doctype/marketplace_settings/test_marketplace_settings.py b/erpnext/hub_node/doctype/marketplace_settings/test_marketplace_settings.py index 549b9914c3..7922f45ab5 100644 --- a/erpnext/hub_node/doctype/marketplace_settings/test_marketplace_settings.py +++ b/erpnext/hub_node/doctype/marketplace_settings/test_marketplace_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestMarketplaceSettings(unittest.TestCase): pass diff --git a/erpnext/hub_node/legacy.py b/erpnext/hub_node/legacy.py index b61b88bf07..2e4c266843 100644 --- a/erpnext/hub_node/legacy.py +++ b/erpnext/hub_node/legacy.py @@ -1,9 +1,13 @@ from __future__ import unicode_literals -import frappe, json -from frappe.utils import nowdate -from frappe.frappeclient import FrappeClient -from frappe.utils.nestedset import get_root_of + +import json + +import frappe from frappe.contacts.doctype.contact.contact import get_default_contact +from frappe.frappeclient import FrappeClient +from frappe.utils import nowdate +from frappe.utils.nestedset import get_root_of + def get_list(doctype, start, limit, fields, filters, order_by): pass diff --git a/erpnext/loan_management/dashboard_chart_source/top_10_pledged_loan_securities/top_10_pledged_loan_securities.py b/erpnext/loan_management/dashboard_chart_source/top_10_pledged_loan_securities/top_10_pledged_loan_securities.py index 6ce2a54b19..0911e8f49b 100644 --- a/erpnext/loan_management/dashboard_chart_source/top_10_pledged_loan_securities/top_10_pledged_loan_securities.py +++ b/erpnext/loan_management/dashboard_chart_source/top_10_pledged_loan_securities/top_10_pledged_loan_securities.py @@ -2,12 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.utils.dashboard import cache_source -from erpnext.loan_management.report.applicant_wise_loan_security_exposure.applicant_wise_loan_security_exposure \ - import get_loan_security_details from six import iteritems +from erpnext.loan_management.report.applicant_wise_loan_security_exposure.applicant_wise_loan_security_exposure import ( + get_loan_security_details, +) + + @frappe.whitelist() @cache_source def get_data(chart_name = None, chart = None, no_cache = None, filters = None, from_date = None, diff --git a/erpnext/loan_management/doctype/loan/loan.py b/erpnext/loan_management/doctype/loan/loan.py index ff7fbbdf49..7dbd42297e 100644 --- a/erpnext/loan_management/doctype/loan/loan.py +++ b/erpnext/loan_management/doctype/loan/loan.py @@ -3,14 +3,22 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, math, json -import erpnext + +import json +import math + +import frappe from frappe import _ +from frappe.utils import add_months, flt, getdate, now_datetime, nowdate from six import string_types -from frappe.utils import flt, rounded, add_months, nowdate, getdate, now_datetime -from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import get_pledged_security_qty + +import erpnext from erpnext.controllers.accounts_controller import AccountsController from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts +from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import ( + get_pledged_security_qty, +) + class Loan(AccountsController): def validate(self): @@ -361,7 +369,9 @@ def create_loan_security_unpledge(unpledge_map, loan, company, applicant_type, a return unpledge_request def validate_employee_currency_with_company_currency(applicant, company): - from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import get_employee_currency + from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import ( + get_employee_currency, + ) if not applicant: frappe.throw(_("Please select Applicant")) if not company: diff --git a/erpnext/loan_management/doctype/loan/loan_dashboard.py b/erpnext/loan_management/doctype/loan/loan_dashboard.py index 711a7829ba..28ccc03b68 100644 --- a/erpnext/loan_management/doctype/loan/loan_dashboard.py +++ b/erpnext/loan_management/doctype/loan/loan_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/loan/test_loan.py b/erpnext/loan_management/doctype/loan/test_loan.py index 122d723605..ec0aebbb8a 100644 --- a/erpnext/loan_management/doctype/loan/test_loan.py +++ b/erpnext/loan_management/doctype/loan/test_loan.py @@ -3,23 +3,40 @@ # See license.txt from __future__ import unicode_literals -import frappe -import erpnext import unittest -from frappe.utils import (nowdate, add_days, getdate, now_datetime, add_to_date, get_datetime, - add_months, get_first_day, get_last_day, flt, date_diff) -from erpnext.selling.doctype.customer.test_customer import get_customer_dict -from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import (process_loan_interest_accrual_for_demand_loans, - process_loan_interest_accrual_for_term_loans) -from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year -from erpnext.loan_management.doctype.process_loan_security_shortfall.process_loan_security_shortfall import create_process_loan_security_shortfall -from erpnext.loan_management.doctype.loan.loan import unpledge_security, request_loan_closure, make_loan_write_off -from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import get_pledged_security_qty + +import frappe +from frappe.utils import add_days, add_months, add_to_date, date_diff, flt, get_datetime, nowdate + +from erpnext.loan_management.doctype.loan.loan import ( + make_loan_write_off, + request_loan_closure, + unpledge_security, +) from erpnext.loan_management.doctype.loan_application.loan_application import create_pledge -from erpnext.loan_management.doctype.loan_disbursement.loan_disbursement import get_disbursal_amount +from erpnext.loan_management.doctype.loan_disbursement.loan_disbursement import ( + get_disbursal_amount, +) +from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import ( + days_in_year, +) from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts -from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure +from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import ( + get_pledged_security_qty, +) +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_demand_loans, + process_loan_interest_accrual_for_term_loans, +) +from erpnext.loan_management.doctype.process_loan_security_shortfall.process_loan_security_shortfall import ( + create_process_loan_security_shortfall, +) +from erpnext.payroll.doctype.salary_structure.test_salary_structure import ( + make_employee, + make_salary_structure, +) +from erpnext.selling.doctype.customer.test_customer import get_customer_dict + class TestLoan(unittest.TestCase): def setUp(self): diff --git a/erpnext/loan_management/doctype/loan_application/loan_application.py b/erpnext/loan_management/doctype/loan_application/loan_application.py index d8f3577b2c..e492920abb 100644 --- a/erpnext/loan_management/doctype/loan_application/loan_application.py +++ b/erpnext/loan_management/doctype/loan_application/loan_application.py @@ -3,17 +3,28 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, math -from frappe import _ -from frappe.utils import flt, rounded, cint -from frappe.model.mapper import get_mapped_doc -from frappe.model.document import Document -from erpnext.loan_management.doctype.loan.loan import (get_monthly_repayment_amount, validate_repayment_method, - get_total_loan_amount, get_sanctioned_amount_limit) -from erpnext.loan_management.doctype.loan_security_price.loan_security_price import get_loan_security_price + import json +import math + +import frappe +from frappe import _ +from frappe.model.document import Document +from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, flt, rounded from six import string_types +from erpnext.loan_management.doctype.loan.loan import ( + get_monthly_repayment_amount, + get_sanctioned_amount_limit, + get_total_loan_amount, + validate_repayment_method, +) +from erpnext.loan_management.doctype.loan_security_price.loan_security_price import ( + get_loan_security_price, +) + + class LoanApplication(Document): def validate(self): self.set_pledge_amount() diff --git a/erpnext/loan_management/doctype/loan_application/loan_application_dashboard.py b/erpnext/loan_management/doctype/loan_application/loan_application_dashboard.py index 3975adf443..992d669974 100644 --- a/erpnext/loan_management/doctype/loan_application/loan_application_dashboard.py +++ b/erpnext/loan_management/doctype/loan_application/loan_application_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/loan_application/test_loan_application.py b/erpnext/loan_management/doctype/loan_application/test_loan_application.py index 2a659e9fc2..aefa08970a 100644 --- a/erpnext/loan_management/doctype/loan_application/test_loan_application.py +++ b/erpnext/loan_management/doctype/loan_application/test_loan_application.py @@ -3,10 +3,16 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee, make_salary_structure -from erpnext.loan_management.doctype.loan.test_loan import create_loan_type, create_loan_accounts + +import frappe + +from erpnext.loan_management.doctype.loan.test_loan import create_loan_accounts, create_loan_type +from erpnext.payroll.doctype.salary_structure.test_salary_structure import ( + make_employee, + make_salary_structure, +) + class TestLoanApplication(unittest.TestCase): def setUp(self): diff --git a/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py b/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py index f113c10ef7..6d9d4f490d 100644 --- a/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py +++ b/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py @@ -3,15 +3,21 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.model.document import Document -from frappe.utils import nowdate, getdate, add_days, flt -from erpnext.controllers.accounts_controller import AccountsController +from frappe.utils import add_days, flt, get_datetime, nowdate + +import erpnext from erpnext.accounts.general_ledger import make_gl_entries -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans -from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import get_pledged_security_qty -from frappe.utils import get_datetime +from erpnext.controllers.accounts_controller import AccountsController +from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import ( + get_pledged_security_qty, +) +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_demand_loans, +) + class LoanDisbursement(AccountsController): diff --git a/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py b/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py index da56710c67..b17c9a177e 100644 --- a/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py +++ b/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py @@ -2,16 +2,44 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe + import unittest -from frappe.utils import (nowdate, add_days, get_datetime, get_first_day, get_last_day, date_diff, flt, add_to_date) -from erpnext.loan_management.doctype.loan.test_loan import (create_loan_type, create_loan_security_pledge, create_repayment_entry, create_loan_application, - make_loan_disbursement_entry, create_loan_accounts, create_loan_security_type, create_loan_security, create_demand_loan, create_loan_security_price) -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans -from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year, get_per_day_interest -from erpnext.selling.doctype.customer.test_customer import get_customer_dict + +import frappe +from frappe.utils import ( + add_days, + add_to_date, + date_diff, + flt, + get_datetime, + get_first_day, + get_last_day, + nowdate, +) + +from erpnext.loan_management.doctype.loan.test_loan import ( + create_demand_loan, + create_loan_accounts, + create_loan_application, + create_loan_security, + create_loan_security_pledge, + create_loan_security_price, + create_loan_security_type, + create_loan_type, + create_repayment_entry, + make_loan_disbursement_entry, +) from erpnext.loan_management.doctype.loan_application.loan_application import create_pledge +from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import ( + days_in_year, + get_per_day_interest, +) from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_demand_loans, +) +from erpnext.selling.doctype.customer.test_customer import get_customer_dict + class TestLoanDisbursement(unittest.TestCase): diff --git a/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py b/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py index b5b30486de..93513a83e7 100644 --- a/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py +++ b/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py @@ -3,13 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.model.document import Document -from frappe.utils import (nowdate, getdate, now_datetime, get_datetime, flt, date_diff, get_last_day, cint, - get_first_day, add_days) -from erpnext.controllers.accounts_controller import AccountsController +from frappe.utils import add_days, cint, date_diff, flt, get_datetime, getdate, nowdate + +import erpnext from erpnext.accounts.general_ledger import make_gl_entries +from erpnext.controllers.accounts_controller import AccountsController + class LoanInterestAccrual(AccountsController): def validate(self): diff --git a/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py b/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py index eb626f3eee..06b801e47c 100644 --- a/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py +++ b/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py @@ -2,15 +2,31 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe + import unittest -from frappe.utils import (nowdate, add_days, get_datetime, get_first_day, get_last_day, date_diff, flt, add_to_date) -from erpnext.loan_management.doctype.loan.test_loan import (create_loan_type, create_loan_security_price, - make_loan_disbursement_entry, create_loan_accounts, create_loan_security_type, create_loan_security, create_demand_loan, create_loan_application) -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans -from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year -from erpnext.selling.doctype.customer.test_customer import get_customer_dict + +import frappe +from frappe.utils import add_to_date, date_diff, flt, get_datetime, get_first_day, nowdate + +from erpnext.loan_management.doctype.loan.test_loan import ( + create_demand_loan, + create_loan_accounts, + create_loan_application, + create_loan_security, + create_loan_security_price, + create_loan_security_type, + create_loan_type, + make_loan_disbursement_entry, +) from erpnext.loan_management.doctype.loan_application.loan_application import create_pledge +from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import ( + days_in_year, +) +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_demand_loans, +) +from erpnext.selling.doctype.customer.test_customer import get_customer_dict + class TestLoanInterestAccrual(unittest.TestCase): def setUp(self): diff --git a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py index 6c74a9bf5a..13b7357327 100644 --- a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py +++ b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py @@ -3,17 +3,26 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext -import json + +import frappe from frappe import _ +from frappe.utils import add_days, cint, date_diff, flt, get_datetime, getdate from six import iteritems -from frappe.model.document import Document -from frappe.utils import flt, cint, date_diff, add_days, getdate, add_months, get_first_day, get_datetime -from erpnext.controllers.accounts_controller import AccountsController + +import erpnext from erpnext.accounts.general_ledger import make_gl_entries -from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import update_shortfall_status -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans -from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import get_per_day_interest, get_last_accrual_date +from erpnext.controllers.accounts_controller import AccountsController +from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import ( + get_last_accrual_date, + get_per_day_interest, +) +from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import ( + update_shortfall_status, +) +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_demand_loans, +) + class LoanRepayment(AccountsController): diff --git a/erpnext/loan_management/doctype/loan_repayment/test_loan_repayment.py b/erpnext/loan_management/doctype/loan_repayment/test_loan_repayment.py index 73585a5159..c6ca630e59 100644 --- a/erpnext/loan_management/doctype/loan_repayment/test_loan_repayment.py +++ b/erpnext/loan_management/doctype/loan_repayment/test_loan_repayment.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanRepayment(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.py b/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.py index a83b9b5941..495466c382 100644 --- a/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.py +++ b/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class LoanRepaymentDetail(Document): pass diff --git a/erpnext/loan_management/doctype/loan_security/loan_security.py b/erpnext/loan_management/doctype/loan_security/loan_security.py index 8858c81836..91cce67852 100644 --- a/erpnext/loan_management/doctype/loan_security/loan_security.py +++ b/erpnext/loan_management/doctype/loan_security/loan_security.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class LoanSecurity(Document): def autoname(self): self.name = self.loan_security_name diff --git a/erpnext/loan_management/doctype/loan_security/loan_security_dashboard.py b/erpnext/loan_management/doctype/loan_security/loan_security_dashboard.py index 3eec5660ac..35f3ba6830 100644 --- a/erpnext/loan_management/doctype/loan_security/loan_security_dashboard.py +++ b/erpnext/loan_management/doctype/loan_security/loan_security_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/loan_security/test_loan_security.py b/erpnext/loan_management/doctype/loan_security/test_loan_security.py index 24dbc68046..910b658a93 100644 --- a/erpnext/loan_management/doctype/loan_security/test_loan_security.py +++ b/erpnext/loan_management/doctype/loan_security/test_loan_security.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanSecurity(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py b/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py index c390b6c526..eb6c79ec4f 100644 --- a/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py +++ b/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py @@ -3,12 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import now_datetime, cint from frappe.model.document import Document -from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import update_shortfall_status -from erpnext.loan_management.doctype.loan_security_price.loan_security_price import get_loan_security_price +from frappe.utils import cint, now_datetime + +from erpnext.loan_management.doctype.loan_security_price.loan_security_price import ( + get_loan_security_price, +) +from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import ( + update_shortfall_status, +) + class LoanSecurityPledge(Document): def validate(self): diff --git a/erpnext/loan_management/doctype/loan_security_pledge/test_loan_security_pledge.py b/erpnext/loan_management/doctype/loan_security_pledge/test_loan_security_pledge.py index d2347c0098..41bc78ede4 100644 --- a/erpnext/loan_management/doctype/loan_security_pledge/test_loan_security_pledge.py +++ b/erpnext/loan_management/doctype/loan_security_pledge/test_loan_security_pledge.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanSecurityPledge(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_security_price/loan_security_price.py b/erpnext/loan_management/doctype/loan_security_price/loan_security_price.py index 9fc1fda53f..6ede6a2739 100644 --- a/erpnext/loan_management/doctype/loan_security_price/loan_security_price.py +++ b/erpnext/loan_management/doctype/loan_security_price/loan_security_price.py @@ -3,11 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import getdate, now_datetime, add_to_date, get_datetime, get_timestamp, get_datetime_str -from six import iteritems +from frappe.utils import get_datetime + class LoanSecurityPrice(Document): def validate(self): diff --git a/erpnext/loan_management/doctype/loan_security_price/test_loan_security_price.py b/erpnext/loan_management/doctype/loan_security_price/test_loan_security_price.py index 2fe0bd5a24..ac63086842 100644 --- a/erpnext/loan_management/doctype/loan_security_price/test_loan_security_price.py +++ b/erpnext/loan_management/doctype/loan_security_price/test_loan_security_price.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanSecurityPrice(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py b/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py index 61f1778048..5863c03f0f 100644 --- a/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py +++ b/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import get_datetime, flt from frappe.model.document import Document -from six import iteritems -from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import get_pledged_security_qty +from frappe.utils import flt, get_datetime + +from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import ( + get_pledged_security_qty, +) + class LoanSecurityShortfall(Document): pass diff --git a/erpnext/loan_management/doctype/loan_security_shortfall/test_loan_security_shortfall.py b/erpnext/loan_management/doctype/loan_security_shortfall/test_loan_security_shortfall.py index b82f3d2593..fefec43bf4 100644 --- a/erpnext/loan_management/doctype/loan_security_shortfall/test_loan_security_shortfall.py +++ b/erpnext/loan_management/doctype/loan_security_shortfall/test_loan_security_shortfall.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanSecurityShortfall(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_security_type/loan_security_type.py b/erpnext/loan_management/doctype/loan_security_type/loan_security_type.py index cb8a50a27b..ca1957fb3a 100644 --- a/erpnext/loan_management/doctype/loan_security_type/loan_security_type.py +++ b/erpnext/loan_management/doctype/loan_security_type/loan_security_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class LoanSecurityType(Document): pass diff --git a/erpnext/loan_management/doctype/loan_security_type/loan_security_type_dashboard.py b/erpnext/loan_management/doctype/loan_security_type/loan_security_type_dashboard.py index 17de8c1da4..7a2732e319 100644 --- a/erpnext/loan_management/doctype/loan_security_type/loan_security_type_dashboard.py +++ b/erpnext/loan_management/doctype/loan_security_type/loan_security_type_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/loan_security_type/test_loan_security_type.py b/erpnext/loan_management/doctype/loan_security_type/test_loan_security_type.py index f7d845a779..99d7aafb34 100644 --- a/erpnext/loan_management/doctype/loan_security_type/test_loan_security_type.py +++ b/erpnext/loan_management/doctype/loan_security_type/test_loan_security_type.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanSecurityType(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py b/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py index 4f936dd7c1..0af0de1a53 100644 --- a/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py +++ b/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py @@ -3,13 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document -from frappe.utils import get_datetime, flt, getdate -import json +from frappe.utils import flt, get_datetime, getdate from six import iteritems -from erpnext.loan_management.doctype.loan_security_price.loan_security_price import get_loan_security_price + class LoanSecurityUnpledge(Document): def validate(self): @@ -30,7 +30,9 @@ class LoanSecurityUnpledge(Document): d.idx, frappe.bold(d.loan_security))) def validate_unpledge_qty(self): - from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import get_ltv_ratio + from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import ( + get_ltv_ratio, + ) pledge_qty_map = get_pledged_security_qty(self.loan) diff --git a/erpnext/loan_management/doctype/loan_security_unpledge/test_loan_security_unpledge.py b/erpnext/loan_management/doctype/loan_security_unpledge/test_loan_security_unpledge.py index 5b5c205bda..17eb7c63c7 100644 --- a/erpnext/loan_management/doctype/loan_security_unpledge/test_loan_security_unpledge.py +++ b/erpnext/loan_management/doctype/loan_security_unpledge/test_loan_security_unpledge.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanSecurityUnpledge(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_type/loan_type.py b/erpnext/loan_management/doctype/loan_type/loan_type.py index 50ef930dbb..5458d358f3 100644 --- a/erpnext/loan_management/doctype/loan_type/loan_type.py +++ b/erpnext/loan_management/doctype/loan_type/loan_type.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class LoanType(Document): def validate(self): self.validate_accounts() diff --git a/erpnext/loan_management/doctype/loan_type/loan_type_dashboard.py b/erpnext/loan_management/doctype/loan_type/loan_type_dashboard.py index 95d97fdf9b..96b2c4aedc 100644 --- a/erpnext/loan_management/doctype/loan_type/loan_type_dashboard.py +++ b/erpnext/loan_management/doctype/loan_type/loan_type_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/loan_type/test_loan_type.py b/erpnext/loan_management/doctype/loan_type/test_loan_type.py index 5877ab6f7f..9e57fdef2f 100644 --- a/erpnext/loan_management/doctype/loan_type/test_loan_type.py +++ b/erpnext/loan_management/doctype/loan_type/test_loan_type.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanType(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py index 676df701cc..4d5e7df4de 100644 --- a/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py +++ b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import getdate, flt, cint -from erpnext.controllers.accounts_controller import AccountsController +from frappe.utils import cint, flt, getdate + +import erpnext from erpnext.accounts.general_ledger import make_gl_entries +from erpnext.controllers.accounts_controller import AccountsController + class LoanWriteOff(AccountsController): def validate(self): diff --git a/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py b/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py index 9f6700e274..57337c7e5d 100644 --- a/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py +++ b/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLoanWriteOff(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/pledge/pledge.py b/erpnext/loan_management/doctype/pledge/pledge.py index 0457ad7abd..5a41cde4b5 100644 --- a/erpnext/loan_management/doctype/pledge/pledge.py +++ b/erpnext/loan_management/doctype/pledge/pledge.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class Pledge(Document): pass diff --git a/erpnext/loan_management/doctype/pledge/test_pledge.py b/erpnext/loan_management/doctype/pledge/test_pledge.py index 2e01dc114d..adcbc6eae0 100644 --- a/erpnext/loan_management/doctype/pledge/test_pledge.py +++ b/erpnext/loan_management/doctype/pledge/test_pledge.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestPledge(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py index 8c67c0affe..efee701dc0 100644 --- a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py +++ b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py @@ -3,11 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import nowdate from frappe.model.document import Document -from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import (make_accrual_interest_entry_for_demand_loans, - make_accrual_interest_entry_for_term_loans) +from frappe.utils import nowdate + +from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import ( + make_accrual_interest_entry_for_demand_loans, + make_accrual_interest_entry_for_term_loans, +) + class ProcessLoanInterestAccrual(Document): def on_submit(self): diff --git a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual_dashboard.py b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual_dashboard.py index e104c6646b..fcd0399c6e 100644 --- a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual_dashboard.py +++ b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/process_loan_interest_accrual/test_process_loan_interest_accrual.py b/erpnext/loan_management/doctype/process_loan_interest_accrual/test_process_loan_interest_accrual.py index 6bfd3f4210..e7d360209c 100644 --- a/erpnext/loan_management/doctype/process_loan_interest_accrual/test_process_loan_interest_accrual.py +++ b/erpnext/loan_management/doctype/process_loan_interest_accrual/test_process_loan_interest_accrual.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestProcessLoanInterestAccrual(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall.py b/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall.py index b4aad25ac8..c3f59543c4 100644 --- a/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall.py +++ b/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import get_datetime -from frappe import _ from frappe.model.document import Document -from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import check_for_ltv_shortfall +from frappe.utils import get_datetime + +from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import ( + check_for_ltv_shortfall, +) + class ProcessLoanSecurityShortfall(Document): def onload(self): diff --git a/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall_dashboard.py b/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall_dashboard.py index e67e4d4738..ced3bd7e4f 100644 --- a/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall_dashboard.py +++ b/erpnext/loan_management/doctype/process_loan_security_shortfall/process_loan_security_shortfall_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/loan_management/doctype/process_loan_security_shortfall/test_process_loan_security_shortfall.py b/erpnext/loan_management/doctype/process_loan_security_shortfall/test_process_loan_security_shortfall.py index cd379a1bea..50e0a46ee4 100644 --- a/erpnext/loan_management/doctype/process_loan_security_shortfall/test_process_loan_security_shortfall.py +++ b/erpnext/loan_management/doctype/process_loan_security_shortfall/test_process_loan_security_shortfall.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestProcessLoanSecurityShortfall(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.py b/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.py index dfa5c7965a..5c125e1307 100644 --- a/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.py +++ b/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ProposedPledge(Document): pass diff --git a/erpnext/loan_management/doctype/repayment_schedule/repayment_schedule.py b/erpnext/loan_management/doctype/repayment_schedule/repayment_schedule.py index 2aa27b0968..af9c6696ac 100644 --- a/erpnext/loan_management/doctype/repayment_schedule/repayment_schedule.py +++ b/erpnext/loan_management/doctype/repayment_schedule/repayment_schedule.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class RepaymentSchedule(Document): pass diff --git a/erpnext/loan_management/doctype/salary_slip_loan/salary_slip_loan.py b/erpnext/loan_management/doctype/salary_slip_loan/salary_slip_loan.py index 9ee0b96dc1..64be1b2673 100644 --- a/erpnext/loan_management/doctype/salary_slip_loan/salary_slip_loan.py +++ b/erpnext/loan_management/doctype/salary_slip_loan/salary_slip_loan.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class SalarySlipLoan(Document): pass diff --git a/erpnext/loan_management/doctype/sanctioned_loan_amount/sanctioned_loan_amount.py b/erpnext/loan_management/doctype/sanctioned_loan_amount/sanctioned_loan_amount.py index 7ed838d4e1..5660c42102 100644 --- a/erpnext/loan_management/doctype/sanctioned_loan_amount/sanctioned_loan_amount.py +++ b/erpnext/loan_management/doctype/sanctioned_loan_amount/sanctioned_loan_amount.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class SanctionedLoanAmount(Document): def validate(self): sanctioned_doc = frappe.db.exists('Sanctioned Loan Amount', {'applicant': self.applicant, 'company': self.company}) diff --git a/erpnext/loan_management/doctype/sanctioned_loan_amount/test_sanctioned_loan_amount.py b/erpnext/loan_management/doctype/sanctioned_loan_amount/test_sanctioned_loan_amount.py index ba1372f175..663f2e72be 100644 --- a/erpnext/loan_management/doctype/sanctioned_loan_amount/test_sanctioned_loan_amount.py +++ b/erpnext/loan_management/doctype/sanctioned_loan_amount/test_sanctioned_loan_amount.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestSanctionedLoanAmount(unittest.TestCase): pass diff --git a/erpnext/loan_management/doctype/unpledge/unpledge.py b/erpnext/loan_management/doctype/unpledge/unpledge.py index 205230a308..2e82e23997 100644 --- a/erpnext/loan_management/doctype/unpledge/unpledge.py +++ b/erpnext/loan_management/doctype/unpledge/unpledge.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class Unpledge(Document): pass diff --git a/erpnext/loan_management/report/applicant_wise_loan_security_exposure/applicant_wise_loan_security_exposure.py b/erpnext/loan_management/report/applicant_wise_loan_security_exposure/applicant_wise_loan_security_exposure.py index f2cbbb469f..ff527029f6 100644 --- a/erpnext/loan_management/report/applicant_wise_loan_security_exposure/applicant_wise_loan_security_exposure.py +++ b/erpnext/loan_management/report/applicant_wise_loan_security_exposure/applicant_wise_loan_security_exposure.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import erpnext from frappe import _ -from frappe.utils import get_datetime, flt +from frappe.utils import flt from six import iteritems +import erpnext + + def execute(filters=None): columns = get_columns(filters) data = get_data(filters) diff --git a/erpnext/loan_management/report/loan_interest_report/loan_interest_report.py b/erpnext/loan_management/report/loan_interest_report/loan_interest_report.py index a505e72c4d..c4adef1c7b 100644 --- a/erpnext/loan_management/report/loan_interest_report/loan_interest_report.py +++ b/erpnext/loan_management/report/loan_interest_report/loan_interest_report.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import erpnext from frappe import _ -from frappe.utils import flt, getdate, add_days -from erpnext.loan_management.report.applicant_wise_loan_security_exposure.applicant_wise_loan_security_exposure \ - import get_loan_security_details +from frappe.utils import add_days, flt, getdate + +import erpnext +from erpnext.loan_management.report.applicant_wise_loan_security_exposure.applicant_wise_loan_security_exposure import ( + get_loan_security_details, +) def execute(filters=None): diff --git a/erpnext/loan_management/report/loan_repayment_and_closure/loan_repayment_and_closure.py b/erpnext/loan_management/report/loan_repayment_and_closure/loan_repayment_and_closure.py index 6591077088..9d8a425b30 100644 --- a/erpnext/loan_management/report/loan_repayment_and_closure/loan_repayment_and_closure.py +++ b/erpnext/loan_management/report/loan_repayment_and_closure/loan_repayment_and_closure.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns = get_columns() data = get_data(filters) diff --git a/erpnext/loan_management/report/loan_security_exposure/loan_security_exposure.py b/erpnext/loan_management/report/loan_security_exposure/loan_security_exposure.py index 34bbe5a450..3d6242a4fa 100644 --- a/erpnext/loan_management/report/loan_security_exposure/loan_security_exposure.py +++ b/erpnext/loan_management/report/loan_security_exposure/loan_security_exposure.py @@ -2,12 +2,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import erpnext + from frappe import _ from frappe.utils import flt from six import iteritems -from erpnext.loan_management.report.applicant_wise_loan_security_exposure.applicant_wise_loan_security_exposure \ - import get_loan_security_details, get_applicant_wise_total_loan_security_qty + +import erpnext +from erpnext.loan_management.report.applicant_wise_loan_security_exposure.applicant_wise_loan_security_exposure import ( + get_applicant_wise_total_loan_security_qty, + get_loan_security_details, +) + def execute(filters=None): columns = get_columns(filters) diff --git a/erpnext/loan_management/report/loan_security_status/loan_security_status.py b/erpnext/loan_management/report/loan_security_status/loan_security_status.py index 1951855475..a93a381eb3 100644 --- a/erpnext/loan_management/report/loan_security_status/loan_security_status.py +++ b/erpnext/loan_management/report/loan_security_status/loan_security_status.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns = get_columns(filters) data = get_data(filters) diff --git a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py index 97289032d7..52e41c5863 100644 --- a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py +++ b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py @@ -2,15 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _, throw +from frappe.utils import add_days, cint, cstr, date_diff, formatdate, getdate -from frappe.utils import add_days, getdate, cint, cstr, date_diff, formatdate - -from frappe import throw, _ -from erpnext.utilities.transaction_base import TransactionBase, delete_events -from erpnext.stock.utils import get_valid_serial_nos from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.utils import get_valid_serial_nos +from erpnext.utilities.transaction_base import TransactionBase, delete_events + class MaintenanceSchedule(TransactionBase): @frappe.whitelist() diff --git a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py index c733dd0c92..38654de663 100644 --- a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py +++ b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py @@ -2,11 +2,15 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -from frappe.utils.data import add_days, today, formatdate -from erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule import make_maintenance_visit + +import unittest import frappe -import unittest +from frappe.utils.data import add_days, formatdate, today + +from erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule import ( + make_maintenance_visit, +) # test_records = frappe.get_test_records('Maintenance Schedule') diff --git a/erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py b/erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py index e69b4fb65e..27c95a1ea2 100644 --- a/erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py +++ b/erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class MaintenanceScheduleDetail(Document): pass diff --git a/erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.py b/erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.py index 1dd47fea24..9c4a690789 100644 --- a/erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.py +++ b/erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class MaintenanceScheduleItem(Document): pass diff --git a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py index d63c700387..814ec0cae4 100644 --- a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py +++ b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py @@ -2,12 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import get_datetime from erpnext.utilities.transaction_base import TransactionBase + class MaintenanceVisit(TransactionBase): def get_feed(self): return _("To {0}").format(self.customer_name) diff --git a/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py b/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py index 2bea8d1e2f..57e728d1b1 100644 --- a/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py +++ b/erpnext/maintenance/doctype/maintenance_visit/test_maintenance_visit.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Maintenance Visit') diff --git a/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py b/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py index a7f0f5b3bb..4c59562685 100644 --- a/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py +++ b/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class MaintenanceVisitPurpose(Document): pass diff --git a/erpnext/manufacturing/dashboard_fixtures.py b/erpnext/manufacturing/dashboard_fixtures.py index 7ba43d6471..1bc12ff35e 100644 --- a/erpnext/manufacturing/dashboard_fixtures.py +++ b/erpnext/manufacturing/dashboard_fixtures.py @@ -1,9 +1,14 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe, erpnext, json +import json + +import frappe from frappe import _ -from frappe.utils import nowdate, get_first_day, get_last_day, add_months +from frappe.utils import add_months, nowdate + +import erpnext + def get_data(): return frappe._dict({ diff --git a/erpnext/manufacturing/doctype/blanket_order/blanket_order.py b/erpnext/manufacturing/doctype/blanket_order/blanket_order.py index 1aedb1e590..59eb168d4e 100644 --- a/erpnext/manufacturing/doctype/blanket_order/blanket_order.py +++ b/erpnext/manufacturing/doctype/blanket_order/blanket_order.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, getdate from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc +from frappe.utils import flt, getdate + from erpnext.stock.doctype.item.item import get_item_defaults diff --git a/erpnext/manufacturing/doctype/blanket_order/blanket_order_dashboard.py b/erpnext/manufacturing/doctype/blanket_order/blanket_order_dashboard.py index d9aa0ca49d..83260ec1b9 100644 --- a/erpnext/manufacturing/doctype/blanket_order/blanket_order_dashboard.py +++ b/erpnext/manufacturing/doctype/blanket_order/blanket_order_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py b/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py index 9a0a72fb47..3104ae0117 100644 --- a/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py +++ b/erpnext/manufacturing/doctype/blanket_order/test_blanket_order.py @@ -3,12 +3,16 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import add_months, today + from erpnext import get_company_currency + from .blanket_order import make_order + class TestBlanketOrder(unittest.TestCase): def setUp(self): frappe.flags.args = frappe._dict() diff --git a/erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.py b/erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.py index f07f3c8e04..0825f763dc 100644 --- a/erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.py +++ b/erpnext/manufacturing/doctype/blanket_order_item/blanket_order_item.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class BlanketOrderItem(Document): pass diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 6e1c7dd81b..28a84b2506 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -1,23 +1,22 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -from typing import List -from collections import deque -import frappe, erpnext -from frappe.utils import cint, cstr, flt, today -from frappe import _ -from erpnext.setup.utils import get_exchange_rate -from frappe.website.website_generator import WebsiteGenerator -from erpnext.stock.get_item_details import get_conversion_factor -from erpnext.stock.get_item_details import get_price_list_rate -from frappe.core.doctype.version.version import get_diff -from erpnext.controllers.queries import get_match_cond -from erpnext.stock.doctype.item.item import get_item_details -from frappe.model.mapper import get_mapped_doc - import functools - +from collections import deque from operator import itemgetter +from typing import List + +import frappe +from frappe import _ +from frappe.core.doctype.version.version import get_diff +from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, cstr, flt, today +from frappe.website.website_generator import WebsiteGenerator + +import erpnext +from erpnext.setup.utils import get_exchange_rate +from erpnext.stock.doctype.item.item import get_item_details +from erpnext.stock.get_item_details import get_conversion_factor, get_price_list_rate form_grid_templates = { "items": "templates/form_grid/item_grid.html" diff --git a/erpnext/manufacturing/doctype/bom/bom_dashboard.py b/erpnext/manufacturing/doctype/bom/bom_dashboard.py index 361826e2d0..f65df011a9 100644 --- a/erpnext/manufacturing/doctype/bom/bom_dashboard.py +++ b/erpnext/manufacturing/doctype/bom/bom_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'bom_no', diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py index 8408f10b18..7950dd9d97 100644 --- a/erpnext/manufacturing/doctype/bom/test_bom.py +++ b/erpnext/manufacturing/doctype/bom/test_bom.py @@ -2,16 +2,20 @@ # License: GNU General Public License v3. See license.txt -from collections import deque import unittest +from collections import deque + import frappe -from frappe.utils import cstr, flt from frappe.test_runner import make_test_records -from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation +from frappe.utils import cstr, flt + +from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.manufacturing.doctype.bom.bom import make_variant_bom from erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool import update_cost from erpnext.stock.doctype.item.test_item import make_item -from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order +from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( + create_stock_reconciliation, +) from erpnext.tests.test_subcontracting import set_backflush_based_on test_records = frappe.get_test_records('BOM') diff --git a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py index 39ccbddbea..4317d3adf6 100644 --- a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py +++ b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class BOMExplosionItem(Document): pass diff --git a/erpnext/manufacturing/doctype/bom_item/bom_item.py b/erpnext/manufacturing/doctype/bom_item/bom_item.py index 220c73e149..2954238a57 100644 --- a/erpnext/manufacturing/doctype/bom_item/bom_item.py +++ b/erpnext/manufacturing/doctype/bom_item/bom_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class BOMItem(Document): pass diff --git a/erpnext/manufacturing/doctype/bom_operation/bom_operation.py b/erpnext/manufacturing/doctype/bom_operation/bom_operation.py index e3501eb9cf..5e46c7ef93 100644 --- a/erpnext/manufacturing/doctype/bom_operation/bom_operation.py +++ b/erpnext/manufacturing/doctype/bom_operation/bom_operation.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class BOMOperation(Document): pass diff --git a/erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.py b/erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.py index b6d423f09f..891fc53c71 100644 --- a/erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.py +++ b/erpnext/manufacturing/doctype/bom_scrap_item/bom_scrap_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class BOMScrapItem(Document): pass diff --git a/erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py b/erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py index 8fbcd4ea1d..ed71c6d6d7 100644 --- a/erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py +++ b/erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py @@ -3,13 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe.utils import cstr, flt -from frappe import _ -from six import string_types -from erpnext.manufacturing.doctype.bom.bom import get_boms_in_bottom_up_order -from frappe.model.document import Document + +import json + import click +import frappe +from frappe import _ +from frappe.model.document import Document +from frappe.utils import cstr, flt +from six import string_types + +from erpnext.manufacturing.doctype.bom.bom import get_boms_in_bottom_up_order + class BOMUpdateTool(Document): def replace_bom(self): diff --git a/erpnext/manufacturing/doctype/bom_update_tool/test_bom_update_tool.py b/erpnext/manufacturing/doctype/bom_update_tool/test_bom_update_tool.py index 80d1cdfc8f..88c69ce2a5 100644 --- a/erpnext/manufacturing/doctype/bom_update_tool/test_bom_update_tool.py +++ b/erpnext/manufacturing/doctype/bom_update_tool/test_bom_update_tool.py @@ -3,11 +3,14 @@ from __future__ import unicode_literals + import unittest + import frappe -from erpnext.stock.doctype.item.test_item import create_item -from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + from erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool import update_cost +from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom +from erpnext.stock.doctype.item.test_item import create_item test_records = frappe.get_test_records('BOM') diff --git a/erpnext/manufacturing/doctype/bom_website_item/bom_website_item.py b/erpnext/manufacturing/doctype/bom_website_item/bom_website_item.py index 4088a7fc54..f627b4e528 100644 --- a/erpnext/manufacturing/doctype/bom_website_item/bom_website_item.py +++ b/erpnext/manufacturing/doctype/bom_website_item/bom_website_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class BOMWebsiteItem(Document): pass diff --git a/erpnext/manufacturing/doctype/bom_website_operation/bom_website_operation.py b/erpnext/manufacturing/doctype/bom_website_operation/bom_website_operation.py index bcc5ddab08..5bd8cf568c 100644 --- a/erpnext/manufacturing/doctype/bom_website_operation/bom_website_operation.py +++ b/erpnext/manufacturing/doctype/bom_website_operation/bom_website_operation.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class BOMWebsiteOperation(Document): pass diff --git a/erpnext/manufacturing/doctype/downtime_entry/downtime_entry.py b/erpnext/manufacturing/doctype/downtime_entry/downtime_entry.py index 56ec4356af..62833d7cd2 100644 --- a/erpnext/manufacturing/doctype/downtime_entry/downtime_entry.py +++ b/erpnext/manufacturing/doctype/downtime_entry/downtime_entry.py @@ -3,9 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import time_diff_in_hours + from frappe.model.document import Document +from frappe.utils import time_diff_in_hours + class DowntimeEntry(Document): def validate(self): diff --git a/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py b/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py index 8b2a8d36c1..37169f4439 100644 --- a/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py +++ b/erpnext/manufacturing/doctype/downtime_entry/test_downtime_entry.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestDowntimeEntry(unittest.TestCase): pass diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py index 3efbe88ada..3bf9de2708 100644 --- a/erpnext/manufacturing/doctype/job_card/job_card.py +++ b/erpnext/manufacturing/doctype/job_card/job_card.py @@ -3,16 +3,32 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import datetime import json -from frappe import _, bold -from frappe.model.mapper import get_mapped_doc -from frappe.model.document import Document -from frappe.utils import (flt, cint, time_diff_in_hours, get_datetime, getdate, - get_time, add_to_date, time_diff, add_days, get_datetime_str, get_link_to_form, time_diff_in_seconds) -from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings import get_mins_between_operations +import frappe +from frappe import _, bold +from frappe.model.document import Document +from frappe.model.mapper import get_mapped_doc +from frappe.utils import ( + add_days, + add_to_date, + cint, + flt, + get_datetime, + get_link_to_form, + get_time, + getdate, + time_diff, + time_diff_in_hours, + time_diff_in_seconds, +) + +from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings import ( + get_mins_between_operations, +) + class OverlapError(frappe.ValidationError): pass diff --git a/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py b/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py index c2aa2bd968..3ec6697b9f 100644 --- a/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py +++ b/erpnext/manufacturing/doctype/job_card/job_card_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'job_card', diff --git a/erpnext/manufacturing/doctype/job_card/test_job_card.py b/erpnext/manufacturing/doctype/job_card/test_job_card.py index 8fa0b27fcb..db0e08fcd0 100644 --- a/erpnext/manufacturing/doctype/job_card/test_job_card.py +++ b/erpnext/manufacturing/doctype/job_card/test_job_card.py @@ -4,11 +4,14 @@ from __future__ import unicode_literals import unittest + import frappe from frappe.utils import random_string -from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation -from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record + from erpnext.manufacturing.doctype.job_card.job_card import OperationMismatchError +from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record +from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation + class TestJobCard(unittest.TestCase): def test_job_card(self): diff --git a/erpnext/manufacturing/doctype/job_card_item/job_card_item.py b/erpnext/manufacturing/doctype/job_card_item/job_card_item.py index 373cba293e..a1338364aa 100644 --- a/erpnext/manufacturing/doctype/job_card_item/job_card_item.py +++ b/erpnext/manufacturing/doctype/job_card_item/job_card_item.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class JobCardItem(Document): pass diff --git a/erpnext/manufacturing/doctype/job_card_operation/job_card_operation.py b/erpnext/manufacturing/doctype/job_card_operation/job_card_operation.py index 85d72982ed..43d1422064 100644 --- a/erpnext/manufacturing/doctype/job_card_operation/job_card_operation.py +++ b/erpnext/manufacturing/doctype/job_card_operation/job_card_operation.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class JobCardOperation(Document): pass diff --git a/erpnext/manufacturing/doctype/job_card_time_log/job_card_time_log.py b/erpnext/manufacturing/doctype/job_card_time_log/job_card_time_log.py index 3dc6689121..ed27e7ff82 100644 --- a/erpnext/manufacturing/doctype/job_card_time_log/job_card_time_log.py +++ b/erpnext/manufacturing/doctype/job_card_time_log/job_card_time_log.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class JobCardTimeLog(Document): pass diff --git a/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.py b/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.py index 149fe3e22b..18d78b59f5 100644 --- a/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.py +++ b/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe +from dateutil.relativedelta import relativedelta from frappe.model.document import Document from frappe.utils import cint -from dateutil.relativedelta import relativedelta + class ManufacturingSettings(Document): pass diff --git a/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py b/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py index 7391f65dec..fd0ac72591 100644 --- a/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py +++ b/erpnext/manufacturing/doctype/manufacturing_settings/test_manufacturing_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestManufacturingSettings(unittest.TestCase): pass diff --git a/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.py b/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.py index 73e369c149..bc26644067 100644 --- a/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.py +++ b/erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class MaterialRequestPlanItem(Document): pass diff --git a/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py b/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py index dc43b69ef2..2675af94a7 100644 --- a/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py +++ b/erpnext/manufacturing/doctype/material_request_plan_item/test_material_request_plan_item.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestMaterialRequestPlanItem(unittest.TestCase): pass diff --git a/erpnext/manufacturing/doctype/operation/operation.py b/erpnext/manufacturing/doctype/operation/operation.py index 374f32019b..2926f911ea 100644 --- a/erpnext/manufacturing/doctype/operation/operation.py +++ b/erpnext/manufacturing/doctype/operation/operation.py @@ -7,6 +7,7 @@ import frappe from frappe import _ from frappe.model.document import Document + class Operation(Document): def validate(self): if not self.description: diff --git a/erpnext/manufacturing/doctype/operation/operation_dashboard.py b/erpnext/manufacturing/doctype/operation/operation_dashboard.py index 8deb9ec6e0..284fd9dfc2 100644 --- a/erpnext/manufacturing/doctype/operation/operation_dashboard.py +++ b/erpnext/manufacturing/doctype/operation/operation_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'operation', diff --git a/erpnext/manufacturing/doctype/operation/test_operation.py b/erpnext/manufacturing/doctype/operation/test_operation.py index 8e7e723726..2b24118fc4 100644 --- a/erpnext/manufacturing/doctype/operation/test_operation.py +++ b/erpnext/manufacturing/doctype/operation/test_operation.py @@ -2,9 +2,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + test_records = frappe.get_test_records('Operation') class TestOperation(unittest.TestCase): diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.py b/erpnext/manufacturing/doctype/production_plan/production_plan.py index 2c77c9c23f..91e5748964 100644 --- a/erpnext/manufacturing/doctype/production_plan/production_plan.py +++ b/erpnext/manufacturing/doctype/production_plan/production_plan.py @@ -3,18 +3,32 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json, copy -from frappe import msgprint, _ + +import copy +import json + +import frappe +from frappe import _, msgprint +from frappe.model.document import Document +from frappe.utils import ( + add_days, + ceil, + cint, + comma_and, + flt, + get_link_to_form, + getdate, + now_datetime, + nowdate, +) +from frappe.utils.csvutils import build_csv_response from six import iteritems -from frappe.model.document import Document -from frappe.utils import (flt, cint, nowdate, add_days, comma_and, now_datetime, - ceil, get_link_to_form, getdate) -from frappe.utils.csvutils import build_csv_response -from erpnext.manufacturing.doctype.bom.bom import validate_bom_no, get_children +from erpnext.manufacturing.doctype.bom.bom import get_children, validate_bom_no from erpnext.manufacturing.doctype.work_order.work_order import get_item_details from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults + class ProductionPlan(Document): def validate(self): self.calculate_total_planned_qty() @@ -453,7 +467,10 @@ class ProductionPlan(Document): }) def create_work_order(self, item): - from erpnext.manufacturing.doctype.work_order.work_order import OverProductionError, get_default_warehouse + from erpnext.manufacturing.doctype.work_order.work_order import ( + OverProductionError, + get_default_warehouse, + ) warehouse = get_default_warehouse() wo = frappe.new_doc("Work Order") wo.update(item) diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py b/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py index 52a56af7bc..b4bc3467e4 100644 --- a/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py +++ b/erpnext/manufacturing/doctype/production_plan/production_plan_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'production_plan', diff --git a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py index 78028039c4..6a942d5433 100644 --- a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py +++ b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py @@ -3,15 +3,23 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import nowdate, now_datetime, flt, add_to_date -from erpnext.stock.doctype.item.test_item import create_item -from erpnext.manufacturing.doctype.production_plan.production_plan import get_sales_orders -from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation -from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order -from erpnext.manufacturing.doctype.production_plan.production_plan import get_items_for_material_requests, get_warehouse_list + +import frappe +from frappe.utils import add_to_date, flt, now_datetime, nowdate + from erpnext.controllers.item_variant import create_variant +from erpnext.manufacturing.doctype.production_plan.production_plan import ( + get_items_for_material_requests, + get_sales_orders, + get_warehouse_list, +) +from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order +from erpnext.stock.doctype.item.test_item import create_item +from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( + create_stock_reconciliation, +) + class TestProductionPlan(unittest.TestCase): def setUp(self): diff --git a/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.py b/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.py index 37cf5a49dc..24029d8f2c 100644 --- a/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.py +++ b/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ProductionPlanItem(Document): pass diff --git a/erpnext/manufacturing/doctype/production_plan_item_reference/production_plan_item_reference.py b/erpnext/manufacturing/doctype/production_plan_item_reference/production_plan_item_reference.py index 51fbc3633b..9d25d6fc20 100644 --- a/erpnext/manufacturing/doctype/production_plan_item_reference/production_plan_item_reference.py +++ b/erpnext/manufacturing/doctype/production_plan_item_reference/production_plan_item_reference.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ProductionPlanItemReference(Document): pass diff --git a/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py index 44786f8388..d1d935c955 100644 --- a/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py +++ b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProductionPlanMaterialRequest(Document): pass diff --git a/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/production_plan_material_request_warehouse.py b/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/production_plan_material_request_warehouse.py index f605985ae9..1548bd7b88 100644 --- a/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/production_plan_material_request_warehouse.py +++ b/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/production_plan_material_request_warehouse.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ProductionPlanMaterialRequestWarehouse(Document): pass diff --git a/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py b/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py index ecab5fbae1..905252da60 100644 --- a/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py +++ b/erpnext/manufacturing/doctype/production_plan_material_request_warehouse/test_production_plan_material_request_warehouse.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestProductionPlanMaterialRequestWarehouse(unittest.TestCase): pass diff --git a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py index 99c7273a64..ea53a98696 100644 --- a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py +++ b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ProductionPlanSalesOrder(Document): pass diff --git a/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.py b/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.py index 6850a2eb4e..be0ed1b96a 100644 --- a/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.py +++ b/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ProductionPlanSubAssemblyItem(Document): pass diff --git a/erpnext/manufacturing/doctype/routing/routing.py b/erpnext/manufacturing/doctype/routing/routing.py index ece0db717a..20fb370d94 100644 --- a/erpnext/manufacturing/doctype/routing/routing.py +++ b/erpnext/manufacturing/doctype/routing/routing.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cint, flt from frappe import _ from frappe.model.document import Document +from frappe.utils import cint, flt + class Routing(Document): def validate(self): diff --git a/erpnext/manufacturing/doctype/routing/routing_dashboard.py b/erpnext/manufacturing/doctype/routing/routing_dashboard.py index 50a3fe62da..9ef6ee5752 100644 --- a/erpnext/manufacturing/doctype/routing/routing_dashboard.py +++ b/erpnext/manufacturing/doctype/routing/routing_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/manufacturing/doctype/routing/test_routing.py b/erpnext/manufacturing/doctype/routing/test_routing.py index 92f26946ab..b84b2ba1e6 100644 --- a/erpnext/manufacturing/doctype/routing/test_routing.py +++ b/erpnext/manufacturing/doctype/routing/test_routing.py @@ -4,11 +4,14 @@ from __future__ import unicode_literals import unittest + import frappe from frappe.test_runner import make_test_records -from erpnext.stock.doctype.item.test_item import make_item + from erpnext.manufacturing.doctype.job_card.job_card import OperationSequenceError from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record +from erpnext.stock.doctype.item.test_item import make_item + class TestRouting(unittest.TestCase): @classmethod @@ -91,8 +94,8 @@ class TestRouting(unittest.TestCase): def setup_operations(rows): - from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation from erpnext.manufacturing.doctype.operation.test_operation import make_operation + from erpnext.manufacturing.doctype.workstation.test_workstation import make_workstation for row in rows: make_workstation(row) make_operation(row) diff --git a/erpnext/manufacturing/doctype/sub_operation/sub_operation.py b/erpnext/manufacturing/doctype/sub_operation/sub_operation.py index f4b27758e9..37b64f23d2 100644 --- a/erpnext/manufacturing/doctype/sub_operation/sub_operation.py +++ b/erpnext/manufacturing/doctype/sub_operation/sub_operation.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class SubOperation(Document): pass diff --git a/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py b/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py index d3410ca312..c5749dbc96 100644 --- a/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py +++ b/erpnext/manufacturing/doctype/sub_operation/test_sub_operation.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestSubOperation(unittest.TestCase): pass diff --git a/erpnext/manufacturing/doctype/work_order/test_work_order.py b/erpnext/manufacturing/doctype/work_order/test_work_order.py index c0ed611534..bb43149863 100644 --- a/erpnext/manufacturing/doctype/work_order/test_work_order.py +++ b/erpnext/manufacturing/doctype/work_order/test_work_order.py @@ -3,18 +3,28 @@ from __future__ import unicode_literals + import unittest + import frappe -from frappe.utils import flt, now, add_months, cint, today, add_to_date -from erpnext.manufacturing.doctype.work_order.work_order import (make_stock_entry, - ItemHasVariantError, stop_unstop, StockOverProductionError, OverProductionError, CapacityError) -from erpnext.stock.doctype.stock_entry import test_stock_entry -from erpnext.stock.utils import get_bin +from frappe.utils import add_months, cint, flt, now, today + +from erpnext.manufacturing.doctype.job_card.job_card import JobCardCancelError +from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom +from erpnext.manufacturing.doctype.work_order.work_order import ( + CapacityError, + ItemHasVariantError, + OverProductionError, + StockOverProductionError, + make_stock_entry, + stop_unstop, +) from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.stock.doctype.item.test_item import make_item -from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom +from erpnext.stock.doctype.stock_entry import test_stock_entry from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse -from erpnext.manufacturing.doctype.job_card.job_card import JobCardCancelError +from erpnext.stock.utils import get_bin + class TestWorkOrder(unittest.TestCase): def setUp(self): @@ -696,8 +706,10 @@ class TestWorkOrder(unittest.TestCase): self.assertRaises(frappe.ValidationError, make_stock_entry, wo.name, 'Material Transfer for Manufacture') def test_wo_completion_with_pl_bom(self): - from erpnext.manufacturing.doctype.bom.test_bom import create_process_loss_bom_items - from erpnext.manufacturing.doctype.bom.test_bom import create_bom_with_process_loss_item + from erpnext.manufacturing.doctype.bom.test_bom import ( + create_bom_with_process_loss_item, + create_process_loss_bom_items, + ) qty = 4 scrap_qty = 0.25 # bom item qty = 1, consider as 25% of FG diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index 24b33d523e..e282dd3ecb 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -1,25 +1,43 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe import json -import math -from frappe import _ -from frappe.utils import flt, get_datetime, getdate, date_diff, cint, nowdate, get_link_to_form, time_diff_in_hours -from frappe.model.document import Document -from erpnext.manufacturing.doctype.bom.bom import validate_bom_no, get_bom_items_as_dict, get_bom_item_rate + +import frappe from dateutil.relativedelta import relativedelta -from erpnext.stock.doctype.item.item import validate_end_of_life, get_item_defaults -from erpnext.manufacturing.doctype.workstation.workstation import WorkstationHolidayError -from erpnext.projects.doctype.timesheet.timesheet import OverlapError -from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings import get_mins_between_operations -from erpnext.stock.stock_balance import get_planned_qty, update_bin_qty -from frappe.utils.csvutils import getlink -from erpnext.stock.utils import get_bin, validate_warehouse_company, get_latest_stock_qty -from erpnext.utilities.transaction_base import validate_uom_is_integer +from frappe import _ +from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc +from frappe.utils import ( + cint, + date_diff, + flt, + get_datetime, + get_link_to_form, + getdate, + nowdate, + time_diff_in_hours, +) + +from erpnext.manufacturing.doctype.bom.bom import ( + get_bom_item_rate, + get_bom_items_as_dict, + validate_bom_no, +) +from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings import ( + get_mins_between_operations, +) from erpnext.stock.doctype.batch.batch import make_batch -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos, get_auto_serial_nos, auto_make_serial_nos +from erpnext.stock.doctype.item.item import get_item_defaults, validate_end_of_life +from erpnext.stock.doctype.serial_no.serial_no import ( + auto_make_serial_nos, + get_auto_serial_nos, + get_serial_nos, +) +from erpnext.stock.stock_balance import get_planned_qty, update_bin_qty +from erpnext.stock.utils import get_bin, get_latest_stock_qty, validate_warehouse_company +from erpnext.utilities.transaction_base import validate_uom_is_integer + class OverProductionError(frappe.ValidationError): pass class CapacityError(frappe.ValidationError): pass diff --git a/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py b/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py index 403d46d8d4..f0fc43f165 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py +++ b/erpnext/manufacturing/doctype/work_order/work_order_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'work_order', diff --git a/erpnext/manufacturing/doctype/work_order_item/work_order_item.py b/erpnext/manufacturing/doctype/work_order_item/work_order_item.py index 9aa53b5e3c..3f2664b16e 100644 --- a/erpnext/manufacturing/doctype/work_order_item/work_order_item.py +++ b/erpnext/manufacturing/doctype/work_order_item/work_order_item.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class WorkOrderItem(Document): pass diff --git a/erpnext/manufacturing/doctype/work_order_operation/work_order_operation.py b/erpnext/manufacturing/doctype/work_order_operation/work_order_operation.py index 3c20d8e88a..d25c9f2189 100644 --- a/erpnext/manufacturing/doctype/work_order_operation/work_order_operation.py +++ b/erpnext/manufacturing/doctype/work_order_operation/work_order_operation.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class WorkOrderOperation(Document): pass diff --git a/erpnext/manufacturing/doctype/workstation/test_workstation.py b/erpnext/manufacturing/doctype/workstation/test_workstation.py index 9b73aca601..6c6ab77dd8 100644 --- a/erpnext/manufacturing/doctype/workstation/test_workstation.py +++ b/erpnext/manufacturing/doctype/workstation/test_workstation.py @@ -1,14 +1,20 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors # See license.txt from __future__ import unicode_literals -from erpnext.manufacturing.doctype.operation.test_operation import make_operation + +import unittest import frappe -import unittest -from erpnext.manufacturing.doctype.workstation.workstation import check_if_within_operating_hours, NotInWorkingHoursError, WorkstationHolidayError -from erpnext.manufacturing.doctype.routing.test_routing import setup_bom, create_routing from frappe.test_runner import make_test_records +from erpnext.manufacturing.doctype.operation.test_operation import make_operation +from erpnext.manufacturing.doctype.routing.test_routing import create_routing, setup_bom +from erpnext.manufacturing.doctype.workstation.workstation import ( + NotInWorkingHoursError, + WorkstationHolidayError, + check_if_within_operating_hours, +) + test_dependencies = ["Warehouse"] test_records = frappe.get_test_records('Workstation') make_test_records('Workstation') diff --git a/erpnext/manufacturing/doctype/workstation/workstation.py b/erpnext/manufacturing/doctype/workstation/workstation.py index f4483f7547..6daf950c5f 100644 --- a/erpnext/manufacturing/doctype/workstation/workstation.py +++ b/erpnext/manufacturing/doctype/workstation/workstation.py @@ -2,13 +2,23 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from erpnext.support.doctype.issue.issue import get_holidays -from frappe.utils import (flt, cint, getdate, formatdate, - comma_and, time_diff_in_seconds, to_timedelta, add_days) from frappe.model.document import Document -from dateutil.parser import parse +from frappe.utils import ( + add_days, + cint, + comma_and, + flt, + formatdate, + getdate, + time_diff_in_seconds, + to_timedelta, +) + +from erpnext.support.doctype.issue.issue import get_holidays + class WorkstationHolidayError(frappe.ValidationError): pass class NotInWorkingHoursError(frappe.ValidationError): pass diff --git a/erpnext/manufacturing/doctype/workstation/workstation_dashboard.py b/erpnext/manufacturing/doctype/workstation/workstation_dashboard.py index 3ddbe73170..3e4b38aae8 100644 --- a/erpnext/manufacturing/doctype/workstation/workstation_dashboard.py +++ b/erpnext/manufacturing/doctype/workstation/workstation_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'workstation', diff --git a/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py b/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py index 215df4c9b5..719d83db51 100644 --- a/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py +++ b/erpnext/manufacturing/doctype/workstation_working_hour/workstation_working_hour.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class WorkstationWorkingHour(Document): pass diff --git a/erpnext/manufacturing/notification/material_request_receipt_notification/material_request_receipt_notification.py b/erpnext/manufacturing/notification/material_request_receipt_notification/material_request_receipt_notification.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/manufacturing/notification/material_request_receipt_notification/material_request_receipt_notification.py +++ b/erpnext/manufacturing/notification/material_request_receipt_notification/material_request_receipt_notification.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/manufacturing/report/bom_explorer/bom_explorer.py b/erpnext/manufacturing/report/bom_explorer/bom_explorer.py index 858b5546b0..c122fa9b61 100644 --- a/erpnext/manufacturing/report/bom_explorer/bom_explorer.py +++ b/erpnext/manufacturing/report/bom_explorer/bom_explorer.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from pprint import pprint + def execute(filters=None): data = [] diff --git a/erpnext/manufacturing/report/bom_operations_time/bom_operations_time.py b/erpnext/manufacturing/report/bom_operations_time/bom_operations_time.py index 8778d9ba55..3c2d215369 100644 --- a/erpnext/manufacturing/report/bom_operations_time/bom_operations_time.py +++ b/erpnext/manufacturing/report/bom_operations_time/bom_operations_time.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): data = get_data(filters) columns = get_columns(filters) diff --git a/erpnext/manufacturing/report/bom_stock_calculated/bom_stock_calculated.py b/erpnext/manufacturing/report/bom_stock_calculated/bom_stock_calculated.py index d7ebfd6b82..c085990acc 100644 --- a/erpnext/manufacturing/report/bom_stock_calculated/bom_stock_calculated.py +++ b/erpnext/manufacturing/report/bom_stock_calculated/bom_stock_calculated.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils.data import comma_and + def execute(filters=None): # if not filters: filters = {} columns = get_columns() diff --git a/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py b/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py index ed8b93929a..b8ef68dbb6 100644 --- a/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py +++ b/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py b/erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py index dc424b7605..bbf503718f 100644 --- a/erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py +++ b/erpnext/manufacturing/report/bom_variance_report/bom_variance_report.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns, data = [], [] columns = get_columns(filters) diff --git a/erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py b/erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py index b4db98c3d7..0dcad448d7 100644 --- a/erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py +++ b/erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + def execute(filters=None): columns, data = [], [] diff --git a/erpnext/manufacturing/report/downtime_analysis/downtime_analysis.py b/erpnext/manufacturing/report/downtime_analysis/downtime_analysis.py index 74c794b5dd..a1c6fd1262 100644 --- a/erpnext/manufacturing/report/downtime_analysis/downtime_analysis.py +++ b/erpnext/manufacturing/report/downtime_analysis/downtime_analysis.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt from frappe import _ +from frappe.utils import flt + def execute(filters=None): columns, data = [], [] diff --git a/erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py b/erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py index 9a6c764c60..f014e7f9b5 100644 --- a/erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py +++ b/erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py @@ -2,12 +2,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt, nowdate, add_years, cint, getdate +from frappe.utils import add_years, cint, flt, getdate + +import erpnext from erpnext.accounts.report.financial_statements import get_period_list from erpnext.stock.doctype.warehouse.warehouse import get_child_warehouses + def execute(filters=None): return ForecastingReport(filters).execute_report() diff --git a/erpnext/manufacturing/report/job_card_summary/job_card_summary.py b/erpnext/manufacturing/report/job_card_summary/job_card_summary.py index a893905152..a7aec315ff 100644 --- a/erpnext/manufacturing/report/job_card_summary/job_card_summary.py +++ b/erpnext/manufacturing/report/job_card_summary/job_card_summary.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate, flt -from erpnext.stock.report.stock_analytics.stock_analytics import (get_period_date_ranges, get_period) +from frappe.utils import getdate + +from erpnext.stock.report.stock_analytics.stock_analytics import get_period, get_period_date_ranges + def execute(filters=None): columns, data = [], [] diff --git a/erpnext/manufacturing/report/production_analytics/production_analytics.py b/erpnext/manufacturing/report/production_analytics/production_analytics.py index 42c9d97cb5..9e0978aee7 100644 --- a/erpnext/manufacturing/report/production_analytics/production_analytics.py +++ b/erpnext/manufacturing/report/production_analytics/production_analytics.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _, scrub from frappe.utils import getdate -from erpnext.stock.report.stock_analytics.stock_analytics import (get_period_date_ranges, get_period) + +from erpnext.stock.report.stock_analytics.stock_analytics import get_period, get_period_date_ranges + def execute(filters=None): columns = get_columns(filters) diff --git a/erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py b/erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py index 81b1791ae8..9a4d0c42db 100644 --- a/erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py +++ b/erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.utils import flt + def execute(filters=None): columns, data = [], [] data = get_data(filters) diff --git a/erpnext/manufacturing/report/production_planning_report/production_planning_report.py b/erpnext/manufacturing/report/production_planning_report/production_planning_report.py index 806d268ffd..e27270ae8b 100644 --- a/erpnext/manufacturing/report/production_planning_report/production_planning_report.py +++ b/erpnext/manufacturing/report/production_planning_report/production_planning_report.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + from erpnext.stock.doctype.warehouse.warehouse import get_child_warehouses # and bom_no is not null and bom_no !='' diff --git a/erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py b/erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py index a12ac7f9d9..54df208346 100644 --- a/erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py +++ b/erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns, data = [], [] data = get_data(filters) diff --git a/erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py b/erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py index 599a738f6f..5b2e2620fd 100644 --- a/erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py +++ b/erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.utils import cint + import frappe +from frappe.utils import cint + def execute(filters=None): wo_list = get_work_orders() diff --git a/erpnext/manufacturing/report/work_order_summary/work_order_summary.py b/erpnext/manufacturing/report/work_order_summary/work_order_summary.py index d0766f9abe..b65af33cec 100644 --- a/erpnext/manufacturing/report/work_order_summary/work_order_summary.py +++ b/erpnext/manufacturing/report/work_order_summary/work_order_summary.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import date_diff, today, getdate, flt from frappe import _ -from erpnext.stock.report.stock_analytics.stock_analytics import (get_period_date_ranges, get_period) +from frappe.utils import date_diff, flt, getdate, today + +from erpnext.stock.report.stock_analytics.stock_analytics import get_period, get_period_date_ranges + def execute(filters=None): columns, data = [], [] diff --git a/erpnext/non_profit/doctype/certification_application/certification_application.py b/erpnext/non_profit/doctype/certification_application/certification_application.py index d4fc76bbfa..ff400c81ae 100644 --- a/erpnext/non_profit/doctype/certification_application/certification_application.py +++ b/erpnext/non_profit/doctype/certification_application/certification_application.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CertificationApplication(Document): pass diff --git a/erpnext/non_profit/doctype/certification_application/test_certification_application.py b/erpnext/non_profit/doctype/certification_application/test_certification_application.py index 30cb8c0acd..5e1cbf8596 100644 --- a/erpnext/non_profit/doctype/certification_application/test_certification_application.py +++ b/erpnext/non_profit/doctype/certification_application/test_certification_application.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCertificationApplication(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/certified_consultant/certified_consultant.py b/erpnext/non_profit/doctype/certified_consultant/certified_consultant.py index 3bc6ed74c2..0cbc2088c9 100644 --- a/erpnext/non_profit/doctype/certified_consultant/certified_consultant.py +++ b/erpnext/non_profit/doctype/certified_consultant/certified_consultant.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CertifiedConsultant(Document): pass diff --git a/erpnext/non_profit/doctype/certified_consultant/test_certified_consultant.py b/erpnext/non_profit/doctype/certified_consultant/test_certified_consultant.py index 19b485db1f..29a73881a5 100644 --- a/erpnext/non_profit/doctype/certified_consultant/test_certified_consultant.py +++ b/erpnext/non_profit/doctype/certified_consultant/test_certified_consultant.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCertifiedConsultant(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/chapter/chapter.py b/erpnext/non_profit/doctype/chapter/chapter.py index e9554b1f55..c5c9569e74 100644 --- a/erpnext/non_profit/doctype/chapter/chapter.py +++ b/erpnext/non_profit/doctype/chapter/chapter.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.website.website_generator import WebsiteGenerator + class Chapter(WebsiteGenerator): _website = frappe._dict( condition_field = "published", diff --git a/erpnext/non_profit/doctype/chapter/test_chapter.py b/erpnext/non_profit/doctype/chapter/test_chapter.py index d757a1f915..04cdc27747 100644 --- a/erpnext/non_profit/doctype/chapter/test_chapter.py +++ b/erpnext/non_profit/doctype/chapter/test_chapter.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestChapter(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/chapter_member/chapter_member.py b/erpnext/non_profit/doctype/chapter_member/chapter_member.py index a1b25f2d4e..1638294de1 100644 --- a/erpnext/non_profit/doctype/chapter_member/chapter_member.py +++ b/erpnext/non_profit/doctype/chapter_member/chapter_member.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class ChapterMember(Document): pass diff --git a/erpnext/non_profit/doctype/donation/donation.py b/erpnext/non_profit/doctype/donation/donation.py index 9aa7e13433..e4e2b4e7d6 100644 --- a/erpnext/non_profit/doctype/donation/donation.py +++ b/erpnext/non_profit/doctype/donation/donation.py @@ -3,15 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import json + import frappe import six -import json -from frappe.model.document import Document from frappe import _ -from frappe.utils import getdate, flt, get_link_to_form from frappe.email import sendmail_to_system_managers +from frappe.model.document import Document +from frappe.utils import flt, get_link_to_form, getdate + from erpnext.non_profit.doctype.membership.membership import verify_signature + class Donation(Document): def validate(self): if not self.donor or not frappe.db.exists('Donor', self.donor): diff --git a/erpnext/non_profit/doctype/donation/donation_dashboard.py b/erpnext/non_profit/doctype/donation/donation_dashboard.py index 3da89423d3..4a16077ef4 100644 --- a/erpnext/non_profit/doctype/donation/donation_dashboard.py +++ b/erpnext/non_profit/doctype/donation/donation_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'donation', diff --git a/erpnext/non_profit/doctype/donation/test_donation.py b/erpnext/non_profit/doctype/donation/test_donation.py index b206f54523..6b9ade9185 100644 --- a/erpnext/non_profit/doctype/donation/test_donation.py +++ b/erpnext/non_profit/doctype/donation/test_donation.py @@ -3,10 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + from erpnext.non_profit.doctype.donation.donation import create_donation + class TestDonation(unittest.TestCase): def setUp(self): create_donor_type() diff --git a/erpnext/non_profit/doctype/donor/donor.py b/erpnext/non_profit/doctype/donor/donor.py index ab6a197ed5..a46163a012 100644 --- a/erpnext/non_profit/doctype/donor/donor.py +++ b/erpnext/non_profit/doctype/donor/donor.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + from frappe.contacts.address_and_contact import load_address_and_contact +from frappe.model.document import Document + class Donor(Document): def onload(self): diff --git a/erpnext/non_profit/doctype/donor/test_donor.py b/erpnext/non_profit/doctype/donor/test_donor.py index 3b6724eb63..5ce01998bc 100644 --- a/erpnext/non_profit/doctype/donor/test_donor.py +++ b/erpnext/non_profit/doctype/donor/test_donor.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestDonor(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/donor_type/donor_type.py b/erpnext/non_profit/doctype/donor_type/donor_type.py index e9262ac2a5..4d34725d02 100644 --- a/erpnext/non_profit/doctype/donor_type/donor_type.py +++ b/erpnext/non_profit/doctype/donor_type/donor_type.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DonorType(Document): pass diff --git a/erpnext/non_profit/doctype/donor_type/test_donor_type.py b/erpnext/non_profit/doctype/donor_type/test_donor_type.py index e7939136b7..7857ec5ad2 100644 --- a/erpnext/non_profit/doctype/donor_type/test_donor_type.py +++ b/erpnext/non_profit/doctype/donor_type/test_donor_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals - import unittest + class TestDonorType(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/grant_application/grant_application.py b/erpnext/non_profit/doctype/grant_application/grant_application.py index b810fd027a..92a62563ab 100644 --- a/erpnext/non_profit/doctype/grant_application/grant_application.py +++ b/erpnext/non_profit/doctype/grant_application/grant_application.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.website.website_generator import WebsiteGenerator from frappe.contacts.address_and_contact import load_address_and_contact from frappe.utils import get_url +from frappe.website.website_generator import WebsiteGenerator + class GrantApplication(WebsiteGenerator): _website = frappe._dict( diff --git a/erpnext/non_profit/doctype/grant_application/test_grant_application.py b/erpnext/non_profit/doctype/grant_application/test_grant_application.py index da16acfaac..d15809112a 100644 --- a/erpnext/non_profit/doctype/grant_application/test_grant_application.py +++ b/erpnext/non_profit/doctype/grant_application/test_grant_application.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestGrantApplication(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/member/member.py b/erpnext/non_profit/doctype/member/member.py index 67828d6efc..f7e7f105d5 100644 --- a/erpnext/non_profit/doctype/member/member.py +++ b/erpnext/non_profit/doctype/member/member.py @@ -3,14 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.model.document import Document from frappe.contacts.address_and_contact import load_address_and_contact -from frappe.utils import cint, get_link_to_form from frappe.integrations.utils import get_payment_gateway_controller +from frappe.model.document import Document +from frappe.utils import cint, get_link_to_form + from erpnext.non_profit.doctype.membership_type.membership_type import get_membership_type + class Member(Document): def onload(self): """Load address and contacts in `__onload`""" diff --git a/erpnext/non_profit/doctype/member/member_dashboard.py b/erpnext/non_profit/doctype/member/member_dashboard.py index 743db2513a..ff929a5909 100644 --- a/erpnext/non_profit/doctype/member/member_dashboard.py +++ b/erpnext/non_profit/doctype/member/member_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/non_profit/doctype/member/test_member.py b/erpnext/non_profit/doctype/member/test_member.py index 748a500dee..38ad87f2f6 100644 --- a/erpnext/non_profit/doctype/member/test_member.py +++ b/erpnext/non_profit/doctype/member/test_member.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestMember(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/membership/membership.py b/erpnext/non_profit/doctype/membership/membership.py index 9eb973bfee..b65dc8e1e3 100644 --- a/erpnext/non_profit/doctype/membership/membership.py +++ b/erpnext/non_profit/doctype/membership/membership.py @@ -3,17 +3,20 @@ # For license information, please see license.txt from __future__ import unicode_literals + import json +from datetime import datetime + import frappe import six -import os -from datetime import datetime -from frappe.model.document import Document -from frappe.email import sendmail_to_system_managers -from frappe.utils import add_days, add_years, nowdate, getdate, add_months, get_link_to_form -from erpnext.non_profit.doctype.member.member import create_member from frappe import _ +from frappe.email import sendmail_to_system_managers +from frappe.model.document import Document +from frappe.utils import add_days, add_months, add_years, get_link_to_form, getdate, nowdate + import erpnext +from erpnext.non_profit.doctype.member.member import create_member + class Membership(Document): def validate(self): diff --git a/erpnext/non_profit/doctype/membership/test_membership.py b/erpnext/non_profit/doctype/membership/test_membership.py index 5ad2088fc3..5f52cdaca8 100644 --- a/erpnext/non_profit/doctype/membership/test_membership.py +++ b/erpnext/non_profit/doctype/membership/test_membership.py @@ -2,12 +2,16 @@ # Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + import frappe +from frappe.utils import add_months, nowdate + import erpnext from erpnext.non_profit.doctype.member.member import create_member from erpnext.non_profit.doctype.membership.membership import update_halted_razorpay_subscription -from frappe.utils import nowdate, add_months + class TestMembership(unittest.TestCase): def setUp(self): diff --git a/erpnext/non_profit/doctype/membership_type/membership_type.py b/erpnext/non_profit/doctype/membership_type/membership_type.py index c712b99c3b..1b847d94b9 100644 --- a/erpnext/non_profit/doctype/membership_type/membership_type.py +++ b/erpnext/non_profit/doctype/membership_type/membership_type.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + import frappe from frappe import _ +from frappe.model.document import Document + class MembershipType(Document): def validate(self): diff --git a/erpnext/non_profit/doctype/membership_type/test_membership_type.py b/erpnext/non_profit/doctype/membership_type/test_membership_type.py index d2c9beed0d..2503ba17d1 100644 --- a/erpnext/non_profit/doctype/membership_type/test_membership_type.py +++ b/erpnext/non_profit/doctype/membership_type/test_membership_type.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestMembershipType(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/non_profit_settings/non_profit_settings.py b/erpnext/non_profit/doctype/non_profit_settings/non_profit_settings.py index 50c93516ad..cb365cb6c1 100644 --- a/erpnext/non_profit/doctype/non_profit_settings/non_profit_settings.py +++ b/erpnext/non_profit/doctype/non_profit_settings/non_profit_settings.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.integrations.utils import get_payment_gateway_controller from frappe.model.document import Document + class NonProfitSettings(Document): @frappe.whitelist() def generate_webhook_secret(self, field="membership_webhook_secret"): diff --git a/erpnext/non_profit/doctype/non_profit_settings/test_non_profit_settings.py b/erpnext/non_profit/doctype/non_profit_settings/test_non_profit_settings.py index 3f0ede32e5..a0a54030cc 100644 --- a/erpnext/non_profit/doctype/non_profit_settings/test_non_profit_settings.py +++ b/erpnext/non_profit/doctype/non_profit_settings/test_non_profit_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestNonProfitSettings(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/volunteer/test_volunteer.py b/erpnext/non_profit/doctype/volunteer/test_volunteer.py index 6f3bee0edd..346eac5677 100644 --- a/erpnext/non_profit/doctype/volunteer/test_volunteer.py +++ b/erpnext/non_profit/doctype/volunteer/test_volunteer.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestVolunteer(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/volunteer/volunteer.py b/erpnext/non_profit/doctype/volunteer/volunteer.py index 699868aeb7..6c9232b0ea 100644 --- a/erpnext/non_profit/doctype/volunteer/volunteer.py +++ b/erpnext/non_profit/doctype/volunteer/volunteer.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + from frappe.contacts.address_and_contact import load_address_and_contact +from frappe.model.document import Document + class Volunteer(Document): def onload(self): diff --git a/erpnext/non_profit/doctype/volunteer_skill/volunteer_skill.py b/erpnext/non_profit/doctype/volunteer_skill/volunteer_skill.py index dc9f823194..3422ec2dec 100644 --- a/erpnext/non_profit/doctype/volunteer_skill/volunteer_skill.py +++ b/erpnext/non_profit/doctype/volunteer_skill/volunteer_skill.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class VolunteerSkill(Document): pass diff --git a/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.py b/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.py index 78f65c731a..2c64d21bba 100644 --- a/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.py +++ b/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestVolunteerType(unittest.TestCase): pass diff --git a/erpnext/non_profit/doctype/volunteer_type/volunteer_type.py b/erpnext/non_profit/doctype/volunteer_type/volunteer_type.py index 9776402a43..116f5d8b52 100644 --- a/erpnext/non_profit/doctype/volunteer_type/volunteer_type.py +++ b/erpnext/non_profit/doctype/volunteer_type/volunteer_type.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class VolunteerType(Document): pass diff --git a/erpnext/non_profit/report/expiring_memberships/expiring_memberships.py b/erpnext/non_profit/report/expiring_memberships/expiring_memberships.py index 122db45ea4..2167b651c3 100644 --- a/erpnext/non_profit/report/expiring_memberships/expiring_memberships.py +++ b/erpnext/non_profit/report/expiring_memberships/expiring_memberships.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import _,msgprint +from frappe import _ + def execute(filters=None): columns = get_columns(filters) diff --git a/erpnext/non_profit/web_form/certification_application/certification_application.py b/erpnext/non_profit/web_form/certification_application/certification_application.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/non_profit/web_form/certification_application/certification_application.py +++ b/erpnext/non_profit/web_form/certification_application/certification_application.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/non_profit/web_form/certification_application_usd/certification_application_usd.py b/erpnext/non_profit/web_form/certification_application_usd/certification_application_usd.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/non_profit/web_form/certification_application_usd/certification_application_usd.py +++ b/erpnext/non_profit/web_form/certification_application_usd/certification_application_usd.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/non_profit/web_form/grant_application/grant_application.py b/erpnext/non_profit/web_form/grant_application/grant_application.py index 186722a8bf..dab0e9fda8 100644 --- a/erpnext/non_profit/web_form/grant_application/grant_application.py +++ b/erpnext/non_profit/web_form/grant_application/grant_application.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_context(context): context.no_cache = True context.parents = [dict(label='View All ', diff --git a/erpnext/patches/v10_0/add_default_cash_flow_mappers.py b/erpnext/patches/v10_0/add_default_cash_flow_mappers.py index d607b2f745..5c28597faa 100644 --- a/erpnext/patches/v10_0/add_default_cash_flow_mappers.py +++ b/erpnext/patches/v10_0/add_default_cash_flow_mappers.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import frappe + from erpnext.setup.install import create_default_cash_flow_mapper_templates diff --git a/erpnext/patches/v10_0/delete_hub_documents.py b/erpnext/patches/v10_0/delete_hub_documents.py index f6a1499895..16c7abfc97 100644 --- a/erpnext/patches/v10_0/delete_hub_documents.py +++ b/erpnext/patches/v10_0/delete_hub_documents.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals import frappe -from frappe.model.utils.rename_field import rename_field + def execute(): for dt, dn in (("Page", "Hub"), ("DocType", "Hub Settings"), ("DocType", "Hub Category")): diff --git a/erpnext/patches/v10_0/fichier_des_ecritures_comptables_for_france.py b/erpnext/patches/v10_0/fichier_des_ecritures_comptables_for_france.py index 0315ae72a7..a3e49577a3 100644 --- a/erpnext/patches/v10_0/fichier_des_ecritures_comptables_for_france.py +++ b/erpnext/patches/v10_0/fichier_des_ecritures_comptables_for_france.py @@ -2,9 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + from erpnext.setup.doctype.company.company import install_country_fixtures + def execute(): frappe.reload_doc('regional', 'report', 'fichier_des_ecritures_comptables_[fec]') for d in frappe.get_all('Company', filters = {'country': 'France'}): diff --git a/erpnext/patches/v10_0/migrate_daily_work_summary_settings_to_daily_work_summary_group.py b/erpnext/patches/v10_0/migrate_daily_work_summary_settings_to_daily_work_summary_group.py index daa258e882..a3c61a5294 100644 --- a/erpnext/patches/v10_0/migrate_daily_work_summary_settings_to_daily_work_summary_group.py +++ b/erpnext/patches/v10_0/migrate_daily_work_summary_settings_to_daily_work_summary_group.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe diff --git a/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py b/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py index f832936b10..4fc419e302 100644 --- a/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py +++ b/erpnext/patches/v10_0/rename_offer_letter_to_job_offer.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.table_exists("Offer Letter") and not frappe.db.table_exists("Job Offer"): frappe.rename_doc("DocType", "Offer Letter", "Job Offer", force=True) diff --git a/erpnext/patches/v10_0/rename_price_to_rate_in_pricing_rule.py b/erpnext/patches/v10_0/rename_price_to_rate_in_pricing_rule.py index a9dd310310..1b8c6fb7ea 100644 --- a/erpnext/patches/v10_0/rename_price_to_rate_in_pricing_rule.py +++ b/erpnext/patches/v10_0/rename_price_to_rate_in_pricing_rule.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc("accounts", "doctype", "pricing_rule") diff --git a/erpnext/patches/v10_0/set_currency_in_pricing_rule.py b/erpnext/patches/v10_0/set_currency_in_pricing_rule.py index c4139312d9..2a3f1c03bd 100644 --- a/erpnext/patches/v10_0/set_currency_in_pricing_rule.py +++ b/erpnext/patches/v10_0/set_currency_in_pricing_rule.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doctype("Pricing Rule") diff --git a/erpnext/patches/v10_0/update_translatable_fields.py b/erpnext/patches/v10_0/update_translatable_fields.py index 9d6bda7168..2c55a05217 100644 --- a/erpnext/patches/v10_0/update_translatable_fields.py +++ b/erpnext/patches/v10_0/update_translatable_fields.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import frappe + def execute(): ''' Enable translatable in these fields diff --git a/erpnext/patches/v10_1/transfer_subscription_to_auto_repeat.py b/erpnext/patches/v10_1/transfer_subscription_to_auto_repeat.py index 3d1a88e800..2d5b0c5bd4 100644 --- a/erpnext/patches/v10_1/transfer_subscription_to_auto_repeat.py +++ b/erpnext/patches/v10_1/transfer_subscription_to_auto_repeat.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field diff --git a/erpnext/patches/v11_0/add_default_dispatch_notification_template.py b/erpnext/patches/v11_0/add_default_dispatch_notification_template.py index f4c1895539..197b3b7267 100644 --- a/erpnext/patches/v11_0/add_default_dispatch_notification_template.py +++ b/erpnext/patches/v11_0/add_default_dispatch_notification_template.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import os import frappe diff --git a/erpnext/patches/v11_0/add_default_email_template_for_leave.py b/erpnext/patches/v11_0/add_default_email_template_for_leave.py index 0f1e496623..f8538df2ef 100644 --- a/erpnext/patches/v11_0/add_default_email_template_for_leave.py +++ b/erpnext/patches/v11_0/add_default_email_template_for_leave.py @@ -1,7 +1,11 @@ from __future__ import unicode_literals -import frappe, os + +import os + +import frappe from frappe import _ + def execute(): frappe.reload_doc("email", "doctype", "email_template") diff --git a/erpnext/patches/v11_0/add_expense_claim_default_account.py b/erpnext/patches/v11_0/add_expense_claim_default_account.py index a613bd8849..74b93efbf8 100644 --- a/erpnext/patches/v11_0/add_expense_claim_default_account.py +++ b/erpnext/patches/v11_0/add_expense_claim_default_account.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("setup", "doctype", "company") diff --git a/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py b/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py index a45f39d434..9bb91dc14c 100644 --- a/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py +++ b/erpnext/patches/v11_0/add_healthcare_service_unit_tree_root.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe import _ + def execute(): """ assign lft and rgt appropriately """ if "Healthcare" not in frappe.get_active_domains(): diff --git a/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py b/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py index 0243dfb38e..08ad855e5e 100644 --- a/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py +++ b/erpnext/patches/v11_0/add_index_on_nestedset_doctypes.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("assets", "doctype", "Location") for dt in ("Account", "Cost Center", "File", "Employee", "Location", "Task", "Customer Group", "Sales Person", "Territory"): diff --git a/erpnext/patches/v11_0/add_item_group_defaults.py b/erpnext/patches/v11_0/add_item_group_defaults.py index 2a15ad1e2a..6849b27fee 100644 --- a/erpnext/patches/v11_0/add_item_group_defaults.py +++ b/erpnext/patches/v11_0/add_item_group_defaults.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): ''' diff --git a/erpnext/patches/v11_0/add_market_segments.py b/erpnext/patches/v11_0/add_market_segments.py index a8841ef3a4..e7cc7d1117 100644 --- a/erpnext/patches/v11_0/add_market_segments.py +++ b/erpnext/patches/v11_0/add_market_segments.py @@ -1,9 +1,10 @@ from __future__ import unicode_literals import frappe -from frappe import _ + from erpnext.setup.setup_wizard.operations.install_fixtures import add_market_segments + def execute(): frappe.reload_doc('crm', 'doctype', 'market_segment') diff --git a/erpnext/patches/v11_0/add_permissions_in_gst_settings.py b/erpnext/patches/v11_0/add_permissions_in_gst_settings.py index 83b2a4cc09..9df1b586e3 100644 --- a/erpnext/patches/v11_0/add_permissions_in_gst_settings.py +++ b/erpnext/patches/v11_0/add_permissions_in_gst_settings.py @@ -1,6 +1,8 @@ import frappe + from erpnext.regional.india.setup import add_permissions + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v11_0/add_sales_stages.py b/erpnext/patches/v11_0/add_sales_stages.py index d06c6889ff..23e48747b8 100644 --- a/erpnext/patches/v11_0/add_sales_stages.py +++ b/erpnext/patches/v11_0/add_sales_stages.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals + import frappe -from frappe import _ + from erpnext.setup.setup_wizard.operations.install_fixtures import add_sale_stages + def execute(): frappe.reload_doc('crm', 'doctype', 'sales_stage') diff --git a/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py b/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py index 0a1a36007e..5eaf21220b 100644 --- a/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py +++ b/erpnext/patches/v11_0/check_buying_selling_in_currency_exchange.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('setup', 'doctype', 'currency_exchange') frappe.db.sql("""update `tabCurrency Exchange` set for_buying = 1, for_selling = 1""") diff --git a/erpnext/patches/v11_0/create_default_success_action.py b/erpnext/patches/v11_0/create_default_success_action.py index 31feff25b9..4a598371f8 100644 --- a/erpnext/patches/v11_0/create_default_success_action.py +++ b/erpnext/patches/v11_0/create_default_success_action.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.setup.install import create_default_success_action + def execute(): frappe.reload_doc("core", "doctype", "success_action") create_default_success_action() diff --git a/erpnext/patches/v11_0/create_department_records_for_each_company.py b/erpnext/patches/v11_0/create_department_records_for_each_company.py index e9b5950a13..7799a65040 100644 --- a/erpnext/patches/v11_0/create_department_records_for_each_company.py +++ b/erpnext/patches/v11_0/create_department_records_for_each_company.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils.nestedset import rebuild_tree + def execute(): frappe.local.lang = frappe.db.get_default("lang") or 'en' diff --git a/erpnext/patches/v11_0/create_salary_structure_assignments.py b/erpnext/patches/v11_0/create_salary_structure_assignments.py index d3ea7a3c1c..c3cc9b6d30 100644 --- a/erpnext/patches/v11_0/create_salary_structure_assignments.py +++ b/erpnext/patches/v11_0/create_salary_structure_assignments.py @@ -2,10 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from datetime import datetime + +import frappe from frappe.utils import getdate -from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import DuplicateAssignment + +from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import ( + DuplicateAssignment, +) + def execute(): frappe.reload_doc('Payroll', 'doctype', 'Salary Structure') diff --git a/erpnext/patches/v11_0/drop_column_max_days_allowed.py b/erpnext/patches/v11_0/drop_column_max_days_allowed.py index 029f75a225..e45d01cef5 100644 --- a/erpnext/patches/v11_0/drop_column_max_days_allowed.py +++ b/erpnext/patches/v11_0/drop_column_max_days_allowed.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists("DocType", "Leave Type"): if 'max_days_allowed' in frappe.db.get_table_columns("Leave Type"): diff --git a/erpnext/patches/v11_0/ewaybill_fields_gst_india.py b/erpnext/patches/v11_0/ewaybill_fields_gst_india.py index 4247c788e3..a59291ce42 100644 --- a/erpnext/patches/v11_0/ewaybill_fields_gst_india.py +++ b/erpnext/patches/v11_0/ewaybill_fields_gst_india.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.regional.india.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v11_0/hr_ux_cleanups.py b/erpnext/patches/v11_0/hr_ux_cleanups.py index 8d18796501..b09f4a7e7f 100644 --- a/erpnext/patches/v11_0/hr_ux_cleanups.py +++ b/erpnext/patches/v11_0/hr_ux_cleanups.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doctype('Employee') frappe.db.sql('update tabEmployee set first_name = employee_name') diff --git a/erpnext/patches/v11_0/inter_state_field_for_gst.py b/erpnext/patches/v11_0/inter_state_field_for_gst.py index 730eebc01c..fa83af0065 100644 --- a/erpnext/patches/v11_0/inter_state_field_for_gst.py +++ b/erpnext/patches/v11_0/inter_state_field_for_gst.py @@ -1,6 +1,9 @@ from __future__ import unicode_literals + import frappe -from erpnext.regional.india.setup import make_custom_fields + +from erpnext.regional.india.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v11_0/make_asset_finance_book_against_old_entries.py b/erpnext/patches/v11_0/make_asset_finance_book_against_old_entries.py index dfcf5ab288..1d3f8c1204 100644 --- a/erpnext/patches/v11_0/make_asset_finance_book_against_old_entries.py +++ b/erpnext/patches/v11_0/make_asset_finance_book_against_old_entries.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils.nestedset import rebuild_tree + def execute(): frappe.reload_doc('assets', 'doctype', 'asset_finance_book') diff --git a/erpnext/patches/v11_0/make_italian_localization_fields.py b/erpnext/patches/v11_0/make_italian_localization_fields.py index 29d25c9a2d..994df721c2 100644 --- a/erpnext/patches/v11_0/make_italian_localization_fields.py +++ b/erpnext/patches/v11_0/make_italian_localization_fields.py @@ -2,10 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -from erpnext.regional.italy.setup import make_custom_fields, setup_report -from erpnext.regional.italy import state_codes + import frappe +from erpnext.regional.italy import state_codes +from erpnext.regional.italy.setup import make_custom_fields, setup_report + + def execute(): company = frappe.get_all('Company', filters = {'country': 'Italy'}) if not company: diff --git a/erpnext/patches/v11_0/make_job_card.py b/erpnext/patches/v11_0/make_job_card.py index 9c41c0b991..e361d5a838 100644 --- a/erpnext/patches/v11_0/make_job_card.py +++ b/erpnext/patches/v11_0/make_job_card.py @@ -2,9 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + from erpnext.manufacturing.doctype.work_order.work_order import create_job_card + def execute(): frappe.reload_doc('manufacturing', 'doctype', 'work_order') frappe.reload_doc('manufacturing', 'doctype', 'work_order_item') diff --git a/erpnext/patches/v11_0/make_location_from_warehouse.py b/erpnext/patches/v11_0/make_location_from_warehouse.py index 8c92b5180d..e855b3ee5e 100644 --- a/erpnext/patches/v11_0/make_location_from_warehouse.py +++ b/erpnext/patches/v11_0/make_location_from_warehouse.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.utils.nestedset import rebuild_tree + def execute(): if not frappe.db.get_value('Asset', {'docstatus': ('<', 2) }, 'name'): return frappe.reload_doc('assets', 'doctype', 'location') diff --git a/erpnext/patches/v11_0/make_quality_inspection_template.py b/erpnext/patches/v11_0/make_quality_inspection_template.py index 9720af4121..1c3d34ee20 100644 --- a/erpnext/patches/v11_0/make_quality_inspection_template.py +++ b/erpnext/patches/v11_0/make_quality_inspection_template.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('stock', 'doctype', 'quality_inspection_template') frappe.reload_doc('stock', 'doctype', 'item') diff --git a/erpnext/patches/v11_0/move_item_defaults_to_child_table_for_multicompany.py b/erpnext/patches/v11_0/move_item_defaults_to_child_table_for_multicompany.py index 83617f77fd..42fdf1358a 100644 --- a/erpnext/patches/v11_0/move_item_defaults_to_child_table_for_multicompany.py +++ b/erpnext/patches/v11_0/move_item_defaults_to_child_table_for_multicompany.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): ''' diff --git a/erpnext/patches/v11_0/move_leave_approvers_from_employee.py b/erpnext/patches/v11_0/move_leave_approvers_from_employee.py index ef703d0ea7..accfa5ecb3 100644 --- a/erpnext/patches/v11_0/move_leave_approvers_from_employee.py +++ b/erpnext/patches/v11_0/move_leave_approvers_from_employee.py @@ -1,8 +1,9 @@ from __future__ import unicode_literals + import frappe -from frappe import _ from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc("hr", "doctype", "department_approver") frappe.reload_doc("hr", "doctype", "employee") diff --git a/erpnext/patches/v11_0/rebuild_tree_for_company.py b/erpnext/patches/v11_0/rebuild_tree_for_company.py index 4cb74c7256..6caca4730c 100644 --- a/erpnext/patches/v11_0/rebuild_tree_for_company.py +++ b/erpnext/patches/v11_0/rebuild_tree_for_company.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.utils.nestedset import rebuild_tree + def execute(): frappe.reload_doc("setup", "doctype", "company") rebuild_tree('Company', 'parent_company') diff --git a/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py b/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py index 7c8a822fa2..b1ed0f598c 100644 --- a/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py +++ b/erpnext/patches/v11_0/redesign_healthcare_billing_work_flow.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields +from frappe.modules import get_doctype_module, scrub + from erpnext.domains.healthcare import data -from frappe.modules import scrub, get_doctype_module sales_invoice_referenced_doc = { "Patient Appointment": "sales_invoice", diff --git a/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py b/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py index 97ddd41ddb..caf74f578d 100644 --- a/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py +++ b/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py @@ -1,5 +1,6 @@ import frappe + def execute(): '''Remove barcodes field from "Copy Fields to Variants" table because barcodes must be unique''' diff --git a/erpnext/patches/v11_0/remove_modules_setup_page.py b/erpnext/patches/v11_0/remove_modules_setup_page.py index bb0bdf59da..eab3237878 100644 --- a/erpnext/patches/v11_0/remove_modules_setup_page.py +++ b/erpnext/patches/v11_0/remove_modules_setup_page.py @@ -2,7 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.delete_doc("Page", "modules_setup") diff --git a/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py b/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py index 8eb7016744..5b2c2863f2 100644 --- a/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py +++ b/erpnext/patches/v11_0/rename_additional_salary_component_additional_salary.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe # this patch should have been included with this PR https://github.com/frappe/erpnext/pull/14302 diff --git a/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py b/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py index 923b23048d..707dff75e2 100644 --- a/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py +++ b/erpnext/patches/v11_0/rename_asset_adjustment_doctype.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe diff --git a/erpnext/patches/v11_0/rename_bom_wo_fields.py b/erpnext/patches/v11_0/rename_bom_wo_fields.py index 0e6036b074..4ad6ea9999 100644 --- a/erpnext/patches/v11_0/rename_bom_wo_fields.py +++ b/erpnext/patches/v11_0/rename_bom_wo_fields.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): # updating column value to handle field change from Data to Currency changed_field = "base_scrap_material_cost" diff --git a/erpnext/patches/v11_0/rename_duplicate_item_code_values.py b/erpnext/patches/v11_0/rename_duplicate_item_code_values.py index 00ab562c35..61f3856e8e 100644 --- a/erpnext/patches/v11_0/rename_duplicate_item_code_values.py +++ b/erpnext/patches/v11_0/rename_duplicate_item_code_values.py @@ -1,5 +1,6 @@ import frappe + def execute(): items = [] items = frappe.db.sql("""select item_code from `tabItem` group by item_code having count(*) > 1""", as_dict=True) diff --git a/erpnext/patches/v11_0/rename_field_max_days_allowed.py b/erpnext/patches/v11_0/rename_field_max_days_allowed.py index 4e99fac822..48f73fb2f4 100644 --- a/erpnext/patches/v11_0/rename_field_max_days_allowed.py +++ b/erpnext/patches/v11_0/rename_field_max_days_allowed.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.db.sql(""" UPDATE `tabLeave Type` diff --git a/erpnext/patches/v11_0/rename_health_insurance.py b/erpnext/patches/v11_0/rename_health_insurance.py index 06fc615167..a4f53b078e 100644 --- a/erpnext/patches/v11_0/rename_health_insurance.py +++ b/erpnext/patches/v11_0/rename_health_insurance.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.rename_doc('DocType', 'Health Insurance', 'Employee Health Insurance', force=True) frappe.reload_doc('hr', 'doctype', 'employee_health_insurance') diff --git a/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py b/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py index 9705681b33..7a8c52f102 100644 --- a/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py +++ b/erpnext/patches/v11_0/rename_healthcare_doctype_and_fields.py @@ -1,7 +1,8 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field -from frappe.modules import scrub, get_doctype_module +from frappe.modules import get_doctype_module, scrub field_rename_map = { "Patient Encounter": [ diff --git a/erpnext/patches/v11_0/rename_healthcare_fields.py b/erpnext/patches/v11_0/rename_healthcare_fields.py index 9aeb433cff..5c96367a73 100644 --- a/erpnext/patches/v11_0/rename_healthcare_fields.py +++ b/erpnext/patches/v11_0/rename_healthcare_fields.py @@ -1,7 +1,8 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field -from frappe.modules import scrub, get_doctype_module +from frappe.modules import get_doctype_module, scrub lab_test_name = ["test_name", "lab_test_name"] lab_test_code = ["test_code", "lab_test_code"] diff --git a/erpnext/patches/v11_0/rename_members_with_naming_series.py b/erpnext/patches/v11_0/rename_members_with_naming_series.py index 84f5518926..a3d7970aa1 100644 --- a/erpnext/patches/v11_0/rename_members_with_naming_series.py +++ b/erpnext/patches/v11_0/rename_members_with_naming_series.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("non_profit", "doctype", "member") old_named_members = frappe.get_all("Member", filters = {"name": ("not like", "MEM-%")}) diff --git a/erpnext/patches/v11_0/rename_overproduction_percent_field.py b/erpnext/patches/v11_0/rename_overproduction_percent_field.py index fbf925d955..c7124af2e4 100644 --- a/erpnext/patches/v11_0/rename_overproduction_percent_field.py +++ b/erpnext/patches/v11_0/rename_overproduction_percent_field.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -from frappe.model.utils.rename_field import rename_field + import frappe +from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc('manufacturing', 'doctype', 'manufacturing_settings') diff --git a/erpnext/patches/v11_0/rename_production_order_to_work_order.py b/erpnext/patches/v11_0/rename_production_order_to_work_order.py index 2f620f413b..995f1affe4 100644 --- a/erpnext/patches/v11_0/rename_production_order_to_work_order.py +++ b/erpnext/patches/v11_0/rename_production_order_to_work_order.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.rename_doc('DocType', 'Production Order', 'Work Order', force=True) frappe.reload_doc('manufacturing', 'doctype', 'work_order') diff --git a/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py b/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py index c4b3838c71..2e53fb832f 100644 --- a/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py +++ b/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py @@ -1,9 +1,11 @@ from __future__ import unicode_literals + import frappe -from frappe.model.utils.rename_field import rename_field from frappe import _ +from frappe.model.utils.rename_field import rename_field from frappe.utils.nestedset import rebuild_tree + def execute(): if frappe.db.table_exists("Supplier Group"): frappe.reload_doc('setup', 'doctype', 'supplier_group') diff --git a/erpnext/patches/v11_0/renamed_from_to_fields_in_project.py b/erpnext/patches/v11_0/renamed_from_to_fields_in_project.py index d5ca4cc574..894aaee5f0 100644 --- a/erpnext/patches/v11_0/renamed_from_to_fields_in_project.py +++ b/erpnext/patches/v11_0/renamed_from_to_fields_in_project.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc('projects', 'doctype', 'project') diff --git a/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py b/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py index 56e95e0328..a664baf6dd 100644 --- a/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py +++ b/erpnext/patches/v11_0/reset_publish_in_hub_for_all_items.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('stock', 'doctype', 'item') frappe.db.sql("""update `tabItem` set publish_in_hub = 0""") diff --git a/erpnext/patches/v11_0/set_default_email_template_in_hr.py b/erpnext/patches/v11_0/set_default_email_template_in_hr.py index 4622376109..ff754247fb 100644 --- a/erpnext/patches/v11_0/set_default_email_template_in_hr.py +++ b/erpnext/patches/v11_0/set_default_email_template_in_hr.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals -from frappe import _ + import frappe +from frappe import _ + def execute(): hr_settings = frappe.get_single("HR Settings") diff --git a/erpnext/patches/v11_0/set_department_for_doctypes.py b/erpnext/patches/v11_0/set_department_for_doctypes.py index 175d2a189f..c9699655db 100644 --- a/erpnext/patches/v11_0/set_department_for_doctypes.py +++ b/erpnext/patches/v11_0/set_department_for_doctypes.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe # Set department value based on employee value diff --git a/erpnext/patches/v11_0/set_missing_gst_hsn_code.py b/erpnext/patches/v11_0/set_missing_gst_hsn_code.py index 8f8a545c41..7a0a989025 100644 --- a/erpnext/patches/v11_0/set_missing_gst_hsn_code.py +++ b/erpnext/patches/v11_0/set_missing_gst_hsn_code.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_html + def execute(): company = frappe.db.sql_list("select name from tabCompany where country = 'India'") if not company: diff --git a/erpnext/patches/v11_0/set_salary_component_properties.py b/erpnext/patches/v11_0/set_salary_component_properties.py index d8ce31f307..b70dc357aa 100644 --- a/erpnext/patches/v11_0/set_salary_component_properties.py +++ b/erpnext/patches/v11_0/set_salary_component_properties.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('Payroll', 'doctype', 'salary_detail') frappe.reload_doc('Payroll', 'doctype', 'salary_component') diff --git a/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py b/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py index d0cabb3835..da4d4bd943 100644 --- a/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py +++ b/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.model.workflow import get_workflow_name + def execute(): for doctype in ['Expense Claim', 'Leave Application']: diff --git a/erpnext/patches/v11_0/set_user_permissions_for_department.py b/erpnext/patches/v11_0/set_user_permissions_for_department.py index 2f90f14db3..7840d5e0fe 100644 --- a/erpnext/patches/v11_0/set_user_permissions_for_department.py +++ b/erpnext/patches/v11_0/set_user_permissions_for_department.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): user_permissions = frappe.db.sql("""select name, for_value from `tabUser Permission` where allow='Department'""", as_dict=1) diff --git a/erpnext/patches/v11_0/skip_user_permission_check_for_department.py b/erpnext/patches/v11_0/skip_user_permission_check_for_department.py index 4e72917547..66d1b6b40a 100644 --- a/erpnext/patches/v11_0/skip_user_permission_check_for_department.py +++ b/erpnext/patches/v11_0/skip_user_permission_check_for_department.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe from frappe.desk.form.linked_with import get_linked_doctypes diff --git a/erpnext/patches/v11_0/uom_conversion_data.py b/erpnext/patches/v11_0/uom_conversion_data.py index 91470b3558..a408d86b9a 100644 --- a/erpnext/patches/v11_0/uom_conversion_data.py +++ b/erpnext/patches/v11_0/uom_conversion_data.py @@ -1,5 +1,7 @@ from __future__ import unicode_literals -import frappe, json + +import frappe + def execute(): from erpnext.setup.setup_wizard.operations.install_fixtures import add_uom_data diff --git a/erpnext/patches/v11_0/update_account_type_in_party_type.py b/erpnext/patches/v11_0/update_account_type_in_party_type.py index dabaeffc94..e51874f48a 100644 --- a/erpnext/patches/v11_0/update_account_type_in_party_type.py +++ b/erpnext/patches/v11_0/update_account_type_in_party_type.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('setup', 'doctype', 'party_type') party_types = {'Customer': 'Receivable', 'Supplier': 'Payable', diff --git a/erpnext/patches/v11_0/update_allow_transfer_for_manufacture.py b/erpnext/patches/v11_0/update_allow_transfer_for_manufacture.py index 799e91a3e2..bfcfc9f6f4 100644 --- a/erpnext/patches/v11_0/update_allow_transfer_for_manufacture.py +++ b/erpnext/patches/v11_0/update_allow_transfer_for_manufacture.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('stock', 'doctype', 'item') frappe.db.sql(""" update `tabItem` set include_item_in_manufacturing = 1 diff --git a/erpnext/patches/v11_0/update_backflush_subcontract_rm_based_on_bom.py b/erpnext/patches/v11_0/update_backflush_subcontract_rm_based_on_bom.py index 37a616c702..c3b18bd981 100644 --- a/erpnext/patches/v11_0/update_backflush_subcontract_rm_based_on_bom.py +++ b/erpnext/patches/v11_0/update_backflush_subcontract_rm_based_on_bom.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('buying', 'doctype', 'buying_settings') frappe.db.set_value('Buying Settings', None, 'backflush_raw_materials_of_subcontract_based_on', 'BOM') diff --git a/erpnext/patches/v11_0/update_brand_in_item_price.py b/erpnext/patches/v11_0/update_brand_in_item_price.py index 977d84fefe..a489378895 100644 --- a/erpnext/patches/v11_0/update_brand_in_item_price.py +++ b/erpnext/patches/v11_0/update_brand_in_item_price.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('stock', 'doctype', 'item_price') diff --git a/erpnext/patches/v11_0/update_delivery_trip_status.py b/erpnext/patches/v11_0/update_delivery_trip_status.py index 42f017e04d..da25958274 100755 --- a/erpnext/patches/v11_0/update_delivery_trip_status.py +++ b/erpnext/patches/v11_0/update_delivery_trip_status.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('setup', 'doctype', 'global_defaults', force=True) frappe.reload_doc('stock', 'doctype', 'delivery_trip') diff --git a/erpnext/patches/v11_0/update_department_lft_rgt.py b/erpnext/patches/v11_0/update_department_lft_rgt.py index 2b38203710..f7ecf6e452 100644 --- a/erpnext/patches/v11_0/update_department_lft_rgt.py +++ b/erpnext/patches/v11_0/update_department_lft_rgt.py @@ -4,6 +4,7 @@ import frappe from frappe import _ from frappe.utils.nestedset import rebuild_tree + def execute(): """ assign lft and rgt appropriately """ frappe.reload_doc("hr", "doctype", "department") diff --git a/erpnext/patches/v11_0/update_hub_url.py b/erpnext/patches/v11_0/update_hub_url.py index 6c6ca3c5c2..c89b9b5060 100644 --- a/erpnext/patches/v11_0/update_hub_url.py +++ b/erpnext/patches/v11_0/update_hub_url.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('hub_node', 'doctype', 'Marketplace Settings') frappe.db.set_value('Marketplace Settings', 'Marketplace Settings', 'marketplace_url', 'https://hubmarket.org') diff --git a/erpnext/patches/v11_0/update_sales_partner_type.py b/erpnext/patches/v11_0/update_sales_partner_type.py index b393926b23..1369805349 100644 --- a/erpnext/patches/v11_0/update_sales_partner_type.py +++ b/erpnext/patches/v11_0/update_sales_partner_type.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe import _ + def execute(): from erpnext.setup.setup_wizard.operations.install_fixtures import default_sales_partner_type diff --git a/erpnext/patches/v11_0/update_total_qty_field.py b/erpnext/patches/v11_0/update_total_qty_field.py index 9407256acf..e79a5f9e6b 100644 --- a/erpnext/patches/v11_0/update_total_qty_field.py +++ b/erpnext/patches/v11_0/update_total_qty_field.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('buying', 'doctype', 'purchase_order') frappe.reload_doc('buying', 'doctype', 'supplier_quotation') diff --git a/erpnext/patches/v11_1/delete_bom_browser.py b/erpnext/patches/v11_1/delete_bom_browser.py index 2892674d37..aad3df267c 100644 --- a/erpnext/patches/v11_1/delete_bom_browser.py +++ b/erpnext/patches/v11_1/delete_bom_browser.py @@ -2,7 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.delete_doc_if_exists('Page', 'bom-browser') diff --git a/erpnext/patches/v11_1/delete_scheduling_tool.py b/erpnext/patches/v11_1/delete_scheduling_tool.py index b7ad28a3fd..56d0dbf1a1 100644 --- a/erpnext/patches/v11_1/delete_scheduling_tool.py +++ b/erpnext/patches/v11_1/delete_scheduling_tool.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists("DocType", "Scheduling Tool"): frappe.delete_doc("DocType", "Scheduling Tool", ignore_permissions=True) diff --git a/erpnext/patches/v11_1/make_job_card_time_logs.py b/erpnext/patches/v11_1/make_job_card_time_logs.py index b706e5c1ff..db0c3454c7 100644 --- a/erpnext/patches/v11_1/make_job_card_time_logs.py +++ b/erpnext/patches/v11_1/make_job_card_time_logs.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('manufacturing', 'doctype', 'job_card_time_log') diff --git a/erpnext/patches/v11_1/move_customer_lead_to_dynamic_column.py b/erpnext/patches/v11_1/move_customer_lead_to_dynamic_column.py index fc3ec74083..9ea6cd82c9 100644 --- a/erpnext/patches/v11_1/move_customer_lead_to_dynamic_column.py +++ b/erpnext/patches/v11_1/move_customer_lead_to_dynamic_column.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doctype("Quotation") frappe.db.sql(""" UPDATE `tabQuotation` set party_name = lead WHERE quotation_to = 'Lead' """) diff --git a/erpnext/patches/v11_1/rename_depends_on_lwp.py b/erpnext/patches/v11_1/rename_depends_on_lwp.py index 4c4b14fd4e..95a8225832 100644 --- a/erpnext/patches/v11_1/rename_depends_on_lwp.py +++ b/erpnext/patches/v11_1/rename_depends_on_lwp.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import scrub from frappe.model.utils.rename_field import rename_field + def execute(): for doctype in ("Salary Component", "Salary Detail"): if "depends_on_lwp" in frappe.db.get_table_columns(doctype): diff --git a/erpnext/patches/v11_1/renamed_delayed_item_report.py b/erpnext/patches/v11_1/renamed_delayed_item_report.py index 8e8725c8af..21285637c4 100644 --- a/erpnext/patches/v11_1/renamed_delayed_item_report.py +++ b/erpnext/patches/v11_1/renamed_delayed_item_report.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): for report in ["Delayed Order Item Summary", "Delayed Order Summary"]: if frappe.db.exists("Report", report): diff --git a/erpnext/patches/v11_1/set_default_action_for_quality_inspection.py b/erpnext/patches/v11_1/set_default_action_for_quality_inspection.py index b13239f7d1..4325490c79 100644 --- a/erpnext/patches/v11_1/set_default_action_for_quality_inspection.py +++ b/erpnext/patches/v11_1/set_default_action_for_quality_inspection.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): stock_settings = frappe.get_doc('Stock Settings') if stock_settings.default_warehouse and not frappe.db.exists("Warehouse", stock_settings.default_warehouse): diff --git a/erpnext/patches/v11_1/set_missing_opportunity_from.py b/erpnext/patches/v11_1/set_missing_opportunity_from.py index cb444b2e5d..6569200a14 100644 --- a/erpnext/patches/v11_1/set_missing_opportunity_from.py +++ b/erpnext/patches/v11_1/set_missing_opportunity_from.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doctype("Opportunity") diff --git a/erpnext/patches/v11_1/set_missing_title_for_quotation.py b/erpnext/patches/v11_1/set_missing_title_for_quotation.py index e2ef3433d3..93d9f0e7d8 100644 --- a/erpnext/patches/v11_1/set_missing_title_for_quotation.py +++ b/erpnext/patches/v11_1/set_missing_title_for_quotation.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doctype("Quotation") # update customer_name from Customer document if quotation_to is set to Customer diff --git a/erpnext/patches/v11_1/set_salary_details_submittable.py b/erpnext/patches/v11_1/set_salary_details_submittable.py index 6d847ec3d0..4a4cf30257 100644 --- a/erpnext/patches/v11_1/set_salary_details_submittable.py +++ b/erpnext/patches/v11_1/set_salary_details_submittable.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.db.sql(""" update `tabSalary Structure` ss, `tabSalary Detail` sd diff --git a/erpnext/patches/v11_1/set_status_for_material_request_type_manufacture.py b/erpnext/patches/v11_1/set_status_for_material_request_type_manufacture.py index ec01fbb642..64db97e92b 100644 --- a/erpnext/patches/v11_1/set_status_for_material_request_type_manufacture.py +++ b/erpnext/patches/v11_1/set_status_for_material_request_type_manufacture.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.db.sql(""" update `tabMaterial Request` diff --git a/erpnext/patches/v11_1/set_variant_based_on.py b/erpnext/patches/v11_1/set_variant_based_on.py index 49a9a17724..b69767d7ea 100644 --- a/erpnext/patches/v11_1/set_variant_based_on.py +++ b/erpnext/patches/v11_1/set_variant_based_on.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.db.sql("""update tabItem set variant_based_on = 'Item Attribute' where ifnull(variant_based_on, '') = '' diff --git a/erpnext/patches/v11_1/setup_guardian_role.py b/erpnext/patches/v11_1/setup_guardian_role.py index 6ccfed9617..bb33f19e9c 100644 --- a/erpnext/patches/v11_1/setup_guardian_role.py +++ b/erpnext/patches/v11_1/setup_guardian_role.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): if 'Education' in frappe.get_active_domains() and not frappe.db.exists("Role", "Guardian"): doc = frappe.new_doc("Role") diff --git a/erpnext/patches/v11_1/update_bank_transaction_status.py b/erpnext/patches/v11_1/update_bank_transaction_status.py index 354e636c9b..33007afcd8 100644 --- a/erpnext/patches/v11_1/update_bank_transaction_status.py +++ b/erpnext/patches/v11_1/update_bank_transaction_status.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "bank_transaction") diff --git a/erpnext/patches/v11_1/update_default_supplier_in_item_defaults.py b/erpnext/patches/v11_1/update_default_supplier_in_item_defaults.py index 8c360ad935..22dabae7d2 100644 --- a/erpnext/patches/v11_1/update_default_supplier_in_item_defaults.py +++ b/erpnext/patches/v11_1/update_default_supplier_in_item_defaults.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): ''' default supplier was not set in the item defaults for multi company instance, diff --git a/erpnext/patches/v11_1/woocommerce_set_creation_user.py b/erpnext/patches/v11_1/woocommerce_set_creation_user.py index 074b904002..e7218b1ade 100644 --- a/erpnext/patches/v11_1/woocommerce_set_creation_user.py +++ b/erpnext/patches/v11_1/woocommerce_set_creation_user.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.utils import cint + def execute(): frappe.reload_doc("erpnext_integrations", "doctype","woocommerce_settings") doc = frappe.get_doc("Woocommerce Settings") diff --git a/erpnext/patches/v12_0/add_default_buying_selling_terms_in_company.py b/erpnext/patches/v12_0/add_default_buying_selling_terms_in_company.py index 855d21dd99..384a1f5022 100644 --- a/erpnext/patches/v12_0/add_default_buying_selling_terms_in_company.py +++ b/erpnext/patches/v12_0/add_default_buying_selling_terms_in_company.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc("setup", "doctype", "company") if frappe.db.has_column('Company', 'default_terms'): diff --git a/erpnext/patches/v12_0/add_document_type_field_for_italy_einvoicing.py b/erpnext/patches/v12_0/add_document_type_field_for_italy_einvoicing.py index 6fe578dbd9..7f39dfef59 100644 --- a/erpnext/patches/v12_0/add_document_type_field_for_italy_einvoicing.py +++ b/erpnext/patches/v12_0/add_document_type_field_for_italy_einvoicing.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals -from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + import frappe +from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'Italy'}) diff --git a/erpnext/patches/v12_0/add_eway_bill_in_delivery_note.py b/erpnext/patches/v12_0/add_eway_bill_in_delivery_note.py index cf1ed3676b..973da89562 100644 --- a/erpnext/patches/v12_0/add_eway_bill_in_delivery_note.py +++ b/erpnext/patches/v12_0/add_eway_bill_in_delivery_note.py @@ -1,6 +1,7 @@ import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_field + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/add_export_type_field_in_party_master.py b/erpnext/patches/v12_0/add_export_type_field_in_party_master.py index a0b1f87d61..e05c8211c0 100644 --- a/erpnext/patches/v12_0/add_export_type_field_in_party_master.py +++ b/erpnext/patches/v12_0/add_export_type_field_in_party_master.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.regional.india.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/add_gst_category_in_delivery_note.py b/erpnext/patches/v12_0/add_gst_category_in_delivery_note.py index c90819238c..30e47cb333 100644 --- a/erpnext/patches/v12_0/add_gst_category_in_delivery_note.py +++ b/erpnext/patches/v12_0/add_gst_category_in_delivery_note.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v12_0/add_permission_in_lower_deduction.py b/erpnext/patches/v12_0/add_permission_in_lower_deduction.py index 2e42368b15..1d77e5ad3d 100644 --- a/erpnext/patches/v12_0/add_permission_in_lower_deduction.py +++ b/erpnext/patches/v12_0/add_permission_in_lower_deduction.py @@ -1,6 +1,7 @@ import frappe from frappe.permissions import add_permission, update_permission_property + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v12_0/add_state_code_for_ladakh.py b/erpnext/patches/v12_0/add_state_code_for_ladakh.py index 29a7b4bd60..6722b7bcef 100644 --- a/erpnext/patches/v12_0/add_state_code_for_ladakh.py +++ b/erpnext/patches/v12_0/add_state_code_for_ladakh.py @@ -1,6 +1,8 @@ import frappe + from erpnext.regional.india import states + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/add_taxjar_integration_field.py b/erpnext/patches/v12_0/add_taxjar_integration_field.py index 4c823e13bd..d10a6d79f2 100644 --- a/erpnext/patches/v12_0/add_taxjar_integration_field.py +++ b/erpnext/patches/v12_0/add_taxjar_integration_field.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import frappe + from erpnext.regional.united_states.setup import make_custom_fields diff --git a/erpnext/patches/v12_0/add_variant_of_in_item_attribute_table.py b/erpnext/patches/v12_0/add_variant_of_in_item_attribute_table.py index 893f7a4909..c3a422c49e 100644 --- a/erpnext/patches/v12_0/add_variant_of_in_item_attribute_table.py +++ b/erpnext/patches/v12_0/add_variant_of_in_item_attribute_table.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc('stock', 'doctype', 'item_variant_attribute') frappe.db.sql(''' diff --git a/erpnext/patches/v12_0/create_accounting_dimensions_in_missing_doctypes.py b/erpnext/patches/v12_0/create_accounting_dimensions_in_missing_doctypes.py index f171542df1..02fbe62837 100644 --- a/erpnext/patches/v12_0/create_accounting_dimensions_in_missing_doctypes.py +++ b/erpnext/patches/v12_0/create_accounting_dimensions_in_missing_doctypes.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_field + def execute(): frappe.reload_doc('accounts', 'doctype', 'accounting_dimension') diff --git a/erpnext/patches/v12_0/create_default_energy_point_rules.py b/erpnext/patches/v12_0/create_default_energy_point_rules.py index 93d2576bb6..35eaca7f40 100644 --- a/erpnext/patches/v12_0/create_default_energy_point_rules.py +++ b/erpnext/patches/v12_0/create_default_energy_point_rules.py @@ -1,6 +1,8 @@ import frappe + from erpnext.setup.install import create_default_energy_point_rules + def execute(): frappe.reload_doc('social', 'doctype', 'energy_point_rule') create_default_energy_point_rules() diff --git a/erpnext/patches/v12_0/create_irs_1099_field_united_states.py b/erpnext/patches/v12_0/create_irs_1099_field_united_states.py index 23a8f24d78..65265c4c8e 100644 --- a/erpnext/patches/v12_0/create_irs_1099_field_united_states.py +++ b/erpnext/patches/v12_0/create_irs_1099_field_united_states.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.regional.united_states.setup import make_custom_fields + def execute(): frappe.reload_doc('accounts', 'doctype', 'allowed_to_transact_with', force=True) diff --git a/erpnext/patches/v12_0/create_itc_reversal_custom_fields.py b/erpnext/patches/v12_0/create_itc_reversal_custom_fields.py index a6230f4277..9267ebffb2 100644 --- a/erpnext/patches/v12_0/create_itc_reversal_custom_fields.py +++ b/erpnext/patches/v12_0/create_itc_reversal_custom_fields.py @@ -1,9 +1,12 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields from frappe.custom.doctype.property_setter.property_setter import make_property_setter + from erpnext.regional.india.utils import get_gst_accounts + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}, fields=['name']) if not company: diff --git a/erpnext/patches/v12_0/create_taxable_value_field.py b/erpnext/patches/v12_0/create_taxable_value_field.py index b9ee81df50..40de8d8aef 100644 --- a/erpnext/patches/v12_0/create_taxable_value_field.py +++ b/erpnext/patches/v12_0/create_taxable_value_field.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v12_0/delete_priority_property_setter.py b/erpnext/patches/v12_0/delete_priority_property_setter.py index 163855729d..cacc463d4b 100644 --- a/erpnext/patches/v12_0/delete_priority_property_setter.py +++ b/erpnext/patches/v12_0/delete_priority_property_setter.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.db.sql(""" DELETE FROM `tabProperty Setter` diff --git a/erpnext/patches/v12_0/fix_percent_complete_for_projects.py b/erpnext/patches/v12_0/fix_percent_complete_for_projects.py index 3622df6bc8..36f51bca60 100644 --- a/erpnext/patches/v12_0/fix_percent_complete_for_projects.py +++ b/erpnext/patches/v12_0/fix_percent_complete_for_projects.py @@ -1,6 +1,7 @@ import frappe from frappe.utils import flt + def execute(): for project in frappe.get_all("Project", fields=["name", "percent_complete_method"]): total = frappe.db.count('Task', dict(project=project.name)) diff --git a/erpnext/patches/v12_0/fix_quotation_expired_status.py b/erpnext/patches/v12_0/fix_quotation_expired_status.py index ac7e82d2d0..e5c4b8c524 100644 --- a/erpnext/patches/v12_0/fix_quotation_expired_status.py +++ b/erpnext/patches/v12_0/fix_quotation_expired_status.py @@ -1,5 +1,6 @@ import frappe + def execute(): # fixes status of quotations which have status 'Expired' despite having valid sales order created diff --git a/erpnext/patches/v12_0/generate_leave_ledger_entries.py b/erpnext/patches/v12_0/generate_leave_ledger_entries.py index fe072d7eb9..aed56d621b 100644 --- a/erpnext/patches/v12_0/generate_leave_ledger_entries.py +++ b/erpnext/patches/v12_0/generate_leave_ledger_entries.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.utils import getdate, today + def execute(): """ Generates leave ledger entries for leave allocation/application/encashment for last allocation """ diff --git a/erpnext/patches/v12_0/make_item_manufacturer.py b/erpnext/patches/v12_0/make_item_manufacturer.py index ebc28320ae..cfc2472e9e 100644 --- a/erpnext/patches/v12_0/make_item_manufacturer.py +++ b/erpnext/patches/v12_0/make_item_manufacturer.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("stock", "doctype", "item_manufacturer") diff --git a/erpnext/patches/v12_0/move_bank_account_swift_number_to_bank.py b/erpnext/patches/v12_0/move_bank_account_swift_number_to_bank.py index a670adebfd..3e9d429ed1 100644 --- a/erpnext/patches/v12_0/move_bank_account_swift_number_to_bank.py +++ b/erpnext/patches/v12_0/move_bank_account_swift_number_to_bank.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('accounts', 'doctype', 'bank', force=1) diff --git a/erpnext/patches/v12_0/move_credit_limit_to_customer_credit_limit.py b/erpnext/patches/v12_0/move_credit_limit_to_customer_credit_limit.py index c9293b9b63..2662632b52 100644 --- a/erpnext/patches/v12_0/move_credit_limit_to_customer_credit_limit.py +++ b/erpnext/patches/v12_0/move_credit_limit_to_customer_credit_limit.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): ''' Move credit limit and bypass credit limit to the child table of customer credit limit ''' frappe.reload_doc("Selling", "doctype", "Customer Credit Limit") diff --git a/erpnext/patches/v12_0/move_due_advance_amount_to_pending_amount.py b/erpnext/patches/v12_0/move_due_advance_amount_to_pending_amount.py index 6013eaa29c..55f5cd52a3 100644 --- a/erpnext/patches/v12_0/move_due_advance_amount_to_pending_amount.py +++ b/erpnext/patches/v12_0/move_due_advance_amount_to_pending_amount.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): ''' Move from due_advance_amount to pending_amount ''' diff --git a/erpnext/patches/v12_0/move_item_tax_to_item_tax_template.py b/erpnext/patches/v12_0/move_item_tax_to_item_tax_template.py index 5c3fa5991c..677a564af0 100644 --- a/erpnext/patches/v12_0/move_item_tax_to_item_tax_template.py +++ b/erpnext/patches/v12_0/move_item_tax_to_item_tax_template.py @@ -1,7 +1,9 @@ -import frappe import json -from six import iteritems + +import frappe from frappe.model.naming import make_autoname +from six import iteritems + def execute(): if "tax_type" not in frappe.db.get_table_columns("Item Tax"): diff --git a/erpnext/patches/v12_0/move_plaid_settings_to_doctype.py b/erpnext/patches/v12_0/move_plaid_settings_to_doctype.py index d2bcb12070..dafea280c2 100644 --- a/erpnext/patches/v12_0/move_plaid_settings_to_doctype.py +++ b/erpnext/patches/v12_0/move_plaid_settings_to_doctype.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe diff --git a/erpnext/patches/v12_0/move_target_distribution_from_parent_to_child.py b/erpnext/patches/v12_0/move_target_distribution_from_parent_to_child.py index 97badf355d..72f4df5cab 100644 --- a/erpnext/patches/v12_0/move_target_distribution_from_parent_to_child.py +++ b/erpnext/patches/v12_0/move_target_distribution_from_parent_to_child.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("setup", "doctype", "target_detail") diff --git a/erpnext/patches/v12_0/recalculate_requested_qty_in_bin.py b/erpnext/patches/v12_0/recalculate_requested_qty_in_bin.py index 46794bebe7..a19e9a96db 100644 --- a/erpnext/patches/v12_0/recalculate_requested_qty_in_bin.py +++ b/erpnext/patches/v12_0/recalculate_requested_qty_in_bin.py @@ -1,6 +1,9 @@ from __future__ import unicode_literals + import frappe -from erpnext.stock.stock_balance import update_bin_qty, get_indented_qty + +from erpnext.stock.stock_balance import get_indented_qty, update_bin_qty + def execute(): bin_details = frappe.db.sql(""" diff --git a/erpnext/patches/v12_0/remove_bank_remittance_custom_fields.py b/erpnext/patches/v12_0/remove_bank_remittance_custom_fields.py index be884f94d1..fba4118415 100644 --- a/erpnext/patches/v12_0/remove_bank_remittance_custom_fields.py +++ b/erpnext/patches/v12_0/remove_bank_remittance_custom_fields.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals + import frappe -from erpnext.regional.india.setup import make_custom_fields + def execute(): frappe.reload_doc("accounts", "doctype", "tax_category") diff --git a/erpnext/patches/v12_0/remove_denied_leaves_from_leave_ledger.py b/erpnext/patches/v12_0/remove_denied_leaves_from_leave_ledger.py index 4fcffb702a..f6a1984e17 100644 --- a/erpnext/patches/v12_0/remove_denied_leaves_from_leave_ledger.py +++ b/erpnext/patches/v12_0/remove_denied_leaves_from_leave_ledger.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import getdate, today + def execute(): ''' Delete leave ledger entry created diff --git a/erpnext/patches/v12_0/remove_duplicate_leave_ledger_entries.py b/erpnext/patches/v12_0/remove_duplicate_leave_ledger_entries.py index 6b1b601db1..6fa1c04dad 100644 --- a/erpnext/patches/v12_0/remove_duplicate_leave_ledger_entries.py +++ b/erpnext/patches/v12_0/remove_duplicate_leave_ledger_entries.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): """Delete duplicate leave ledger entries of type allocation created.""" frappe.reload_doc('hr', 'doctype', 'leave_ledger_entry') diff --git a/erpnext/patches/v12_0/remove_patient_medical_record_page.py b/erpnext/patches/v12_0/remove_patient_medical_record_page.py index 904bfe4bf1..bf71c4810f 100644 --- a/erpnext/patches/v12_0/remove_patient_medical_record_page.py +++ b/erpnext/patches/v12_0/remove_patient_medical_record_page.py @@ -1,7 +1,9 @@ # Copyright (c) 2019 from __future__ import unicode_literals + import frappe + def execute(): frappe.delete_doc("Page", "medical_record") diff --git a/erpnext/patches/v12_0/rename_account_type_doctype.py b/erpnext/patches/v12_0/rename_account_type_doctype.py index 9a08ad4521..27357a8ef1 100644 --- a/erpnext/patches/v12_0/rename_account_type_doctype.py +++ b/erpnext/patches/v12_0/rename_account_type_doctype.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.rename_doc('DocType', 'Account Type', 'Bank Account Type', force=True) frappe.rename_doc('DocType', 'Account Subtype', 'Bank Account Subtype', force=True) diff --git a/erpnext/patches/v12_0/rename_bank_account_field_in_journal_entry_account.py b/erpnext/patches/v12_0/rename_bank_account_field_in_journal_entry_account.py index 7489ea30a0..7e02fff4d8 100644 --- a/erpnext/patches/v12_0/rename_bank_account_field_in_journal_entry_account.py +++ b/erpnext/patches/v12_0/rename_bank_account_field_in_journal_entry_account.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): ''' Change the fieldname from bank_account_no to bank_account ''' if not frappe.get_meta("Journal Entry Account").has_field("bank_account"): diff --git a/erpnext/patches/v12_0/rename_bank_reconciliation.py b/erpnext/patches/v12_0/rename_bank_reconciliation.py index 2efa854fba..5c79ce2a81 100644 --- a/erpnext/patches/v12_0/rename_bank_reconciliation.py +++ b/erpnext/patches/v12_0/rename_bank_reconciliation.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.table_exists("Bank Reconciliation"): frappe.rename_doc('DocType', 'Bank Reconciliation', 'Bank Clearance', force=True) diff --git a/erpnext/patches/v12_0/rename_bank_reconciliation_fields.py b/erpnext/patches/v12_0/rename_bank_reconciliation_fields.py index 978b1c92b9..629cd5bda6 100644 --- a/erpnext/patches/v12_0/rename_bank_reconciliation_fields.py +++ b/erpnext/patches/v12_0/rename_bank_reconciliation_fields.py @@ -3,6 +3,7 @@ import frappe + def _rename_single_field(**kwargs): count = frappe.db.sql("SELECT COUNT(*) FROM tabSingles WHERE doctype='{doctype}' AND field='{new_name}';".format(**kwargs))[0][0] #nosec if count == 0: diff --git a/erpnext/patches/v12_0/rename_lost_reason_detail.py b/erpnext/patches/v12_0/rename_lost_reason_detail.py index c71b91c925..337302a3c1 100644 --- a/erpnext/patches/v12_0/rename_lost_reason_detail.py +++ b/erpnext/patches/v12_0/rename_lost_reason_detail.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists("DocType", "Lost Reason Detail"): frappe.reload_doc("crm", "doctype", "opportunity_lost_reason") diff --git a/erpnext/patches/v12_0/rename_mws_settings_fields.py b/erpnext/patches/v12_0/rename_mws_settings_fields.py index e08e376915..d5bf38d204 100644 --- a/erpnext/patches/v12_0/rename_mws_settings_fields.py +++ b/erpnext/patches/v12_0/rename_mws_settings_fields.py @@ -3,6 +3,7 @@ import frappe + def execute(): count = frappe.db.sql("SELECT COUNT(*) FROM `tabSingles` WHERE doctype='Amazon MWS Settings' AND field='enable_sync';")[0][0] if count == 0: diff --git a/erpnext/patches/v12_0/rename_pos_closing_doctype.py b/erpnext/patches/v12_0/rename_pos_closing_doctype.py index 9d8626b852..e6fb1f31e1 100644 --- a/erpnext/patches/v12_0/rename_pos_closing_doctype.py +++ b/erpnext/patches/v12_0/rename_pos_closing_doctype.py @@ -1,8 +1,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.table_exists("POS Closing Voucher"): if not frappe.db.exists("DocType", "POS Closing Entry"): diff --git a/erpnext/patches/v12_0/rename_pricing_rule_child_doctypes.py b/erpnext/patches/v12_0/rename_pricing_rule_child_doctypes.py index b9ad622b0e..4bf3840b78 100644 --- a/erpnext/patches/v12_0/rename_pricing_rule_child_doctypes.py +++ b/erpnext/patches/v12_0/rename_pricing_rule_child_doctypes.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe doctypes = { diff --git a/erpnext/patches/v12_0/rename_tolerance_fields.py b/erpnext/patches/v12_0/rename_tolerance_fields.py index 20b096331e..ca2427bc3d 100644 --- a/erpnext/patches/v12_0/rename_tolerance_fields.py +++ b/erpnext/patches/v12_0/rename_tolerance_fields.py @@ -1,6 +1,7 @@ import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc("stock", "doctype", "item") frappe.reload_doc("stock", "doctype", "stock_settings") diff --git a/erpnext/patches/v12_0/replace_accounting_with_accounts_in_home_settings.py b/erpnext/patches/v12_0/replace_accounting_with_accounts_in_home_settings.py index f88a22f6c9..ff332f771d 100644 --- a/erpnext/patches/v12_0/replace_accounting_with_accounts_in_home_settings.py +++ b/erpnext/patches/v12_0/replace_accounting_with_accounts_in_home_settings.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.db.sql("""UPDATE `tabUser` SET `home_settings` = REPLACE(`home_settings`, 'Accounting', 'Accounts')""") frappe.cache().delete_key('home_settings') diff --git a/erpnext/patches/v12_0/repost_stock_ledger_entries_for_target_warehouse.py b/erpnext/patches/v12_0/repost_stock_ledger_entries_for_target_warehouse.py index c52f380d8c..5150430dbb 100644 --- a/erpnext/patches/v12_0/repost_stock_ledger_entries_for_target_warehouse.py +++ b/erpnext/patches/v12_0/repost_stock_ledger_entries_for_target_warehouse.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): warehouse_perm = frappe.get_all("User Permission", fields=["count(*) as p_count", "is_default", "user"], filters={"allow": "Warehouse"}, group_by="user") diff --git a/erpnext/patches/v12_0/set_against_blanket_order_in_sales_and_purchase_order.py b/erpnext/patches/v12_0/set_against_blanket_order_in_sales_and_purchase_order.py index 85202bff4d..b76e34abe1 100644 --- a/erpnext/patches/v12_0/set_against_blanket_order_in_sales_and_purchase_order.py +++ b/erpnext/patches/v12_0/set_against_blanket_order_in_sales_and_purchase_order.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc('selling', 'doctype', 'sales_order_item', force=True) diff --git a/erpnext/patches/v12_0/set_automatically_process_deferred_accounting_in_accounts_settings.py b/erpnext/patches/v12_0/set_automatically_process_deferred_accounting_in_accounts_settings.py index b5d7e3dcb9..849e96e966 100644 --- a/erpnext/patches/v12_0/set_automatically_process_deferred_accounting_in_accounts_settings.py +++ b/erpnext/patches/v12_0/set_automatically_process_deferred_accounting_in_accounts_settings.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "accounts_settings") diff --git a/erpnext/patches/v12_0/set_cost_center_in_child_table_of_expense_claim.py b/erpnext/patches/v12_0/set_cost_center_in_child_table_of_expense_claim.py index 4415cfeaba..d3045a1a57 100644 --- a/erpnext/patches/v12_0/set_cost_center_in_child_table_of_expense_claim.py +++ b/erpnext/patches/v12_0/set_cost_center_in_child_table_of_expense_claim.py @@ -1,4 +1,6 @@ import frappe + + def execute(): frappe.reload_doc('hr', 'doctype', 'expense_claim_detail') frappe.db.sql(""" diff --git a/erpnext/patches/v12_0/set_cwip_and_delete_asset_settings.py b/erpnext/patches/v12_0/set_cwip_and_delete_asset_settings.py index 13110dfe03..e363c26a86 100644 --- a/erpnext/patches/v12_0/set_cwip_and_delete_asset_settings.py +++ b/erpnext/patches/v12_0/set_cwip_and_delete_asset_settings.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe from frappe.utils import cint diff --git a/erpnext/patches/v12_0/set_default_homepage_type.py b/erpnext/patches/v12_0/set_default_homepage_type.py index a290e31cf2..1e4333aa46 100644 --- a/erpnext/patches/v12_0/set_default_homepage_type.py +++ b/erpnext/patches/v12_0/set_default_homepage_type.py @@ -1,4 +1,5 @@ import frappe + def execute(): frappe.db.set_value('Homepage', 'Homepage', 'hero_section_based_on', 'Default') diff --git a/erpnext/patches/v12_0/set_default_payroll_based_on.py b/erpnext/patches/v12_0/set_default_payroll_based_on.py index 038bd6d21a..85112f2a54 100644 --- a/erpnext/patches/v12_0/set_default_payroll_based_on.py +++ b/erpnext/patches/v12_0/set_default_payroll_based_on.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("hr", "doctype", "hr_settings") frappe.db.set_value("HR Settings", None, "payroll_based_on", "Leave") diff --git a/erpnext/patches/v12_0/set_expense_account_in_landed_cost_voucher_taxes.py b/erpnext/patches/v12_0/set_expense_account_in_landed_cost_voucher_taxes.py index a27c7b24a8..49b3bff0f8 100644 --- a/erpnext/patches/v12_0/set_expense_account_in_landed_cost_voucher_taxes.py +++ b/erpnext/patches/v12_0/set_expense_account_in_landed_cost_voucher_taxes.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from six import iteritems + def execute(): frappe.reload_doctype('Landed Cost Taxes and Charges') diff --git a/erpnext/patches/v12_0/set_gst_category.py b/erpnext/patches/v12_0/set_gst_category.py index cc093953bf..094e2a3134 100644 --- a/erpnext/patches/v12_0/set_gst_category.py +++ b/erpnext/patches/v12_0/set_gst_category.py @@ -1,6 +1,8 @@ import frappe + from erpnext.regional.india.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/set_italian_import_supplier_invoice_permissions.py b/erpnext/patches/v12_0/set_italian_import_supplier_invoice_permissions.py index 8fdc73b8ff..a991b3c15d 100644 --- a/erpnext/patches/v12_0/set_italian_import_supplier_invoice_permissions.py +++ b/erpnext/patches/v12_0/set_italian_import_supplier_invoice_permissions.py @@ -2,9 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + from erpnext.regional.italy.setup import add_permissions + def execute(): countries = frappe.get_all("Company", fields="country") countries = [country["country"] for country in countries] diff --git a/erpnext/patches/v12_0/set_multi_uom_in_rfq.py b/erpnext/patches/v12_0/set_multi_uom_in_rfq.py index a5c8f7524a..fada5f08fb 100644 --- a/erpnext/patches/v12_0/set_multi_uom_in_rfq.py +++ b/erpnext/patches/v12_0/set_multi_uom_in_rfq.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt -from erpnext.stock.get_item_details import get_conversion_factor + def execute(): frappe.reload_doc('buying', 'doctype', 'request_for_quotation_item') diff --git a/erpnext/patches/v12_0/set_payment_entry_status.py b/erpnext/patches/v12_0/set_payment_entry_status.py index 84645a3863..f8792952d8 100644 --- a/erpnext/patches/v12_0/set_payment_entry_status.py +++ b/erpnext/patches/v12_0/set_payment_entry_status.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doctype("Payment Entry") frappe.db.sql("""update `tabPayment Entry` set status = CASE diff --git a/erpnext/patches/v12_0/set_permission_einvoicing.py b/erpnext/patches/v12_0/set_permission_einvoicing.py index e2235105f9..01cab14db9 100644 --- a/erpnext/patches/v12_0/set_permission_einvoicing.py +++ b/erpnext/patches/v12_0/set_permission_einvoicing.py @@ -1,7 +1,9 @@ import frappe -from erpnext.regional.italy.setup import make_custom_fields from frappe.permissions import add_permission, update_permission_property +from erpnext.regional.italy.setup import make_custom_fields + + def execute(): company = frappe.get_all('Company', filters = {'country': 'Italy'}) diff --git a/erpnext/patches/v12_0/set_priority_for_support.py b/erpnext/patches/v12_0/set_priority_for_support.py index 66696bee54..6d7d099346 100644 --- a/erpnext/patches/v12_0/set_priority_for_support.py +++ b/erpnext/patches/v12_0/set_priority_for_support.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc("support", "doctype", "issue_priority") frappe.reload_doc("support", "doctype", "service_level_priority") diff --git a/erpnext/patches/v12_0/set_produced_qty_field_in_sales_order_for_work_order.py b/erpnext/patches/v12_0/set_produced_qty_field_in_sales_order_for_work_order.py index 6c11cb415f..9c851ddcee 100644 --- a/erpnext/patches/v12_0/set_produced_qty_field_in_sales_order_for_work_order.py +++ b/erpnext/patches/v12_0/set_produced_qty_field_in_sales_order_for_work_order.py @@ -1,7 +1,8 @@ import frappe -from frappe.utils import flt + from erpnext.selling.doctype.sales_order.sales_order import update_produced_qty_in_so_item + def execute(): frappe.reload_doctype('Sales Order Item') frappe.reload_doctype('Sales Order') diff --git a/erpnext/patches/v12_0/set_production_capacity_in_workstation.py b/erpnext/patches/v12_0/set_production_capacity_in_workstation.py index babaebeaef..248d33504e 100644 --- a/erpnext/patches/v12_0/set_production_capacity_in_workstation.py +++ b/erpnext/patches/v12_0/set_production_capacity_in_workstation.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("manufacturing", "doctype", "workstation") diff --git a/erpnext/patches/v12_0/set_published_in_hub_tracked_item.py b/erpnext/patches/v12_0/set_published_in_hub_tracked_item.py index e54c7f315c..73c6ce8220 100644 --- a/erpnext/patches/v12_0/set_published_in_hub_tracked_item.py +++ b/erpnext/patches/v12_0/set_published_in_hub_tracked_item.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("Hub Node", "doctype", "Hub Tracked Item") if not frappe.db.a_row_exists("Hub Tracked Item"): diff --git a/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py b/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py index 52c9a2d7b3..cad947fadc 100644 --- a/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py +++ b/erpnext/patches/v12_0/set_purchase_receipt_delivery_note_detail.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals -import frappe + from collections import defaultdict +import frappe + + def execute(): frappe.reload_doc('stock', 'doctype', 'delivery_note_item', force=True) diff --git a/erpnext/patches/v12_0/set_quotation_status.py b/erpnext/patches/v12_0/set_quotation_status.py index 87643a2354..bb172769eb 100644 --- a/erpnext/patches/v12_0/set_quotation_status.py +++ b/erpnext/patches/v12_0/set_quotation_status.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.db.sql(""" UPDATE `tabQuotation` set status = 'Open' diff --git a/erpnext/patches/v12_0/set_received_qty_in_material_request_as_per_stock_uom.py b/erpnext/patches/v12_0/set_received_qty_in_material_request_as_per_stock_uom.py index 88c3e2e302..f8b510e3c3 100644 --- a/erpnext/patches/v12_0/set_received_qty_in_material_request_as_per_stock_uom.py +++ b/erpnext/patches/v12_0/set_received_qty_in_material_request_as_per_stock_uom.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): purchase_receipts = frappe.db.sql(""" SELECT diff --git a/erpnext/patches/v12_0/set_serial_no_status.py b/erpnext/patches/v12_0/set_serial_no_status.py index 3b5f5ef340..9a05e707a6 100644 --- a/erpnext/patches/v12_0/set_serial_no_status.py +++ b/erpnext/patches/v12_0/set_serial_no_status.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.utils import getdate, nowdate + def execute(): frappe.reload_doc('stock', 'doctype', 'serial_no') diff --git a/erpnext/patches/v12_0/set_task_status.py b/erpnext/patches/v12_0/set_task_status.py index dbd7e5a818..1b4955a75b 100644 --- a/erpnext/patches/v12_0/set_task_status.py +++ b/erpnext/patches/v12_0/set_task_status.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doctype('Task') diff --git a/erpnext/patches/v12_0/set_updated_purpose_in_pick_list.py b/erpnext/patches/v12_0/set_updated_purpose_in_pick_list.py index 1cc37caba4..21ee23b207 100644 --- a/erpnext/patches/v12_0/set_updated_purpose_in_pick_list.py +++ b/erpnext/patches/v12_0/set_updated_purpose_in_pick_list.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): frappe.reload_doc("stock", "doctype", "pick_list") frappe.db.sql("""UPDATE `tabPick List` set purpose = 'Delivery' diff --git a/erpnext/patches/v12_0/set_valid_till_date_in_supplier_quotation.py b/erpnext/patches/v12_0/set_valid_till_date_in_supplier_quotation.py index 4a6e228856..72d5521f44 100644 --- a/erpnext/patches/v12_0/set_valid_till_date_in_supplier_quotation.py +++ b/erpnext/patches/v12_0/set_valid_till_date_in_supplier_quotation.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("buying", "doctype", "supplier_quotation") frappe.db.sql("""UPDATE `tabSupplier Quotation` diff --git a/erpnext/patches/v12_0/stock_entry_enhancements.py b/erpnext/patches/v12_0/stock_entry_enhancements.py index 17fdcd9395..b99501d942 100644 --- a/erpnext/patches/v12_0/stock_entry_enhancements.py +++ b/erpnext/patches/v12_0/stock_entry_enhancements.py @@ -3,9 +3,11 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + def execute(): create_stock_entry_types() diff --git a/erpnext/patches/v12_0/unhide_cost_center_field.py b/erpnext/patches/v12_0/unhide_cost_center_field.py index 3474a34af4..823dd22637 100644 --- a/erpnext/patches/v12_0/unhide_cost_center_field.py +++ b/erpnext/patches/v12_0/unhide_cost_center_field.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.db.sql(""" DELETE FROM `tabProperty Setter` diff --git a/erpnext/patches/v12_0/unset_customer_supplier_based_on_type_of_item_price.py b/erpnext/patches/v12_0/unset_customer_supplier_based_on_type_of_item_price.py index b8efb210a0..61c4c601b5 100644 --- a/erpnext/patches/v12_0/unset_customer_supplier_based_on_type_of_item_price.py +++ b/erpnext/patches/v12_0/unset_customer_supplier_based_on_type_of_item_price.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe diff --git a/erpnext/patches/v12_0/update_address_template_for_india.py b/erpnext/patches/v12_0/update_address_template_for_india.py index 0d582da4b5..d41aae2a87 100644 --- a/erpnext/patches/v12_0/update_address_template_for_india.py +++ b/erpnext/patches/v12_0/update_address_template_for_india.py @@ -2,9 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + from erpnext.regional.address_template.setup import set_up_address_templates + def execute(): if frappe.db.get_value('Company', {'country': 'India'}, 'name'): address_template = frappe.db.get_value('Address Template', 'India', 'template') diff --git a/erpnext/patches/v12_0/update_appointment_reminder_scheduler_entry.py b/erpnext/patches/v12_0/update_appointment_reminder_scheduler_entry.py index f451664961..024cb2b763 100644 --- a/erpnext/patches/v12_0/update_appointment_reminder_scheduler_entry.py +++ b/erpnext/patches/v12_0/update_appointment_reminder_scheduler_entry.py @@ -1,5 +1,6 @@ import frappe + def execute(): job = frappe.db.exists('Scheduled Job Type', 'patient_appointment.send_appointment_reminder') if job: diff --git a/erpnext/patches/v12_0/update_bom_in_so_mr.py b/erpnext/patches/v12_0/update_bom_in_so_mr.py index 8a87171813..283407567f 100644 --- a/erpnext/patches/v12_0/update_bom_in_so_mr.py +++ b/erpnext/patches/v12_0/update_bom_in_so_mr.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("stock", "doctype", "material_request_item") frappe.reload_doc("selling", "doctype", "sales_order_item") diff --git a/erpnext/patches/v12_0/update_due_date_in_gle.py b/erpnext/patches/v12_0/update_due_date_in_gle.py index 34848725ce..60ad325114 100644 --- a/erpnext/patches/v12_0/update_due_date_in_gle.py +++ b/erpnext/patches/v12_0/update_due_date_in_gle.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "gl_entry") diff --git a/erpnext/patches/v12_0/update_end_date_and_status_in_email_campaign.py b/erpnext/patches/v12_0/update_end_date_and_status_in_email_campaign.py index c45f6221f9..208076b149 100644 --- a/erpnext/patches/v12_0/update_end_date_and_status_in_email_campaign.py +++ b/erpnext/patches/v12_0/update_end_date_and_status_in_email_campaign.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.utils import add_days, getdate, today + def execute(): if frappe.db.exists('DocType', 'Email Campaign'): email_campaign = frappe.get_all('Email Campaign') diff --git a/erpnext/patches/v12_0/update_ewaybill_field_position.py b/erpnext/patches/v12_0/update_ewaybill_field_position.py index 9e5f599d2c..520b5d04b4 100644 --- a/erpnext/patches/v12_0/update_ewaybill_field_position.py +++ b/erpnext/patches/v12_0/update_ewaybill_field_position.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals + import frappe -from erpnext.regional.india.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/update_gst_category.py b/erpnext/patches/v12_0/update_gst_category.py index 1a54216b88..bee8919931 100644 --- a/erpnext/patches/v12_0/update_gst_category.py +++ b/erpnext/patches/v12_0/update_gst_category.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/update_healthcare_refactored_changes.py b/erpnext/patches/v12_0/update_healthcare_refactored_changes.py index d0b0443397..bfad3ddcba 100644 --- a/erpnext/patches/v12_0/update_healthcare_refactored_changes.py +++ b/erpnext/patches/v12_0/update_healthcare_refactored_changes.py @@ -1,7 +1,8 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field -from frappe.modules import scrub, get_doctype_module +from frappe.modules import get_doctype_module, scrub field_rename_map = { 'Healthcare Settings': [ diff --git a/erpnext/patches/v12_0/update_is_cancelled_field.py b/erpnext/patches/v12_0/update_is_cancelled_field.py index f69dcc9579..3e7c37f0d1 100644 --- a/erpnext/patches/v12_0/update_is_cancelled_field.py +++ b/erpnext/patches/v12_0/update_is_cancelled_field.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): try: frappe.db.sql("UPDATE `tabStock Ledger Entry` SET is_cancelled = 0 where is_cancelled in ('', NULL, 'No')") diff --git a/erpnext/patches/v12_0/update_item_tax_template_company.py b/erpnext/patches/v12_0/update_item_tax_template_company.py index e15894df89..3ad983d686 100644 --- a/erpnext/patches/v12_0/update_item_tax_template_company.py +++ b/erpnext/patches/v12_0/update_item_tax_template_company.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('accounts', 'doctype', 'item_tax_template') diff --git a/erpnext/patches/v12_0/update_owner_fields_in_acc_dimension_custom_fields.py b/erpnext/patches/v12_0/update_owner_fields_in_acc_dimension_custom_fields.py index 6ebaf48e0e..09e2319eb8 100644 --- a/erpnext/patches/v12_0/update_owner_fields_in_acc_dimension_custom_fields.py +++ b/erpnext/patches/v12_0/update_owner_fields_in_acc_dimension_custom_fields.py @@ -1,6 +1,11 @@ from __future__ import unicode_literals + import frappe -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_doctypes_with_dimensions + +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_doctypes_with_dimensions, +) + def execute(): accounting_dimensions = frappe.db.sql("""select fieldname from diff --git a/erpnext/patches/v12_0/update_price_list_currency_in_bom.py b/erpnext/patches/v12_0/update_price_list_currency_in_bom.py index 09f0707429..e4c1008923 100644 --- a/erpnext/patches/v12_0/update_price_list_currency_in_bom.py +++ b/erpnext/patches/v12_0/update_price_list_currency_in_bom.py @@ -1,8 +1,11 @@ from __future__ import unicode_literals + import frappe -from frappe.utils import getdate, flt +from frappe.utils import getdate + from erpnext.setup.utils import get_exchange_rate + def execute(): frappe.reload_doc("manufacturing", "doctype", "bom") frappe.reload_doc("manufacturing", "doctype", "bom_item") diff --git a/erpnext/patches/v12_0/update_price_or_product_discount.py b/erpnext/patches/v12_0/update_price_or_product_discount.py index 3a8cd43e30..4ff3925768 100644 --- a/erpnext/patches/v12_0/update_price_or_product_discount.py +++ b/erpnext/patches/v12_0/update_price_or_product_discount.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "pricing_rule") diff --git a/erpnext/patches/v12_0/update_pricing_rule_fields.py b/erpnext/patches/v12_0/update_pricing_rule_fields.py index 985613a973..6f102e9b42 100644 --- a/erpnext/patches/v12_0/update_pricing_rule_fields.py +++ b/erpnext/patches/v12_0/update_pricing_rule_fields.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe parentfield = { diff --git a/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py b/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py index 8dbfa1866d..25cf6b97e3 100644 --- a/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py +++ b/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py @@ -1,6 +1,8 @@ import frappe + from erpnext.regional.india import states + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v12_0/update_uom_conversion_factor.py b/erpnext/patches/v12_0/update_uom_conversion_factor.py index 24914fd13b..7c7477a673 100644 --- a/erpnext/patches/v12_0/update_uom_conversion_factor.py +++ b/erpnext/patches/v12_0/update_uom_conversion_factor.py @@ -1,5 +1,7 @@ from __future__ import unicode_literals -import frappe, json + +import frappe + def execute(): from erpnext.setup.setup_wizard.operations.install_fixtures import add_uom_data diff --git a/erpnext/patches/v12_0/update_vehicle_no_reqd_condition.py b/erpnext/patches/v12_0/update_vehicle_no_reqd_condition.py index 01a4ae04ad..69bfaaa2cb 100644 --- a/erpnext/patches/v12_0/update_vehicle_no_reqd_condition.py +++ b/erpnext/patches/v12_0/update_vehicle_no_reqd_condition.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc('custom', 'doctype', 'custom_field') company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v13_0/add_custom_field_for_south_africa.py b/erpnext/patches/v13_0/add_custom_field_for_south_africa.py index 73ff1cad5b..93a7de6a21 100644 --- a/erpnext/patches/v13_0/add_custom_field_for_south_africa.py +++ b/erpnext/patches/v13_0/add_custom_field_for_south_africa.py @@ -2,8 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from erpnext.regional.south_africa.setup import make_custom_fields, add_permissions + +from erpnext.regional.south_africa.setup import add_permissions, make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'South Africa'}) diff --git a/erpnext/patches/v13_0/add_doctype_to_sla.py b/erpnext/patches/v13_0/add_doctype_to_sla.py index cdc5a1eabb..7252b3e8a8 100644 --- a/erpnext/patches/v13_0/add_doctype_to_sla.py +++ b/erpnext/patches/v13_0/add_doctype_to_sla.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc('support', 'doctype', 'sla_fulfilled_on_status') frappe.reload_doc('support', 'doctype', 'service_level_agreement') diff --git a/erpnext/patches/v13_0/add_missing_fg_item_for_stock_entry.py b/erpnext/patches/v13_0/add_missing_fg_item_for_stock_entry.py index 0d8109c41a..bd18b9bd17 100644 --- a/erpnext/patches/v13_0/add_missing_fg_item_for_stock_entry.py +++ b/erpnext/patches/v13_0/add_missing_fg_item_for_stock_entry.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt import frappe -from frappe.utils import cstr, flt, cint -from erpnext.stock.stock_ledger import make_sl_entries +from frappe.utils import cint, cstr, flt + from erpnext.controllers.stock_controller import create_repost_item_valuation_entry +from erpnext.stock.stock_ledger import make_sl_entries + def execute(): if not frappe.db.has_column('Work Order', 'has_batch_no'): diff --git a/erpnext/patches/v13_0/add_naming_series_to_old_projects.py b/erpnext/patches/v13_0/add_naming_series_to_old_projects.py index a7b66f0d2b..f029f75acc 100644 --- a/erpnext/patches/v13_0/add_naming_series_to_old_projects.py +++ b/erpnext/patches/v13_0/add_naming_series_to_old_projects.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals + import frappe -from frappe.custom.doctype.property_setter.property_setter import make_property_setter, delete_property_setter + def execute(): frappe.reload_doc("projects", "doctype", "project") diff --git a/erpnext/patches/v13_0/add_po_to_global_search.py b/erpnext/patches/v13_0/add_po_to_global_search.py index 1c60b18e5b..15b7c71dc2 100644 --- a/erpnext/patches/v13_0/add_po_to_global_search.py +++ b/erpnext/patches/v13_0/add_po_to_global_search.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe diff --git a/erpnext/patches/v13_0/add_standard_navbar_items.py b/erpnext/patches/v13_0/add_standard_navbar_items.py index d05b258db0..699c480c87 100644 --- a/erpnext/patches/v13_0/add_standard_navbar_items.py +++ b/erpnext/patches/v13_0/add_standard_navbar_items.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + # import frappe from erpnext.setup.install import add_standard_navbar_items + def execute(): # Add standard navbar items for ERPNext in Navbar Settings add_standard_navbar_items() diff --git a/erpnext/patches/v13_0/bill_for_rejected_quantity_in_purchase_invoice.py b/erpnext/patches/v13_0/bill_for_rejected_quantity_in_purchase_invoice.py index 7de9fa1e23..07d1cee64f 100644 --- a/erpnext/patches/v13_0/bill_for_rejected_quantity_in_purchase_invoice.py +++ b/erpnext/patches/v13_0/bill_for_rejected_quantity_in_purchase_invoice.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doctype("Buying Settings") buying_settings = frappe.get_single("Buying Settings") diff --git a/erpnext/patches/v13_0/change_default_pos_print_format.py b/erpnext/patches/v13_0/change_default_pos_print_format.py index 1e4f383dda..5a0320a7eb 100644 --- a/erpnext/patches/v13_0/change_default_pos_print_format.py +++ b/erpnext/patches/v13_0/change_default_pos_print_format.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.db.sql( """UPDATE `tabPOS Profile` profile diff --git a/erpnext/patches/v13_0/check_is_income_tax_component.py b/erpnext/patches/v13_0/check_is_income_tax_component.py index 7a52dc88d2..aac87ba36f 100644 --- a/erpnext/patches/v13_0/check_is_income_tax_component.py +++ b/erpnext/patches/v13_0/check_is_income_tax_component.py @@ -3,9 +3,12 @@ from __future__ import unicode_literals -import frappe, erpnext +import frappe + +import erpnext from erpnext.regional.india.setup import setup + def execute(): doctypes = ['salary_component', diff --git a/erpnext/patches/v13_0/convert_qi_parameter_to_link_field.py b/erpnext/patches/v13_0/convert_qi_parameter_to_link_field.py index 341955aa35..66ac62fdc4 100644 --- a/erpnext/patches/v13_0/convert_qi_parameter_to_link_field.py +++ b/erpnext/patches/v13_0/convert_qi_parameter_to_link_field.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('stock', 'doctype', 'quality_inspection_parameter') diff --git a/erpnext/patches/v13_0/create_healthcare_custom_fields_in_stock_entry_detail.py b/erpnext/patches/v13_0/create_healthcare_custom_fields_in_stock_entry_detail.py index 08d4876c0d..543faeb74a 100644 --- a/erpnext/patches/v13_0/create_healthcare_custom_fields_in_stock_entry_detail.py +++ b/erpnext/patches/v13_0/create_healthcare_custom_fields_in_stock_entry_detail.py @@ -1,7 +1,9 @@ import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + from erpnext.domains.healthcare import data + def execute(): if 'Healthcare' not in frappe.get_active_domains(): return diff --git a/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py b/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py index 9a354537f7..b1b5c24adc 100644 --- a/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py +++ b/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): if "leave_policy" in frappe.db.get_table_columns("Employee"): employees_with_leave_policy = frappe.db.sql("SELECT name, leave_policy FROM `tabEmployee` WHERE leave_policy IS NOT NULL and leave_policy != ''", as_dict = 1) diff --git a/erpnext/patches/v13_0/create_uae_pos_invoice_fields.py b/erpnext/patches/v13_0/create_uae_pos_invoice_fields.py index 6ad3402ba0..3bfa78fa28 100644 --- a/erpnext/patches/v13_0/create_uae_pos_invoice_fields.py +++ b/erpnext/patches/v13_0/create_uae_pos_invoice_fields.py @@ -4,8 +4,10 @@ from __future__ import unicode_literals import frappe + from erpnext.regional.united_arab_emirates.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': ['in', ['Saudi Arabia', 'United Arab Emirates']]}) if not company: diff --git a/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py b/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py index 125be9b842..eee9f1189e 100644 --- a/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py +++ b/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py @@ -1,8 +1,11 @@ from __future__ import unicode_literals + import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields + from erpnext.regional.united_states.setup import add_permissions + def execute(): company = frappe.get_all('Company', filters = {'country': 'United States'}, fields=['name']) if not company: diff --git a/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py b/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py index 77a23cfc3f..089bbe3b48 100644 --- a/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py +++ b/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import frappe from frappe.model.utils.rename_field import rename_field + def execute(): doctypes = [ "Bank Statement Settings", diff --git a/erpnext/patches/v13_0/delete_old_purchase_reports.py b/erpnext/patches/v13_0/delete_old_purchase_reports.py index 57620d3e98..3cb7e120d6 100644 --- a/erpnext/patches/v13_0/delete_old_purchase_reports.py +++ b/erpnext/patches/v13_0/delete_old_purchase_reports.py @@ -4,8 +4,10 @@ from __future__ import unicode_literals import frappe + from erpnext.accounts.utils import check_and_delete_linked_reports + def execute(): reports_to_delete = ["Requested Items To Be Ordered", "Purchase Order Items To Be Received or Billed","Purchase Order Items To Be Received", diff --git a/erpnext/patches/v13_0/delete_old_sales_reports.py b/erpnext/patches/v13_0/delete_old_sales_reports.py index 905a42c0c4..c9a366655c 100644 --- a/erpnext/patches/v13_0/delete_old_sales_reports.py +++ b/erpnext/patches/v13_0/delete_old_sales_reports.py @@ -4,8 +4,10 @@ from __future__ import unicode_literals import frappe + from erpnext.accounts.utils import check_and_delete_linked_reports + def execute(): reports_to_delete = ["Ordered Items To Be Delivered", "Ordered Items To Be Billed"] diff --git a/erpnext/patches/v13_0/delete_orphaned_tables.py b/erpnext/patches/v13_0/delete_orphaned_tables.py index 50a4a0efcb..1ea22d6356 100644 --- a/erpnext/patches/v13_0/delete_orphaned_tables.py +++ b/erpnext/patches/v13_0/delete_orphaned_tables.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import frappe from frappe.utils import getdate + def execute(): frappe.reload_doc('setup', 'doctype', 'transaction_deletion_record') diff --git a/erpnext/patches/v13_0/delete_report_requested_items_to_order.py b/erpnext/patches/v13_0/delete_report_requested_items_to_order.py index 8d6340d44e..87565f0fe4 100644 --- a/erpnext/patches/v13_0/delete_report_requested_items_to_order.py +++ b/erpnext/patches/v13_0/delete_report_requested_items_to_order.py @@ -1,5 +1,6 @@ import frappe + def execute(): """ Check for one or multiple Auto Email Reports and delete """ auto_email_reports = frappe.db.get_values("Auto Email Report", {"report": "Requested Items to Order"}, ["name"]) diff --git a/erpnext/patches/v13_0/drop_razorpay_payload_column.py b/erpnext/patches/v13_0/drop_razorpay_payload_column.py index 76b8041cd9..a7aee52198 100644 --- a/erpnext/patches/v13_0/drop_razorpay_payload_column.py +++ b/erpnext/patches/v13_0/drop_razorpay_payload_column.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists("DocType", "Membership"): if 'webhook_payload' in frappe.db.get_table_columns("Membership"): diff --git a/erpnext/patches/v13_0/fix_non_unique_represents_company.py b/erpnext/patches/v13_0/fix_non_unique_represents_company.py index f20c73ae10..e91c1db4dd 100644 --- a/erpnext/patches/v13_0/fix_non_unique_represents_company.py +++ b/erpnext/patches/v13_0/fix_non_unique_represents_company.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.db.sql(""" update tabCustomer diff --git a/erpnext/patches/v13_0/germany_make_custom_fields.py b/erpnext/patches/v13_0/germany_make_custom_fields.py index 41ab945eb1..86ad188599 100644 --- a/erpnext/patches/v13_0/germany_make_custom_fields.py +++ b/erpnext/patches/v13_0/germany_make_custom_fields.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import frappe + from erpnext.regional.germany.setup import make_custom_fields diff --git a/erpnext/patches/v13_0/healthcare_lab_module_rename_doctypes.py b/erpnext/patches/v13_0/healthcare_lab_module_rename_doctypes.py index 2549a1e91e..f2976544a4 100644 --- a/erpnext/patches/v13_0/healthcare_lab_module_rename_doctypes.py +++ b/erpnext/patches/v13_0/healthcare_lab_module_rename_doctypes.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field diff --git a/erpnext/patches/v13_0/item_reposting_for_incorrect_sl_and_gl.py b/erpnext/patches/v13_0/item_reposting_for_incorrect_sl_and_gl.py index c4ad1b7ff4..e4cb9ae7cd 100644 --- a/erpnext/patches/v13_0/item_reposting_for_incorrect_sl_and_gl.py +++ b/erpnext/patches/v13_0/item_reposting_for_incorrect_sl_and_gl.py @@ -1,8 +1,9 @@ import frappe -from frappe import _ -from frappe.utils import getdate, get_time, today -from erpnext.stock.stock_ledger import update_entries_after +from frappe.utils import get_time, getdate, today + from erpnext.accounts.utils import update_gl_entries_after +from erpnext.stock.stock_ledger import update_entries_after + def execute(): for doctype in ('repost_item_valuation', 'stock_entry_detail', 'purchase_receipt_item', diff --git a/erpnext/patches/v13_0/loyalty_points_entry_for_pos_invoice.py b/erpnext/patches/v13_0/loyalty_points_entry_for_pos_invoice.py index d2228c3bf3..43c6c4941e 100644 --- a/erpnext/patches/v13_0/loyalty_points_entry_for_pos_invoice.py +++ b/erpnext/patches/v13_0/loyalty_points_entry_for_pos_invoice.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): '''`sales_invoice` field from loyalty point entry is splitted into `invoice_type` & `invoice` fields''' diff --git a/erpnext/patches/v13_0/make_non_standard_user_type.py b/erpnext/patches/v13_0/make_non_standard_user_type.py index 73361f0026..746e4080b6 100644 --- a/erpnext/patches/v13_0/make_non_standard_user_type.py +++ b/erpnext/patches/v13_0/make_non_standard_user_type.py @@ -2,10 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from six import iteritems + from erpnext.setup.install import add_non_standard_user_types + def execute(): doctype_dict = { 'projects': ['Timesheet'], diff --git a/erpnext/patches/v13_0/move_branch_code_to_bank_account.py b/erpnext/patches/v13_0/move_branch_code_to_bank_account.py index 24d9196d29..9116f5835a 100644 --- a/erpnext/patches/v13_0/move_branch_code_to_bank_account.py +++ b/erpnext/patches/v13_0/move_branch_code_to_bank_account.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): frappe.reload_doc('accounts', 'doctype', 'bank_account') diff --git a/erpnext/patches/v13_0/move_doctype_reports_and_notification_from_hr_to_payroll.py b/erpnext/patches/v13_0/move_doctype_reports_and_notification_from_hr_to_payroll.py index 4d7c85ce2d..064e8d71a0 100644 --- a/erpnext/patches/v13_0/move_doctype_reports_and_notification_from_hr_to_payroll.py +++ b/erpnext/patches/v13_0/move_doctype_reports_and_notification_from_hr_to_payroll.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): frappe.db.sql("""UPDATE `tabPrint Format` SET module = 'Payroll' diff --git a/erpnext/patches/v13_0/move_payroll_setting_separately_from_hr_settings.py b/erpnext/patches/v13_0/move_payroll_setting_separately_from_hr_settings.py index a901064b88..85d5109248 100644 --- a/erpnext/patches/v13_0/move_payroll_setting_separately_from_hr_settings.py +++ b/erpnext/patches/v13_0/move_payroll_setting_separately_from_hr_settings.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): data = frappe.db.sql('''SELECT * FROM `tabSingles` diff --git a/erpnext/patches/v13_0/move_tax_slabs_from_payroll_period_to_income_tax_slab.py b/erpnext/patches/v13_0/move_tax_slabs_from_payroll_period_to_income_tax_slab.py index 426292067a..e73fa7b9ec 100644 --- a/erpnext/patches/v13_0/move_tax_slabs_from_payroll_period_to_income_tax_slab.py +++ b/erpnext/patches/v13_0/move_tax_slabs_from_payroll_period_to_income_tax_slab.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import frappe -from frappe.model.utils.rename_field import rename_field + def execute(): if not (frappe.db.table_exists("Payroll Period") and frappe.db.table_exists("Taxable Salary Slab")): diff --git a/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py b/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py index 15aeb76e53..bb539a7962 100644 --- a/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py +++ b/erpnext/patches/v13_0/patch_to_fix_reverse_linking_in_additional_salary_encashment_and_incentive.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import frappe + def execute(): if not frappe.db.table_exists("Additional Salary"): return diff --git a/erpnext/patches/v13_0/print_uom_after_quantity_patch.py b/erpnext/patches/v13_0/print_uom_after_quantity_patch.py index 0de3728f5c..f2022b28b8 100644 --- a/erpnext/patches/v13_0/print_uom_after_quantity_patch.py +++ b/erpnext/patches/v13_0/print_uom_after_quantity_patch.py @@ -3,8 +3,8 @@ from __future__ import unicode_literals -import frappe from erpnext.setup.install import create_print_uom_after_qty_custom_field + def execute(): create_print_uom_after_qty_custom_field() diff --git a/erpnext/patches/v13_0/remove_attribute_field_from_item_variant_setting.py b/erpnext/patches/v13_0/remove_attribute_field_from_item_variant_setting.py index 53da7006b9..bbe3eb5815 100644 --- a/erpnext/patches/v13_0/remove_attribute_field_from_item_variant_setting.py +++ b/erpnext/patches/v13_0/remove_attribute_field_from_item_variant_setting.py @@ -1,5 +1,6 @@ import frappe + def execute(): """Remove has_variants and attribute fields from item variant settings.""" frappe.reload_doc("stock", "doctype", "Item Variant Settings") diff --git a/erpnext/patches/v13_0/rename_discharge_date_in_ip_record.py b/erpnext/patches/v13_0/rename_discharge_date_in_ip_record.py index 491dc82f78..2a04211a40 100644 --- a/erpnext/patches/v13_0/rename_discharge_date_in_ip_record.py +++ b/erpnext/patches/v13_0/rename_discharge_date_in_ip_record.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc("Healthcare", "doctype", "Inpatient Record") if frappe.db.has_column("Inpatient Record", "discharge_date"): diff --git a/erpnext/patches/v13_0/rename_issue_doctype_fields.py b/erpnext/patches/v13_0/rename_issue_doctype_fields.py index 4885c0b7af..4aeafeabe7 100644 --- a/erpnext/patches/v13_0/rename_issue_doctype_fields.py +++ b/erpnext/patches/v13_0/rename_issue_doctype_fields.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): if frappe.db.exists('DocType', 'Issue'): issues = frappe.db.get_all('Issue', fields=['name', 'response_by_variance', 'resolution_by_variance', 'mins_to_first_response'], diff --git a/erpnext/patches/v13_0/rename_issue_status_hold_to_on_hold.py b/erpnext/patches/v13_0/rename_issue_status_hold_to_on_hold.py index 4ef04ad9b1..1d245db4d5 100644 --- a/erpnext/patches/v13_0/rename_issue_status_hold_to_on_hold.py +++ b/erpnext/patches/v13_0/rename_issue_status_hold_to_on_hold.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists('DocType', 'Issue'): frappe.reload_doc("support", "doctype", "issue") diff --git a/erpnext/patches/v13_0/rename_membership_settings_to_non_profit_settings.py b/erpnext/patches/v13_0/rename_membership_settings_to_non_profit_settings.py index f60567b6b2..23a782a1e8 100644 --- a/erpnext/patches/v13_0/rename_membership_settings_to_non_profit_settings.py +++ b/erpnext/patches/v13_0/rename_membership_settings_to_non_profit_settings.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): if frappe.db.table_exists("Membership Settings"): frappe.rename_doc("DocType", "Membership Settings", "Non Profit Settings") diff --git a/erpnext/patches/v13_0/rename_stop_to_send_birthday_reminders.py b/erpnext/patches/v13_0/rename_stop_to_send_birthday_reminders.py index 014f026060..813fbd2d5c 100644 --- a/erpnext/patches/v13_0/rename_stop_to_send_birthday_reminders.py +++ b/erpnext/patches/v13_0/rename_stop_to_send_birthday_reminders.py @@ -1,6 +1,7 @@ import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc('hr', 'doctype', 'hr_settings') diff --git a/erpnext/patches/v13_0/replace_pos_page_with_point_of_sale_page.py b/erpnext/patches/v13_0/replace_pos_page_with_point_of_sale_page.py index d8bcd7f077..989f1a0a28 100644 --- a/erpnext/patches/v13_0/replace_pos_page_with_point_of_sale_page.py +++ b/erpnext/patches/v13_0/replace_pos_page_with_point_of_sale_page.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists("Page", "point-of-sale"): frappe.rename_doc("Page", "pos", "point-of-sale", 1, 1) diff --git a/erpnext/patches/v13_0/replace_pos_payment_mode_table.py b/erpnext/patches/v13_0/replace_pos_payment_mode_table.py index bc1fc98e4d..103c79177f 100644 --- a/erpnext/patches/v13_0/replace_pos_payment_mode_table.py +++ b/erpnext/patches/v13_0/replace_pos_payment_mode_table.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "pos_payment_method") pos_profiles = frappe.get_all("POS Profile") diff --git a/erpnext/patches/v13_0/reset_clearance_date_for_intracompany_payment_entries.py b/erpnext/patches/v13_0/reset_clearance_date_for_intracompany_payment_entries.py index 1caa17f45e..29343b71bf 100644 --- a/erpnext/patches/v13_0/reset_clearance_date_for_intracompany_payment_entries.py +++ b/erpnext/patches/v13_0/reset_clearance_date_for_intracompany_payment_entries.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): """ Reset Clearance Date for Payment Entries of type Internal Transfer that have only been reconciled with one Bank Transaction. diff --git a/erpnext/patches/v13_0/set_app_name.py b/erpnext/patches/v13_0/set_app_name.py index 3f886f1d15..4a88442bcd 100644 --- a/erpnext/patches/v13_0/set_app_name.py +++ b/erpnext/patches/v13_0/set_app_name.py @@ -1,5 +1,5 @@ import frappe -from frappe import _ + def execute(): frappe.reload_doctype("System Settings") diff --git a/erpnext/patches/v13_0/set_company_field_in_healthcare_doctypes.py b/erpnext/patches/v13_0/set_company_field_in_healthcare_doctypes.py index a5b93f6307..e9396c2df2 100644 --- a/erpnext/patches/v13_0/set_company_field_in_healthcare_doctypes.py +++ b/erpnext/patches/v13_0/set_company_field_in_healthcare_doctypes.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): company = frappe.db.get_single_value('Global Defaults', 'default_company') doctypes = ['Clinical Procedure', 'Inpatient Record', 'Lab Test', 'Sample Collection', 'Patient Appointment', 'Patient Encounter', 'Vital Signs', 'Therapy Session', 'Therapy Plan', 'Patient Assessment'] diff --git a/erpnext/patches/v13_0/set_company_in_leave_ledger_entry.py b/erpnext/patches/v13_0/set_company_in_leave_ledger_entry.py index 13ec41ec55..c744f35b72 100644 --- a/erpnext/patches/v13_0/set_company_in_leave_ledger_entry.py +++ b/erpnext/patches/v13_0/set_company_in_leave_ledger_entry.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc('HR', 'doctype', 'Leave Allocation') frappe.reload_doc('HR', 'doctype', 'Leave Ledger Entry') diff --git a/erpnext/patches/v13_0/set_operation_time_based_on_operating_cost.py b/erpnext/patches/v13_0/set_operation_time_based_on_operating_cost.py index 4fdd82f97b..e26285e508 100644 --- a/erpnext/patches/v13_0/set_operation_time_based_on_operating_cost.py +++ b/erpnext/patches/v13_0/set_operation_time_based_on_operating_cost.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc('manufacturing', 'doctype', 'bom') frappe.reload_doc('manufacturing', 'doctype', 'bom_operation') diff --git a/erpnext/patches/v13_0/set_payment_channel_in_payment_gateway_account.py b/erpnext/patches/v13_0/set_payment_channel_in_payment_gateway_account.py index 7f75946af9..da889e61ba 100644 --- a/erpnext/patches/v13_0/set_payment_channel_in_payment_gateway_account.py +++ b/erpnext/patches/v13_0/set_payment_channel_in_payment_gateway_account.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): """Set the payment gateway account as Email for all the existing payment channel.""" doc_meta = frappe.get_meta("Payment Gateway Account") diff --git a/erpnext/patches/v13_0/set_pos_closing_as_failed.py b/erpnext/patches/v13_0/set_pos_closing_as_failed.py index 7968e74f50..8c7f5088b7 100644 --- a/erpnext/patches/v13_0/set_pos_closing_as_failed.py +++ b/erpnext/patches/v13_0/set_pos_closing_as_failed.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('accounts', 'doctype', 'pos_closing_entry') diff --git a/erpnext/patches/v13_0/set_training_event_attendance.py b/erpnext/patches/v13_0/set_training_event_attendance.py index 3db183fb2a..4e3d8f5e6a 100644 --- a/erpnext/patches/v13_0/set_training_event_attendance.py +++ b/erpnext/patches/v13_0/set_training_event_attendance.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('hr', 'doctype', 'training_event') frappe.reload_doc('hr', 'doctype', 'training_event_employee') diff --git a/erpnext/patches/v13_0/set_youtube_video_id.py b/erpnext/patches/v13_0/set_youtube_video_id.py index f6104d1579..1594e52e4e 100644 --- a/erpnext/patches/v13_0/set_youtube_video_id.py +++ b/erpnext/patches/v13_0/set_youtube_video_id.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.utilities.doctype.video.video import get_id_from_url + def execute(): frappe.reload_doc("utilities", "doctype","video") diff --git a/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py b/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py index c8c160fae7..a6a3ff3be4 100644 --- a/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py +++ b/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.regional.india.setup import add_custom_roles_for_reports + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py b/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py index 833c355d5f..7a2a253967 100644 --- a/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py +++ b/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py @@ -1,6 +1,8 @@ import frappe + from erpnext.regional.india.setup import make_custom_fields + def execute(): if frappe.get_all('Company', filters = {'country': 'India'}): make_custom_fields() diff --git a/erpnext/patches/v13_0/setup_gratuity_rule_for_india_and_uae.py b/erpnext/patches/v13_0/setup_gratuity_rule_for_india_and_uae.py index 01fd6a158e..01e75a6009 100644 --- a/erpnext/patches/v13_0/setup_gratuity_rule_for_india_and_uae.py +++ b/erpnext/patches/v13_0/setup_gratuity_rule_for_india_and_uae.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('payroll', 'doctype', 'gratuity_rule') frappe.reload_doc('payroll', 'doctype', 'gratuity_rule_slab') diff --git a/erpnext/patches/v13_0/setup_patient_history_settings_for_standard_doctypes.py b/erpnext/patches/v13_0/setup_patient_history_settings_for_standard_doctypes.py index 83581dd414..80622d4609 100644 --- a/erpnext/patches/v13_0/setup_patient_history_settings_for_standard_doctypes.py +++ b/erpnext/patches/v13_0/setup_patient_history_settings_for_standard_doctypes.py @@ -1,7 +1,10 @@ from __future__ import unicode_literals + import frappe + from erpnext.healthcare.setup import setup_patient_history_settings + def execute(): if "Healthcare" not in frappe.get_active_domains(): return diff --git a/erpnext/patches/v13_0/setup_uae_vat_fields.py b/erpnext/patches/v13_0/setup_uae_vat_fields.py index 1830bab02b..d89e0521d8 100644 --- a/erpnext/patches/v13_0/setup_uae_vat_fields.py +++ b/erpnext/patches/v13_0/setup_uae_vat_fields.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt import frappe + from erpnext.regional.united_arab_emirates.setup import setup + def execute(): company = frappe.get_all('Company', filters = {'country': 'United Arab Emirates'}) if not company: diff --git a/erpnext/patches/v13_0/shopify_deprecation_warning.py b/erpnext/patches/v13_0/shopify_deprecation_warning.py index 6f199c87b6..245d1a9625 100644 --- a/erpnext/patches/v13_0/shopify_deprecation_warning.py +++ b/erpnext/patches/v13_0/shopify_deprecation_warning.py @@ -1,5 +1,4 @@ import click -import frappe def execute(): diff --git a/erpnext/patches/v13_0/stock_entry_enhancements.py b/erpnext/patches/v13_0/stock_entry_enhancements.py index 7b93ce3576..5fcd6a3a62 100644 --- a/erpnext/patches/v13_0/stock_entry_enhancements.py +++ b/erpnext/patches/v13_0/stock_entry_enhancements.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3.See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("stock", "doctype", "stock_entry") if frappe.db.has_column("Stock Entry", "add_to_transit"): diff --git a/erpnext/patches/v13_0/update_actual_start_and_end_date_in_wo.py b/erpnext/patches/v13_0/update_actual_start_and_end_date_in_wo.py index 50f233deef..dd87a5302d 100644 --- a/erpnext/patches/v13_0/update_actual_start_and_end_date_in_wo.py +++ b/erpnext/patches/v13_0/update_actual_start_and_end_date_in_wo.py @@ -7,6 +7,7 @@ from __future__ import unicode_literals import frappe from frappe.utils import add_to_date + def execute(): frappe.reload_doc("manufacturing", "doctype", "work_order") frappe.reload_doc("manufacturing", "doctype", "work_order_item") diff --git a/erpnext/patches/v13_0/update_amt_in_work_order_required_items.py b/erpnext/patches/v13_0/update_amt_in_work_order_required_items.py index dc9ed18ead..dc973a9d45 100644 --- a/erpnext/patches/v13_0/update_amt_in_work_order_required_items.py +++ b/erpnext/patches/v13_0/update_amt_in_work_order_required_items.py @@ -1,5 +1,6 @@ import frappe + def execute(): """ Correct amount in child table of required items table.""" diff --git a/erpnext/patches/v13_0/update_deferred_settings.py b/erpnext/patches/v13_0/update_deferred_settings.py index bcc09527a2..54059318c7 100644 --- a/erpnext/patches/v13_0/update_deferred_settings.py +++ b/erpnext/patches/v13_0/update_deferred_settings.py @@ -1,8 +1,10 @@ # Copyright (c) 2019, Frappe and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): accounts_settings = frappe.get_doc('Accounts Settings', 'Accounts Settings') accounts_settings.book_deferred_entries_based_on = 'Days' diff --git a/erpnext/patches/v13_0/update_export_type_for_gst.py b/erpnext/patches/v13_0/update_export_type_for_gst.py index ef70b55d94..de578612f7 100644 --- a/erpnext/patches/v13_0/update_export_type_for_gst.py +++ b/erpnext/patches/v13_0/update_export_type_for_gst.py @@ -1,5 +1,6 @@ import frappe + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) if not company: diff --git a/erpnext/patches/v13_0/update_job_card_details.py b/erpnext/patches/v13_0/update_job_card_details.py index 733b3a960c..a0405e5039 100644 --- a/erpnext/patches/v13_0/update_job_card_details.py +++ b/erpnext/patches/v13_0/update_job_card_details.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("manufacturing", "doctype", "job_card") frappe.reload_doc("manufacturing", "doctype", "job_card_item") diff --git a/erpnext/patches/v13_0/update_level_in_bom.py b/erpnext/patches/v13_0/update_level_in_bom.py index 0d03c42e98..6223500e6b 100644 --- a/erpnext/patches/v13_0/update_level_in_bom.py +++ b/erpnext/patches/v13_0/update_level_in_bom.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): for document in ["bom", "bom_item", "bom_explosion_item"]: frappe.reload_doc('manufacturing', 'doctype', document) diff --git a/erpnext/patches/v13_0/update_member_email_address.py b/erpnext/patches/v13_0/update_member_email_address.py index 4056f84069..769658e2b8 100644 --- a/erpnext/patches/v13_0/update_member_email_address.py +++ b/erpnext/patches/v13_0/update_member_email_address.py @@ -2,9 +2,11 @@ # MIT License. See license.txt from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): """add value to email_id column from email""" diff --git a/erpnext/patches/v13_0/update_old_loans.py b/erpnext/patches/v13_0/update_old_loans.py index 8cf09aa692..b01a87722e 100644 --- a/erpnext/patches/v13_0/update_old_loans.py +++ b/erpnext/patches/v13_0/update_old_loans.py @@ -1,12 +1,18 @@ from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import nowdate, flt -from erpnext.accounts.doctype.account.test_account import create_account -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_term_loans -from erpnext.loan_management.doctype.loan.loan import make_repayment_entry -from erpnext.loan_management.doctype.loan_repayment.loan_repayment import get_accrued_interest_entries from frappe.model.naming import make_autoname +from frappe.utils import flt, nowdate + +from erpnext.accounts.doctype.account.test_account import create_account +from erpnext.loan_management.doctype.loan_repayment.loan_repayment import ( + get_accrued_interest_entries, +) +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_term_loans, +) + def execute(): diff --git a/erpnext/patches/v13_0/update_payment_terms_outstanding.py b/erpnext/patches/v13_0/update_payment_terms_outstanding.py index 4816b40250..c9e920b7cb 100644 --- a/erpnext/patches/v13_0/update_payment_terms_outstanding.py +++ b/erpnext/patches/v13_0/update_payment_terms_outstanding.py @@ -2,8 +2,10 @@ # MIT License. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "Payment Schedule") if frappe.db.count('Payment Schedule'): diff --git a/erpnext/patches/v13_0/update_pos_closing_entry_in_merge_log.py b/erpnext/patches/v13_0/update_pos_closing_entry_in_merge_log.py index 262e38dd05..71fe9ed680 100644 --- a/erpnext/patches/v13_0/update_pos_closing_entry_in_merge_log.py +++ b/erpnext/patches/v13_0/update_pos_closing_entry_in_merge_log.py @@ -2,8 +2,10 @@ # MIT License. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("accounts", "doctype", "POS Invoice Merge Log") frappe.reload_doc("accounts", "doctype", "POS Closing Entry") diff --git a/erpnext/patches/v13_0/update_project_template_tasks.py b/erpnext/patches/v13_0/update_project_template_tasks.py index b41b74205c..f0d0a5a7ef 100644 --- a/erpnext/patches/v13_0/update_project_template_tasks.py +++ b/erpnext/patches/v13_0/update_project_template_tasks.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("projects", "doctype", "project_template") frappe.reload_doc("projects", "doctype", "project_template_task") diff --git a/erpnext/patches/v13_0/update_reason_for_resignation_in_employee.py b/erpnext/patches/v13_0/update_reason_for_resignation_in_employee.py index ccdc334f30..84075024a4 100644 --- a/erpnext/patches/v13_0/update_reason_for_resignation_in_employee.py +++ b/erpnext/patches/v13_0/update_reason_for_resignation_in_employee.py @@ -2,8 +2,10 @@ # MIT License. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("hr", "doctype", "employee") diff --git a/erpnext/patches/v13_0/update_recipient_email_digest.py b/erpnext/patches/v13_0/update_recipient_email_digest.py index d9aa03f0fd..f4a48107c4 100644 --- a/erpnext/patches/v13_0/update_recipient_email_digest.py +++ b/erpnext/patches/v13_0/update_recipient_email_digest.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc("setup", "doctype", "Email Digest") frappe.reload_doc("setup", "doctype", "Email Digest Recipient") diff --git a/erpnext/patches/v13_0/update_response_by_variance.py b/erpnext/patches/v13_0/update_response_by_variance.py index ef4d976383..444ec9ecb9 100644 --- a/erpnext/patches/v13_0/update_response_by_variance.py +++ b/erpnext/patches/v13_0/update_response_by_variance.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): if frappe.db.exists('DocType', 'Issue') and frappe.db.count('Issue'): invalid_issues = frappe.get_all('Issue', { diff --git a/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py b/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py index a5769d2957..efb3a5961f 100644 --- a/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py +++ b/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py @@ -1,8 +1,10 @@ # Copyright (c) 2021, Frappe and Contributors # License: GNU General Public License v3. See license.txt import frappe + from erpnext.controllers.status_updater import OverAllowanceError + def execute(): frappe.reload_doc('stock', 'doctype', 'purchase_receipt') frappe.reload_doc('stock', 'doctype', 'purchase_receipt_item') diff --git a/erpnext/patches/v13_0/update_shipment_status.py b/erpnext/patches/v13_0/update_shipment_status.py index c425599e26..f2d7d1d1e3 100644 --- a/erpnext/patches/v13_0/update_shipment_status.py +++ b/erpnext/patches/v13_0/update_shipment_status.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.reload_doc("stock", "doctype", "shipment") diff --git a/erpnext/patches/v13_0/update_sla_enhancements.py b/erpnext/patches/v13_0/update_sla_enhancements.py index c156ba9577..bcfbf8b24c 100644 --- a/erpnext/patches/v13_0/update_sla_enhancements.py +++ b/erpnext/patches/v13_0/update_sla_enhancements.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): # add holiday list and employee group fields in SLA # change response and resolution time in priorities child table diff --git a/erpnext/patches/v13_0/update_start_end_date_for_old_shift_assignment.py b/erpnext/patches/v13_0/update_start_end_date_for_old_shift_assignment.py index 0f521cb57a..bcdf72ec69 100644 --- a/erpnext/patches/v13_0/update_start_end_date_for_old_shift_assignment.py +++ b/erpnext/patches/v13_0/update_start_end_date_for_old_shift_assignment.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe + def execute(): frappe.reload_doc('hr', 'doctype', 'shift_assignment') if frappe.db.has_column('Shift Assignment', 'date'): diff --git a/erpnext/patches/v13_0/update_subscription.py b/erpnext/patches/v13_0/update_subscription.py index d25e9c805b..e0ea78fa4d 100644 --- a/erpnext/patches/v13_0/update_subscription.py +++ b/erpnext/patches/v13_0/update_subscription.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from six import iteritems + def execute(): frappe.reload_doc('accounts', 'doctype', 'subscription') diff --git a/erpnext/patches/v13_0/update_subscription_status_in_memberships.py b/erpnext/patches/v13_0/update_subscription_status_in_memberships.py index d9c3e453d4..e21fe57821 100644 --- a/erpnext/patches/v13_0/update_subscription_status_in_memberships.py +++ b/erpnext/patches/v13_0/update_subscription_status_in_memberships.py @@ -1,5 +1,6 @@ import frappe + def execute(): if frappe.db.exists('DocType', 'Member'): frappe.reload_doc('Non Profit', 'doctype', 'Member') diff --git a/erpnext/patches/v13_0/update_tds_check_field.py b/erpnext/patches/v13_0/update_tds_check_field.py index 341b0e8e2e..436d2e6a6d 100644 --- a/erpnext/patches/v13_0/update_tds_check_field.py +++ b/erpnext/patches/v13_0/update_tds_check_field.py @@ -1,5 +1,6 @@ import frappe + def execute(): if frappe.db.has_table("Tax Withholding Category") \ and frappe.db.has_column("Tax Withholding Category", "round_off_tax_amount"): diff --git a/erpnext/patches/v13_0/update_timesheet_changes.py b/erpnext/patches/v13_0/update_timesheet_changes.py index a36c84ea6e..d993d54191 100644 --- a/erpnext/patches/v13_0/update_timesheet_changes.py +++ b/erpnext/patches/v13_0/update_timesheet_changes.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc("projects", "doctype", "timesheet") frappe.reload_doc("projects", "doctype", "timesheet_detail") diff --git a/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py b/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py index 7d344f9cd7..c760a6a52f 100644 --- a/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py +++ b/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py @@ -5,6 +5,7 @@ import frappe from frappe import _ from frappe.model.utils.rename_field import rename_field + def execute(): frappe.reload_doc('Accounts', 'doctype', 'Salary Component Account') diff --git a/erpnext/patches/v13_0/validate_options_for_data_field.py b/erpnext/patches/v13_0/validate_options_for_data_field.py index 03f9929c5c..41a38fe29c 100644 --- a/erpnext/patches/v13_0/validate_options_for_data_field.py +++ b/erpnext/patches/v13_0/validate_options_for_data_field.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.model import data_field_options + def execute(): for field in frappe.get_all('Custom Field', diff --git a/erpnext/patches/v14_0/delete_einvoicing_doctypes.py b/erpnext/patches/v14_0/delete_einvoicing_doctypes.py index 6e5775b3ac..a3a8149be3 100644 --- a/erpnext/patches/v14_0/delete_einvoicing_doctypes.py +++ b/erpnext/patches/v14_0/delete_einvoicing_doctypes.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.delete_doc('DocType', 'E Invoice Settings', ignore_missing=True) frappe.delete_doc('DocType', 'E Invoice User', ignore_missing=True) diff --git a/erpnext/patches/v4_2/repost_reserved_qty.py b/erpnext/patches/v4_2/repost_reserved_qty.py index 36117aad8c..4fa3b46871 100644 --- a/erpnext/patches/v4_2/repost_reserved_qty.py +++ b/erpnext/patches/v4_2/repost_reserved_qty.py @@ -2,8 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from erpnext.stock.stock_balance import update_bin_qty, get_reserved_qty + +from erpnext.stock.stock_balance import get_reserved_qty, update_bin_qty + def execute(): for doctype in ("Sales Order Item", "Bin"): diff --git a/erpnext/patches/v4_2/update_requested_and_ordered_qty.py b/erpnext/patches/v4_2/update_requested_and_ordered_qty.py index 8a31c73e1e..9330a443bf 100644 --- a/erpnext/patches/v4_2/update_requested_and_ordered_qty.py +++ b/erpnext/patches/v4_2/update_requested_and_ordered_qty.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): - from erpnext.stock.stock_balance import update_bin_qty, get_indented_qty, get_ordered_qty + from erpnext.stock.stock_balance import get_indented_qty, get_ordered_qty, update_bin_qty count=0 for item_code, warehouse in frappe.db.sql("""select distinct item_code, warehouse from diff --git a/erpnext/patches/v5_7/update_item_description_based_on_item_master.py b/erpnext/patches/v5_7/update_item_description_based_on_item_master.py index 2045358ddb..82b5b1cc2d 100644 --- a/erpnext/patches/v5_7/update_item_description_based_on_item_master.py +++ b/erpnext/patches/v5_7/update_item_description_based_on_item_master.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def execute(): name = frappe.db.sql(""" select name from `tabPatch Log` \ where \ diff --git a/erpnext/patches/v8_1/removed_roles_from_gst_report_non_indian_account.py b/erpnext/patches/v8_1/removed_roles_from_gst_report_non_indian_account.py index 55f5f8201f..ecfdc41f9b 100644 --- a/erpnext/patches/v8_1/removed_roles_from_gst_report_non_indian_account.py +++ b/erpnext/patches/v8_1/removed_roles_from_gst_report_non_indian_account.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def execute(): frappe.reload_doc('core', 'doctype', 'has_role') company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/patches/v8_1/setup_gst_india.py b/erpnext/patches/v8_1/setup_gst_india.py index c214990693..140b22656b 100644 --- a/erpnext/patches/v8_1/setup_gst_india.py +++ b/erpnext/patches/v8_1/setup_gst_india.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals + import frappe from frappe.email import sendmail_to_system_managers + def execute(): frappe.reload_doc('stock', 'doctype', 'item') frappe.reload_doc("stock", "doctype", "customs_tariff_number") diff --git a/erpnext/patches/v8_7/sync_india_custom_fields.py b/erpnext/patches/v8_7/sync_india_custom_fields.py index eb24a90f01..65ec14e882 100644 --- a/erpnext/patches/v8_7/sync_india_custom_fields.py +++ b/erpnext/patches/v8_7/sync_india_custom_fields.py @@ -1,6 +1,9 @@ from __future__ import unicode_literals + import frappe -from erpnext.regional.india.setup import make_custom_fields + +from erpnext.regional.india.setup import make_custom_fields + def execute(): company = frappe.get_all('Company', filters = {'country': 'India'}) diff --git a/erpnext/payroll/doctype/additional_salary/additional_salary.py b/erpnext/payroll/doctype/additional_salary/additional_salary.py index 381f399e9f..ed10f2bc67 100644 --- a/erpnext/payroll/doctype/additional_salary/additional_salary.py +++ b/erpnext/payroll/doctype/additional_salary/additional_salary.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _, bold -from frappe.utils import getdate, date_diff, comma_and, formatdate +from frappe.model.document import Document +from frappe.utils import comma_and, date_diff, formatdate, getdate + from erpnext.hr.utils import validate_active_employee + class AdditionalSalary(Document): def on_submit(self): if self.ref_doctype == "Employee Advance" and self.ref_docname: diff --git a/erpnext/payroll/doctype/additional_salary/test_additional_salary.py b/erpnext/payroll/doctype/additional_salary/test_additional_salary.py index 2a9c56179e..2ad4afef25 100644 --- a/erpnext/payroll/doctype/additional_salary/test_additional_salary.py +++ b/erpnext/payroll/doctype/additional_salary/test_additional_salary.py @@ -2,12 +2,19 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest -import frappe, erpnext -from frappe.utils import nowdate, add_days + +import frappe +from frappe.utils import add_days, nowdate + +import erpnext from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.payroll.doctype.salary_component.test_salary_component import create_salary_component -from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_employee_salary_slip, setup_test +from erpnext.payroll.doctype.salary_slip.test_salary_slip import ( + make_employee_salary_slip, + setup_test, +) from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure diff --git a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py index a1cde08a74..9983f01287 100644 --- a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py +++ b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py @@ -3,13 +3,26 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import date_diff, getdate, rounded, add_days, cstr, cint, flt from frappe.model.document import Document -from erpnext.payroll.doctype.payroll_period.payroll_period import get_payroll_period_days, get_period_factor -from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import get_assigned_salary_structure -from erpnext.hr.utils import get_sal_slip_total_benefit_given, get_holiday_dates_for_employee, get_previous_claimed_amount, validate_active_employee +from frappe.utils import add_days, cint, cstr, date_diff, getdate, rounded + +from erpnext.hr.utils import ( + get_holiday_dates_for_employee, + get_previous_claimed_amount, + get_sal_slip_total_benefit_given, + validate_active_employee, +) +from erpnext.payroll.doctype.payroll_period.payroll_period import ( + get_payroll_period_days, + get_period_factor, +) +from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import ( + get_assigned_salary_structure, +) + class EmployeeBenefitApplication(Document): def validate(self): diff --git a/erpnext/payroll/doctype/employee_benefit_application/test_employee_benefit_application.py b/erpnext/payroll/doctype/employee_benefit_application/test_employee_benefit_application.py index 34e1a8fbc1..ea05e0e0e0 100644 --- a/erpnext/payroll/doctype/employee_benefit_application/test_employee_benefit_application.py +++ b/erpnext/payroll/doctype/employee_benefit_application/test_employee_benefit_application.py @@ -2,7 +2,9 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestEmployeeBenefitApplication(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.py b/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.py index 65405feaf1..ddcbaa2061 100644 --- a/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.py +++ b/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeBenefitApplicationDetail(Document): pass diff --git a/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.py b/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.py index c6713f3aa4..7898e04cf4 100644 --- a/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.py +++ b/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.py @@ -3,14 +3,21 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt from frappe.model.document import Document -from erpnext.payroll.doctype.employee_benefit_application.employee_benefit_application import get_max_benefits +from frappe.utils import flt + from erpnext.hr.utils import get_previous_claimed_amount, validate_active_employee +from erpnext.payroll.doctype.employee_benefit_application.employee_benefit_application import ( + get_max_benefits, +) from erpnext.payroll.doctype.payroll_period.payroll_period import get_payroll_period -from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import get_assigned_salary_structure +from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import ( + get_assigned_salary_structure, +) + class EmployeeBenefitClaim(Document): def validate(self): diff --git a/erpnext/payroll/doctype/employee_benefit_claim/test_employee_benefit_claim.py b/erpnext/payroll/doctype/employee_benefit_claim/test_employee_benefit_claim.py index aff73e5c81..f3f2229fb2 100644 --- a/erpnext/payroll/doctype/employee_benefit_claim/test_employee_benefit_claim.py +++ b/erpnext/payroll/doctype/employee_benefit_claim/test_employee_benefit_claim.py @@ -2,7 +2,9 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + import unittest + class TestEmployeeBenefitClaim(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/employee_incentive/employee_incentive.py b/erpnext/payroll/doctype/employee_incentive/employee_incentive.py index 6b918ba76d..74d073668d 100644 --- a/erpnext/payroll/doctype/employee_incentive/employee_incentive.py +++ b/erpnext/payroll/doctype/employee_incentive/employee_incentive.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + from erpnext.hr.utils import validate_active_employee + class EmployeeIncentive(Document): def validate(self): validate_active_employee(self.employee) diff --git a/erpnext/payroll/doctype/employee_incentive/test_employee_incentive.py b/erpnext/payroll/doctype/employee_incentive/test_employee_incentive.py index f7597ad605..3c95fa80ec 100644 --- a/erpnext/payroll/doctype/employee_incentive/test_employee_incentive.py +++ b/erpnext/payroll/doctype/employee_incentive/test_employee_incentive.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeIncentive(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/employee_other_income/employee_other_income.py b/erpnext/payroll/doctype/employee_other_income/employee_other_income.py index ab63c0de62..73a0321c8f 100644 --- a/erpnext/payroll/doctype/employee_other_income/employee_other_income.py +++ b/erpnext/payroll/doctype/employee_other_income/employee_other_income.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeOtherIncome(Document): pass diff --git a/erpnext/payroll/doctype/employee_other_income/test_employee_other_income.py b/erpnext/payroll/doctype/employee_other_income/test_employee_other_income.py index 2eeca7a23d..5b735b37a1 100644 --- a/erpnext/payroll/doctype/employee_other_income/test_employee_other_income.py +++ b/erpnext/payroll/doctype/employee_other_income/test_employee_other_income.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestEmployeeOtherIncome(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/employee_tax_exemption_category/employee_tax_exemption_category.py b/erpnext/payroll/doctype/employee_tax_exemption_category/employee_tax_exemption_category.py index 4f705db22e..f88f551a2e 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_category/employee_tax_exemption_category.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_category/employee_tax_exemption_category.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class EmployeeTaxExemptionCategory(Document): pass diff --git a/erpnext/payroll/doctype/employee_tax_exemption_category/test_employee_tax_exemption_category.py b/erpnext/payroll/doctype/employee_tax_exemption_category/test_employee_tax_exemption_category.py index 669fb71f46..e6bc3abf12 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_category/test_employee_tax_exemption_category.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_category/test_employee_tax_exemption_category.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeTaxExemptionCategory(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.py b/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.py index e11d60a464..099ab0dcde 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.py @@ -3,13 +3,20 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document -from frappe import _ -from frappe.utils import flt from frappe.model.mapper import get_mapped_doc -from erpnext.hr.utils import validate_tax_declaration, get_total_exemption_amount, validate_active_employee, \ - calculate_annual_eligible_hra_exemption, validate_duplicate_exemption_for_payroll_period +from frappe.utils import flt + +from erpnext.hr.utils import ( + calculate_annual_eligible_hra_exemption, + get_total_exemption_amount, + validate_active_employee, + validate_duplicate_exemption_for_payroll_period, + validate_tax_declaration, +) + class EmployeeTaxExemptionDeclaration(Document): def validate(self): diff --git a/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py b/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py index 311f3527f6..b7154a4da1 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py @@ -3,11 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe, erpnext import unittest + +import frappe + +import erpnext from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.hr.utils import DuplicateDeclarationError + class TestEmployeeTaxExemptionDeclaration(unittest.TestCase): def setUp(self): make_employee("employee@taxexepmtion.com") diff --git a/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.py b/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.py index bff747f90d..2923e57333 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeTaxExemptionDeclarationCategory(Document): pass diff --git a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.py b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.py index 8131ae0fa8..f35fd3caf9 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.py @@ -3,12 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document -from frappe import _ from frappe.utils import flt -from erpnext.hr.utils import validate_tax_declaration, get_total_exemption_amount, validate_active_employee, \ - calculate_hra_exemption_for_period, validate_duplicate_exemption_for_payroll_period + +from erpnext.hr.utils import ( + calculate_hra_exemption_for_period, + get_total_exemption_amount, + validate_active_employee, + validate_duplicate_exemption_for_payroll_period, + validate_tax_declaration, +) + class EmployeeTaxExemptionProofSubmission(Document): def validate(self): diff --git a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/test_employee_tax_exemption_proof_submission.py b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/test_employee_tax_exemption_proof_submission.py index cb9ed5f971..aafc0a1321 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/test_employee_tax_exemption_proof_submission.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/test_employee_tax_exemption_proof_submission.py @@ -3,9 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration import create_exemption_category, create_payroll_period + +import frappe + +from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration import ( + create_exemption_category, + create_payroll_period, +) + class TestEmployeeTaxExemptionProofSubmission(unittest.TestCase): def setup(self): diff --git a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.py b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.py index 0244ae6646..e0a11aec16 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmployeeTaxExemptionProofSubmissionDetail(Document): pass diff --git a/erpnext/payroll/doctype/employee_tax_exemption_sub_category/employee_tax_exemption_sub_category.py b/erpnext/payroll/doctype/employee_tax_exemption_sub_category/employee_tax_exemption_sub_category.py index d3f24c9378..5948ef208b 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_sub_category/employee_tax_exemption_sub_category.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_sub_category/employee_tax_exemption_sub_category.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt from frappe.model.document import Document +from frappe.utils import flt + class EmployeeTaxExemptionSubCategory(Document): def validate(self): diff --git a/erpnext/payroll/doctype/employee_tax_exemption_sub_category/test_employee_tax_exemption_sub_category.py b/erpnext/payroll/doctype/employee_tax_exemption_sub_category/test_employee_tax_exemption_sub_category.py index 5d705567a2..0086086bde 100644 --- a/erpnext/payroll/doctype/employee_tax_exemption_sub_category/test_employee_tax_exemption_sub_category.py +++ b/erpnext/payroll/doctype/employee_tax_exemption_sub_category/test_employee_tax_exemption_sub_category.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestEmployeeTaxExemptionSubCategory(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/gratuity/gratuity.py b/erpnext/payroll/doctype/gratuity/gratuity.py index 8217bc3ae4..cc28dc4972 100644 --- a/erpnext/payroll/doctype/gratuity/gratuity.py +++ b/erpnext/payroll/doctype/gratuity/gratuity.py @@ -3,12 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from math import floor + import frappe from frappe import _, bold from frappe.utils import flt, get_datetime, get_link_to_form + from erpnext.accounts.general_ledger import make_gl_entries from erpnext.controllers.accounts_controller import AccountsController -from math import floor + class Gratuity(AccountsController): def validate(self): diff --git a/erpnext/payroll/doctype/gratuity/gratuity_dashboard.py b/erpnext/payroll/doctype/gratuity/gratuity_dashboard.py index 23c99b1cbd..1599fc2bde 100644 --- a/erpnext/payroll/doctype/gratuity/gratuity_dashboard.py +++ b/erpnext/payroll/doctype/gratuity/gratuity_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'reference_name', diff --git a/erpnext/payroll/doctype/gratuity/test_gratuity.py b/erpnext/payroll/doctype/gratuity/test_gratuity.py index 8cb47283a5..1403e9b938 100644 --- a/erpnext/payroll/doctype/gratuity/test_gratuity.py +++ b/erpnext/payroll/doctype/gratuity/test_gratuity.py @@ -3,15 +3,20 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe +from frappe.utils import add_days, flt, get_datetime, getdate + from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_employee_salary_slip, make_earning_salary_component, \ - make_deduction_salary_component -from erpnext.payroll.doctype.gratuity.gratuity import get_last_salary_slip -from erpnext.regional.united_arab_emirates.setup import create_gratuity_rule from erpnext.hr.doctype.expense_claim.test_expense_claim import get_payable_account -from frappe.utils import getdate, add_days, get_datetime, flt +from erpnext.payroll.doctype.gratuity.gratuity import get_last_salary_slip +from erpnext.payroll.doctype.salary_slip.test_salary_slip import ( + make_deduction_salary_component, + make_earning_salary_component, + make_employee_salary_slip, +) +from erpnext.regional.united_arab_emirates.setup import create_gratuity_rule test_dependencies = ["Salary Component", "Salary Slip", "Account"] class TestGratuity(unittest.TestCase): diff --git a/erpnext/payroll/doctype/gratuity_applicable_component/gratuity_applicable_component.py b/erpnext/payroll/doctype/gratuity_applicable_component/gratuity_applicable_component.py index 23e4340b04..d76b26d05f 100644 --- a/erpnext/payroll/doctype/gratuity_applicable_component/gratuity_applicable_component.py +++ b/erpnext/payroll/doctype/gratuity_applicable_component/gratuity_applicable_component.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class GratuityApplicableComponent(Document): pass diff --git a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py index 29a6ebe1a6..28159bb06b 100644 --- a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py +++ b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document + class GratuityRule(Document): diff --git a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule_dashboard.py b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule_dashboard.py index 0f27315cfb..60dcfa4529 100644 --- a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule_dashboard.py +++ b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'gratuity_rule', diff --git a/erpnext/payroll/doctype/gratuity_rule/test_gratuity_rule.py b/erpnext/payroll/doctype/gratuity_rule/test_gratuity_rule.py index 1f5dc4e571..c81d7b7b9e 100644 --- a/erpnext/payroll/doctype/gratuity_rule/test_gratuity_rule.py +++ b/erpnext/payroll/doctype/gratuity_rule/test_gratuity_rule.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestGratuityRule(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/gratuity_rule_slab/gratuity_rule_slab.py b/erpnext/payroll/doctype/gratuity_rule_slab/gratuity_rule_slab.py index fa468e77be..dcd7e46865 100644 --- a/erpnext/payroll/doctype/gratuity_rule_slab/gratuity_rule_slab.py +++ b/erpnext/payroll/doctype/gratuity_rule_slab/gratuity_rule_slab.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class GratuityRuleSlab(Document): pass diff --git a/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.py b/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.py index 81e364778c..f778fd90e1 100644 --- a/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.py +++ b/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.py @@ -3,9 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + +from frappe.model.document import Document + #import frappe import erpnext -from frappe.model.document import Document + class IncomeTaxSlab(Document): def validate(self): diff --git a/erpnext/payroll/doctype/income_tax_slab/test_income_tax_slab.py b/erpnext/payroll/doctype/income_tax_slab/test_income_tax_slab.py index deaaf650a9..d76299049d 100644 --- a/erpnext/payroll/doctype/income_tax_slab/test_income_tax_slab.py +++ b/erpnext/payroll/doctype/income_tax_slab/test_income_tax_slab.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestIncomeTaxSlab(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.py b/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.py index b4098ecbf3..3314677485 100644 --- a/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.py +++ b/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class IncomeTaxSlabOtherCharges(Document): pass diff --git a/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.py b/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.py index aeb11fd7e2..074d223224 100644 --- a/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.py +++ b/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class PayrollEmployeeDetail(Document): pass diff --git a/erpnext/payroll/doctype/payroll_entry/payroll_entry.py b/erpnext/payroll/doctype/payroll_entry/payroll_entry.py index 13cc423fc2..f1557c78a3 100644 --- a/erpnext/payroll/doctype/payroll_entry/payroll_entry.py +++ b/erpnext/payroll/doctype/payroll_entry/payroll_entry.py @@ -3,15 +3,30 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.model.document import Document + +import frappe from dateutil.relativedelta import relativedelta -from frappe.utils import cint, flt, add_days, getdate, add_to_date, DATE_FORMAT, date_diff, comma_and from frappe import _ +from frappe.desk.reportview import get_filters_cond, get_match_cond +from frappe.model.document import Document +from frappe.utils import ( + DATE_FORMAT, + add_days, + add_to_date, + cint, + comma_and, + date_diff, + flt, + getdate, +) + +import erpnext +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + get_accounting_dimensions, +) from erpnext.accounts.utils import get_fiscal_year from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee -from frappe.desk.reportview import get_match_cond, get_filters_cond -from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions + class PayrollEntry(Document): def onload(self): @@ -529,7 +544,8 @@ def get_end_date(start_date, frequency): def get_month_details(year, month): ysd = frappe.db.get_value("Fiscal Year", year, "year_start_date") if ysd: - import calendar, datetime + import calendar + import datetime diff_mnt = cint(month)-cint(ysd.month) if diff_mnt<0: diff_mnt = 12-int(ysd.month)+cint(month) diff --git a/erpnext/payroll/doctype/payroll_entry/payroll_entry_dashboard.py b/erpnext/payroll/doctype/payroll_entry/payroll_entry_dashboard.py index 0346a7cc59..16e44d0868 100644 --- a/erpnext/payroll/doctype/payroll_entry/payroll_entry_dashboard.py +++ b/erpnext/payroll/doctype/payroll_entry/payroll_entry_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py b/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py index b80b32061f..dd0e127080 100644 --- a/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py +++ b/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py @@ -1,19 +1,37 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest -import erpnext + import frappe from dateutil.relativedelta import relativedelta -from erpnext.accounts.utils import get_fiscal_year, getdate, nowdate from frappe.utils import add_months -from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_start_end_dates, get_end_date + +import erpnext +from erpnext.accounts.utils import get_fiscal_year, getdate, nowdate from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.payroll.doctype.salary_slip.test_salary_slip import get_salary_component_account, \ - make_earning_salary_component, make_deduction_salary_component, create_account, make_employee_salary_slip -from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure, create_salary_structure_assignment -from erpnext.loan_management.doctype.loan.test_loan import create_loan, make_loan_disbursement_entry, create_loan_type, create_loan_accounts -from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_term_loans +from erpnext.loan_management.doctype.loan.test_loan import ( + create_loan, + create_loan_accounts, + create_loan_type, + make_loan_disbursement_entry, +) +from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_term_loans, +) +from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_end_date, get_start_end_dates +from erpnext.payroll.doctype.salary_slip.test_salary_slip import ( + create_account, + get_salary_component_account, + make_deduction_salary_component, + make_earning_salary_component, + make_employee_salary_slip, +) +from erpnext.payroll.doctype.salary_structure.test_salary_structure import ( + create_salary_structure_assignment, + make_salary_structure, +) test_dependencies = ['Holiday List'] diff --git a/erpnext/payroll/doctype/payroll_period/payroll_period.py b/erpnext/payroll/doctype/payroll_period/payroll_period.py index 66dec075d8..0de8d63df7 100644 --- a/erpnext/payroll/doctype/payroll_period/payroll_period.py +++ b/erpnext/payroll/doctype/payroll_period/payroll_period.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import date_diff, getdate, formatdate, cint, month_diff, flt, add_months from frappe.model.document import Document +from frappe.utils import add_months, cint, date_diff, flt, formatdate, getdate, month_diff + from erpnext.hr.utils import get_holiday_dates_for_employee + class PayrollPeriod(Document): def validate(self): self.validate_dates() diff --git a/erpnext/payroll/doctype/payroll_period/payroll_period_dashboard.py b/erpnext/payroll/doctype/payroll_period/payroll_period_dashboard.py index e33299559c..4105d8ee92 100644 --- a/erpnext/payroll/doctype/payroll_period/payroll_period_dashboard.py +++ b/erpnext/payroll/doctype/payroll_period/payroll_period_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/payroll/doctype/payroll_period/test_payroll_period.py b/erpnext/payroll/doctype/payroll_period/test_payroll_period.py index d06dc739a6..e93c0e524d 100644 --- a/erpnext/payroll/doctype/payroll_period/test_payroll_period.py +++ b/erpnext/payroll/doctype/payroll_period/test_payroll_period.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestPayrollPeriod(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/payroll_period_date/payroll_period_date.py b/erpnext/payroll/doctype/payroll_period_date/payroll_period_date.py index a3ee269d8e..fa6835da53 100644 --- a/erpnext/payroll/doctype/payroll_period_date/payroll_period_date.py +++ b/erpnext/payroll/doctype/payroll_period_date/payroll_period_date.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PayrollPeriodDate(Document): pass diff --git a/erpnext/payroll/doctype/payroll_settings/payroll_settings.py b/erpnext/payroll/doctype/payroll_settings/payroll_settings.py index 459b7eacb4..b85d5545d0 100644 --- a/erpnext/payroll/doctype/payroll_settings/payroll_settings.py +++ b/erpnext/payroll/doctype/payroll_settings/payroll_settings.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe +from frappe import _ +from frappe.custom.doctype.property_setter.property_setter import make_property_setter from frappe.model.document import Document from frappe.utils import cint -from frappe.custom.doctype.property_setter.property_setter import make_property_setter -from frappe import _ + class PayrollSettings(Document): def validate(self): diff --git a/erpnext/payroll/doctype/payroll_settings/test_payroll_settings.py b/erpnext/payroll/doctype/payroll_settings/test_payroll_settings.py index 314866e128..30a6a332b7 100644 --- a/erpnext/payroll/doctype/payroll_settings/test_payroll_settings.py +++ b/erpnext/payroll/doctype/payroll_settings/test_payroll_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestPayrollSettings(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/retention_bonus/retention_bonus.py b/erpnext/payroll/doctype/retention_bonus/retention_bonus.py index 055bea7410..7e731e7fce 100644 --- a/erpnext/payroll/doctype/retention_bonus/retention_bonus.py +++ b/erpnext/payroll/doctype/retention_bonus/retention_bonus.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document from frappe.utils import getdate + from erpnext.hr.utils import validate_active_employee + + class RetentionBonus(Document): def validate(self): validate_active_employee(self.employee) diff --git a/erpnext/payroll/doctype/retention_bonus/test_retention_bonus.py b/erpnext/payroll/doctype/retention_bonus/test_retention_bonus.py index eef4f1444e..a380d9fb44 100644 --- a/erpnext/payroll/doctype/retention_bonus/test_retention_bonus.py +++ b/erpnext/payroll/doctype/retention_bonus/test_retention_bonus.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestRetentionBonus(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/salary_component/salary_component.py b/erpnext/payroll/doctype/salary_component/salary_component.py index 7c926314a2..761d4436f3 100644 --- a/erpnext/payroll/doctype/salary_component/salary_component.py +++ b/erpnext/payroll/doctype/salary_component/salary_component.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document from frappe.model.naming import append_number_if_name_exists + class SalaryComponent(Document): def validate(self): self.validate_abbr() diff --git a/erpnext/payroll/doctype/salary_component/test_salary_component.py b/erpnext/payroll/doctype/salary_component/test_salary_component.py index 4f7db0c71c..939fa4aade 100644 --- a/erpnext/payroll/doctype/salary_component/test_salary_component.py +++ b/erpnext/payroll/doctype/salary_component/test_salary_component.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + # test_records = frappe.get_test_records('Salary Component') class TestSalaryComponent(unittest.TestCase): diff --git a/erpnext/payroll/doctype/salary_detail/salary_detail.py b/erpnext/payroll/doctype/salary_detail/salary_detail.py index 0b187543d4..50d1958cae 100644 --- a/erpnext/payroll/doctype/salary_detail/salary_detail.py +++ b/erpnext/payroll/doctype/salary_detail/salary_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SalaryDetail(Document): pass diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.py b/erpnext/payroll/doctype/salary_slip/salary_slip.py index 37a0b60052..8c48345d8f 100644 --- a/erpnext/payroll/doctype/salary_slip/salary_slip.py +++ b/erpnext/payroll/doctype/salary_slip/salary_slip.py @@ -2,27 +2,51 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -import datetime, math -from frappe.utils import add_days, cint, cstr, flt, getdate, rounded, date_diff, money_in_words, formatdate, get_first_day +import datetime +import math + +import frappe +from frappe import _, msgprint from frappe.model.naming import make_autoname - -from frappe import msgprint, _ -from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_start_end_dates -from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee -from erpnext.hr.utils import get_holiday_dates_for_employee -from erpnext.utilities.transaction_base import TransactionBase +from frappe.utils import ( + add_days, + cint, + cstr, + date_diff, + flt, + formatdate, + get_first_day, + getdate, + money_in_words, + rounded, +) from frappe.utils.background_jobs import enqueue -from erpnext.payroll.doctype.additional_salary.additional_salary import get_additional_salaries -from erpnext.payroll.doctype.payroll_period.payroll_period import get_period_factor, get_payroll_period -from erpnext.payroll.doctype.employee_benefit_application.employee_benefit_application import get_benefit_component_amount -from erpnext.payroll.doctype.employee_benefit_claim.employee_benefit_claim import get_benefit_claim_amount, get_last_payroll_period_benefits -from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts, create_repayment_entry -from erpnext.accounts.utils import get_fiscal_year -from erpnext.hr.utils import validate_active_employee from six import iteritems +import erpnext +from erpnext.accounts.utils import get_fiscal_year +from erpnext.hr.utils import get_holiday_dates_for_employee, validate_active_employee +from erpnext.loan_management.doctype.loan_repayment.loan_repayment import ( + calculate_amounts, + create_repayment_entry, +) +from erpnext.payroll.doctype.additional_salary.additional_salary import get_additional_salaries +from erpnext.payroll.doctype.employee_benefit_application.employee_benefit_application import ( + get_benefit_component_amount, +) +from erpnext.payroll.doctype.employee_benefit_claim.employee_benefit_claim import ( + get_benefit_claim_amount, + get_last_payroll_period_benefits, +) +from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_start_end_dates +from erpnext.payroll.doctype.payroll_period.payroll_period import ( + get_payroll_period, + get_period_factor, +) +from erpnext.utilities.transaction_base import TransactionBase + + class SalarySlip(TransactionBase): def __init__(self, *args, **kwargs): super(SalarySlip, self).__init__(*args, **kwargs) diff --git a/erpnext/payroll/doctype/salary_slip/test_salary_slip.py b/erpnext/payroll/doctype/salary_slip/test_salary_slip.py index 636ec0b5a6..480daa2595 100644 --- a/erpnext/payroll/doctype/salary_slip/test_salary_slip.py +++ b/erpnext/payroll/doctype/salary_slip/test_salary_slip.py @@ -2,20 +2,34 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import unittest -import frappe -import erpnext import calendar import random +import unittest + +import frappe +from frappe.utils import ( + add_days, + add_months, + cstr, + flt, + get_first_day, + get_last_day, + getdate, + nowdate, +) + +import erpnext from erpnext.accounts.utils import get_fiscal_year -from frappe.utils import getdate, nowdate, add_days, add_months, flt, get_first_day, get_last_day, cstr -from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip -from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_month_details from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.hr.doctype.leave_allocation.test_leave_allocation import create_leave_allocation from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type -from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration \ - import create_payroll_period, create_exemption_category +from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration import ( + create_exemption_category, + create_payroll_period, +) +from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_month_details +from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip + class TestSalarySlip(unittest.TestCase): def setUp(self): @@ -154,7 +168,9 @@ class TestSalarySlip(unittest.TestCase): self.assertEqual(ss.gross_pay, 78000) def test_payment_days(self): - from erpnext.payroll.doctype.salary_structure.test_salary_structure import create_salary_structure_assignment + from erpnext.payroll.doctype.salary_structure.test_salary_structure import ( + create_salary_structure_assignment, + ) no_of_days = self.get_no_of_days() # Holidays not included in working days @@ -231,8 +247,15 @@ class TestSalarySlip(unittest.TestCase): self.assertTrue(email_queue) def test_loan_repayment_salary_slip(self): - from erpnext.loan_management.doctype.loan.test_loan import create_loan_type, create_loan, make_loan_disbursement_entry, create_loan_accounts - from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_term_loans + from erpnext.loan_management.doctype.loan.test_loan import ( + create_loan, + create_loan_accounts, + create_loan_type, + make_loan_disbursement_entry, + ) + from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import ( + process_loan_interest_accrual_for_term_loans, + ) from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure applicant = make_employee("test_loan_repayment_salary_slip@salary.com", company="_Test Company") @@ -386,8 +409,7 @@ class TestSalarySlip(unittest.TestCase): for doc in delete_docs: frappe.db.sql("delete from `tab%s` where employee='%s'" % (doc, employee)) - from erpnext.payroll.doctype.salary_structure.test_salary_structure import \ - make_salary_structure, create_salary_structure_assignment + from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure salary_structure = make_salary_structure("Stucture to test tax", "Monthly", other_details={"max_benefits": 100000}, test_tax=True, diff --git a/erpnext/payroll/doctype/salary_slip_leave/salary_slip_leave.py b/erpnext/payroll/doctype/salary_slip_leave/salary_slip_leave.py index 7a92bf18f7..fc8282b82b 100644 --- a/erpnext/payroll/doctype/salary_slip_leave/salary_slip_leave.py +++ b/erpnext/payroll/doctype/salary_slip_leave/salary_slip_leave.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class SalarySlipLeave(Document): pass diff --git a/erpnext/payroll/doctype/salary_slip_timesheet/salary_slip_timesheet.py b/erpnext/payroll/doctype/salary_slip_timesheet/salary_slip_timesheet.py index 7adb12e83a..79c4c6e571 100644 --- a/erpnext/payroll/doctype/salary_slip_timesheet/salary_slip_timesheet.py +++ b/erpnext/payroll/doctype/salary_slip_timesheet/salary_slip_timesheet.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class SalarySlipTimesheet(Document): pass diff --git a/erpnext/payroll/doctype/salary_structure/salary_structure.py b/erpnext/payroll/doctype/salary_structure/salary_structure.py index 6dfb3a57d5..ef401b2d1a 100644 --- a/erpnext/payroll/doctype/salary_structure/salary_structure.py +++ b/erpnext/payroll/doctype/salary_structure/salary_structure.py @@ -2,13 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import flt, cint, cstr +import frappe from frappe import _ -from frappe.model.mapper import get_mapped_doc from frappe.model.document import Document -from six import iteritems +from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, cstr, flt + +import erpnext + class SalaryStructure(Document): def validate(self): diff --git a/erpnext/payroll/doctype/salary_structure/salary_structure_dashboard.py b/erpnext/payroll/doctype/salary_structure/salary_structure_dashboard.py index 0159e3530f..11d9a94409 100644 --- a/erpnext/payroll/doctype/salary_structure/salary_structure_dashboard.py +++ b/erpnext/payroll/doctype/salary_structure/salary_structure_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/payroll/doctype/salary_structure/test_salary_structure.py b/erpnext/payroll/doctype/salary_structure/test_salary_structure.py index 3957d834d3..ff4a55e29c 100644 --- a/erpnext/payroll/doctype/salary_structure/test_salary_structure.py +++ b/erpnext/payroll/doctype/salary_structure/test_salary_structure.py @@ -2,17 +2,24 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -import erpnext -from frappe.utils.make_random import get_random -from frappe.utils import nowdate, add_years, get_first_day, date_diff -from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip -from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_earning_salary_component,\ - make_deduction_salary_component, make_employee_salary_slip, create_tax_slab -from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration import create_payroll_period +import frappe +from frappe.utils import add_years, date_diff, get_first_day, nowdate +from frappe.utils.make_random import get_random + +import erpnext +from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration import ( + create_payroll_period, +) +from erpnext.payroll.doctype.salary_slip.test_salary_slip import ( + create_tax_slab, + make_deduction_salary_component, + make_earning_salary_component, + make_employee_salary_slip, +) +from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip test_dependencies = ["Fiscal Year"] diff --git a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py index 5fb3ce2a98..385cf36b7f 100644 --- a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py +++ b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate from frappe.model.document import Document +from frappe.utils import getdate + class DuplicateAssignment(frappe.ValidationError): pass diff --git a/erpnext/payroll/doctype/salary_structure_assignment/test_salary_structure_assignment.py b/erpnext/payroll/doctype/salary_structure_assignment/test_salary_structure_assignment.py index a9833bf733..fbb894c43e 100644 --- a/erpnext/payroll/doctype/salary_structure_assignment/test_salary_structure_assignment.py +++ b/erpnext/payroll/doctype/salary_structure_assignment/test_salary_structure_assignment.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestSalaryStructureAssignment(unittest.TestCase): pass diff --git a/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.py b/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.py index 49c52557db..c0827c445d 100644 --- a/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.py +++ b/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TaxableSalarySlab(Document): pass diff --git a/erpnext/payroll/notification/retention_bonus/retention_bonus.py b/erpnext/payroll/notification/retention_bonus/retention_bonus.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/payroll/notification/retention_bonus/retention_bonus.py +++ b/erpnext/payroll/notification/retention_bonus/retention_bonus.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/payroll/report/bank_remittance/bank_remittance.py b/erpnext/payroll/report/bank_remittance/bank_remittance.py index 05a5366a5c..d55317e71e 100644 --- a/erpnext/payroll/report/bank_remittance/bank_remittance.py +++ b/erpnext/payroll/report/bank_remittance/bank_remittance.py @@ -2,11 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import formatdate -import itertools from frappe import _, get_all + def execute(filters=None): columns = [ { diff --git a/erpnext/payroll/report/income_tax_deductions/income_tax_deductions.py b/erpnext/payroll/report/income_tax_deductions/income_tax_deductions.py index 8a79416edb..296a7c233f 100644 --- a/erpnext/payroll/report/income_tax_deductions/income_tax_deductions.py +++ b/erpnext/payroll/report/income_tax_deductions/income_tax_deductions.py @@ -2,9 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ +import erpnext + + def execute(filters=None): data = get_data(filters) columns = get_columns(filters) if len(data) else [] diff --git a/erpnext/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py b/erpnext/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py index a0dab63654..57ea1b3c28 100644 --- a/erpnext/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py +++ b/erpnext/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py @@ -2,9 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from erpnext.regional.report.provident_fund_deductions.provident_fund_deductions import get_conditions + +import erpnext +from erpnext.regional.report.provident_fund_deductions.provident_fund_deductions import ( + get_conditions, +) + def execute(filters=None): mode_of_payments = get_payment_modes() diff --git a/erpnext/payroll/report/salary_payments_via_ecs/salary_payments_via_ecs.py b/erpnext/payroll/report/salary_payments_via_ecs/salary_payments_via_ecs.py index d09745c37b..bc8fd9d40b 100644 --- a/erpnext/payroll/report/salary_payments_via_ecs/salary_payments_via_ecs.py +++ b/erpnext/payroll/report/salary_payments_via_ecs/salary_payments_via_ecs.py @@ -2,9 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ +import erpnext + + def execute(filters=None): columns = get_columns(filters) data = get_data(filters) diff --git a/erpnext/payroll/report/salary_register/salary_register.py b/erpnext/payroll/report/salary_register/salary_register.py index a1b1a8c56b..2a9dad66e2 100644 --- a/erpnext/payroll/report/salary_register/salary_register.py +++ b/erpnext/payroll/report/salary_register/salary_register.py @@ -2,9 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import flt + +import frappe from frappe import _ +from frappe.utils import flt + +import erpnext + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/portal/doctype/homepage/homepage.py b/erpnext/portal/doctype/homepage/homepage.py index 54ea7c62df..7eeaf4b80a 100644 --- a/erpnext/portal/doctype/homepage/homepage.py +++ b/erpnext/portal/doctype/homepage/homepage.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document from frappe.website.utils import delete_page_cache + class Homepage(Document): def validate(self): if not self.description: diff --git a/erpnext/portal/doctype/homepage/test_homepage.py b/erpnext/portal/doctype/homepage/test_homepage.py index e646775ab3..bc8a828247 100644 --- a/erpnext/portal/doctype/homepage/test_homepage.py +++ b/erpnext/portal/doctype/homepage/test_homepage.py @@ -3,11 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import set_request from frappe.website.serve import get_response + class TestHomepage(unittest.TestCase): def test_homepage_load(self): set_request(method='GET', path='home') diff --git a/erpnext/portal/doctype/homepage_featured_product/homepage_featured_product.py b/erpnext/portal/doctype/homepage_featured_product/homepage_featured_product.py index 936e07d34e..8e8f77605e 100644 --- a/erpnext/portal/doctype/homepage_featured_product/homepage_featured_product.py +++ b/erpnext/portal/doctype/homepage_featured_product/homepage_featured_product.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class HomepageFeaturedProduct(Document): pass diff --git a/erpnext/portal/doctype/homepage_section/homepage_section.py b/erpnext/portal/doctype/homepage_section/homepage_section.py index 1ed703050b..081786126e 100644 --- a/erpnext/portal/doctype/homepage_section/homepage_section.py +++ b/erpnext/portal/doctype/homepage_section/homepage_section.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document from frappe.utils import cint + class HomepageSection(Document): @property def column_value(self): diff --git a/erpnext/portal/doctype/homepage_section/test_homepage_section.py b/erpnext/portal/doctype/homepage_section/test_homepage_section.py index 5bb9682bc5..6fb7d0a6f0 100644 --- a/erpnext/portal/doctype/homepage_section/test_homepage_section.py +++ b/erpnext/portal/doctype/homepage_section/test_homepage_section.py @@ -3,12 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from bs4 import BeautifulSoup from frappe.utils import set_request from frappe.website.serve import get_response + class TestHomepageSection(unittest.TestCase): def test_homepage_section_card(self): try: diff --git a/erpnext/portal/doctype/homepage_section_card/homepage_section_card.py b/erpnext/portal/doctype/homepage_section_card/homepage_section_card.py index bd17279f99..b71045207c 100644 --- a/erpnext/portal/doctype/homepage_section_card/homepage_section_card.py +++ b/erpnext/portal/doctype/homepage_section_card/homepage_section_card.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class HomepageSectionCard(Document): pass diff --git a/erpnext/portal/doctype/products_settings/products_settings.py b/erpnext/portal/doctype/products_settings/products_settings.py index 9a708924ae..d4f09b9c8c 100644 --- a/erpnext/portal/doctype/products_settings/products_settings.py +++ b/erpnext/portal/doctype/products_settings/products_settings.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cint from frappe import _ from frappe.model.document import Document +from frappe.utils import cint + class ProductsSettings(Document): def validate(self): diff --git a/erpnext/portal/doctype/products_settings/test_products_settings.py b/erpnext/portal/doctype/products_settings/test_products_settings.py index d04a009882..5495cc9d96 100644 --- a/erpnext/portal/doctype/products_settings/test_products_settings.py +++ b/erpnext/portal/doctype/products_settings/test_products_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestProductsSettings(unittest.TestCase): pass diff --git a/erpnext/portal/doctype/website_attribute/website_attribute.py b/erpnext/portal/doctype/website_attribute/website_attribute.py index b8b667a613..f9ba733b85 100644 --- a/erpnext/portal/doctype/website_attribute/website_attribute.py +++ b/erpnext/portal/doctype/website_attribute/website_attribute.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class WebsiteAttribute(Document): pass diff --git a/erpnext/portal/doctype/website_filter_field/website_filter_field.py b/erpnext/portal/doctype/website_filter_field/website_filter_field.py index 2aa8a6f98d..335d4575b6 100644 --- a/erpnext/portal/doctype/website_filter_field/website_filter_field.py +++ b/erpnext/portal/doctype/website_filter_field/website_filter_field.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class WebsiteFilterField(Document): pass diff --git a/erpnext/portal/product_configurator/item_variants_cache.py b/erpnext/portal/product_configurator/item_variants_cache.py index fc294ce58b..636ae8d491 100644 --- a/erpnext/portal/product_configurator/item_variants_cache.py +++ b/erpnext/portal/product_configurator/item_variants_cache.py @@ -1,5 +1,6 @@ import frappe + class ItemVariantsCacheManager: def __init__(self, item_code): self.item_code = item_code diff --git a/erpnext/portal/product_configurator/test_product_configurator.py b/erpnext/portal/product_configurator/test_product_configurator.py index ec7c83aa39..5db74f2c40 100644 --- a/erpnext/portal/product_configurator/test_product_configurator.py +++ b/erpnext/portal/product_configurator/test_product_configurator.py @@ -1,8 +1,11 @@ from __future__ import unicode_literals +import unittest + +import frappe from bs4 import BeautifulSoup -import frappe, unittest from frappe.utils import get_html_for_route + from erpnext.portal.product_configurator.utils import get_products_for_website test_dependencies = ["Item"] diff --git a/erpnext/portal/product_configurator/utils.py b/erpnext/portal/product_configurator/utils.py index d60b1a2b05..cf623c8d42 100644 --- a/erpnext/portal/product_configurator/utils.py +++ b/erpnext/portal/product_configurator/utils.py @@ -1,8 +1,10 @@ import frappe from frappe.utils import cint + from erpnext.portal.product_configurator.item_variants_cache import ItemVariantsCacheManager -from erpnext.shopping_cart.product_info import get_product_info_for_website from erpnext.setup.doctype.item_group.item_group import get_child_groups +from erpnext.shopping_cart.product_info import get_product_info_for_website + def get_field_filter_data(): product_settings = get_product_settings() diff --git a/erpnext/portal/utils.py b/erpnext/portal/utils.py index d6d4469420..bae8f353b3 100644 --- a/erpnext/portal/utils.py +++ b/erpnext/portal/utils.py @@ -1,9 +1,14 @@ from __future__ import unicode_literals + import frappe -from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import get_shopping_cart_settings -from erpnext.shopping_cart.cart import get_debtors_account from frappe.utils.nestedset import get_root_of +from erpnext.shopping_cart.cart import get_debtors_account +from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + get_shopping_cart_settings, +) + + def set_default_role(doc, method): '''Set customer, supplier, student, guardian based on email''' if frappe.flags.setting_role or frappe.flags.in_migrate: diff --git a/erpnext/projects/doctype/activity_cost/activity_cost.py b/erpnext/projects/doctype/activity_cost/activity_cost.py index 99226ea581..e210324862 100644 --- a/erpnext/projects/doctype/activity_cost/activity_cost.py +++ b/erpnext/projects/doctype/activity_cost/activity_cost.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class DuplicationError(frappe.ValidationError): pass class ActivityCost(Document): diff --git a/erpnext/projects/doctype/activity_cost/test_activity_cost.py b/erpnext/projects/doctype/activity_cost/test_activity_cost.py index 5f35f299b3..c031f3ceda 100644 --- a/erpnext/projects/doctype/activity_cost/test_activity_cost.py +++ b/erpnext/projects/doctype/activity_cost/test_activity_cost.py @@ -3,11 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + from erpnext.projects.doctype.activity_cost.activity_cost import DuplicationError + class TestActivityCost(unittest.TestCase): def test_duplication(self): frappe.db.sql("delete from `tabActivity Cost`") diff --git a/erpnext/projects/doctype/activity_type/activity_type.py b/erpnext/projects/doctype/activity_type/activity_type.py index 50e18ef4de..4c94fe4565 100644 --- a/erpnext/projects/doctype/activity_type/activity_type.py +++ b/erpnext/projects/doctype/activity_type/activity_type.py @@ -2,7 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class ActivityType(Document): pass diff --git a/erpnext/projects/doctype/activity_type/test_activity_type.py b/erpnext/projects/doctype/activity_type/test_activity_type.py index dcb01018de..02619af7ab 100644 --- a/erpnext/projects/doctype/activity_type/test_activity_type.py +++ b/erpnext/projects/doctype/activity_type/test_activity_type.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Activity Type') diff --git a/erpnext/projects/doctype/dependent_task/dependent_task.py b/erpnext/projects/doctype/dependent_task/dependent_task.py index 90a96ac1b7..3f62cef705 100644 --- a/erpnext/projects/doctype/dependent_task/dependent_task.py +++ b/erpnext/projects/doctype/dependent_task/dependent_task.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class DependentTask(Document): pass diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py index 1e4b2b0b86..2a8870b230 100644 --- a/erpnext/projects/doctype/project/project.py +++ b/erpnext/projects/doctype/project/project.py @@ -2,19 +2,20 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe import _ -from six import iteritems from email_reply_parser import EmailReplyParser -from frappe.utils import (flt, getdate, get_url, now, - nowtime, get_time, today, get_datetime, add_days) -from erpnext.controllers.queries import get_filters_cond +from frappe import _ from frappe.desk.reportview import get_match_cond +from frappe.model.document import Document +from frappe.utils import add_days, flt, get_datetime, get_time, get_url, nowtime, today + +from erpnext.controllers.employee_boarding_controller import update_employee_boarding_status +from erpnext.controllers.queries import get_filters_cond +from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list from erpnext.hr.doctype.daily_work_summary.daily_work_summary import get_users_email from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday -from frappe.model.document import Document -from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list -from erpnext.controllers.employee_boarding_controller import update_employee_boarding_status + class Project(Document): def get_feed(self): diff --git a/erpnext/projects/doctype/project/project_dashboard.py b/erpnext/projects/doctype/project/project_dashboard.py index 39cf016d61..64fbbf5eba 100644 --- a/erpnext/projects/doctype/project/project_dashboard.py +++ b/erpnext/projects/doctype/project/project_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/projects/doctype/project/test_project.py b/erpnext/projects/doctype/project/test_project.py index 70139c6da8..ebc132626c 100644 --- a/erpnext/projects/doctype/project/test_project.py +++ b/erpnext/projects/doctype/project/test_project.py @@ -2,9 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals +import unittest -import frappe, unittest -from frappe.utils import getdate, nowdate, add_days +import frappe +from frappe.utils import add_days, getdate, nowdate from erpnext.projects.doctype.project_template.test_project_template import make_project_template from erpnext.projects.doctype.task.test_task import create_task diff --git a/erpnext/projects/doctype/project_template/project_template.py b/erpnext/projects/doctype/project_template/project_template.py index 2426fd2af8..493ce5b07c 100644 --- a/erpnext/projects/doctype/project_template/project_template.py +++ b/erpnext/projects/doctype/project_template/project_template.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document from frappe.utils import get_link_to_form + class ProjectTemplate(Document): def validate(self): diff --git a/erpnext/projects/doctype/project_template/project_template_dashboard.py b/erpnext/projects/doctype/project_template/project_template_dashboard.py index 67f74f54f0..8eeaa8d6bd 100644 --- a/erpnext/projects/doctype/project_template/project_template_dashboard.py +++ b/erpnext/projects/doctype/project_template/project_template_dashboard.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals + def get_data(): return { 'fieldname': 'project_template', diff --git a/erpnext/projects/doctype/project_template/test_project_template.py b/erpnext/projects/doctype/project_template/test_project_template.py index d546fd09a3..f71984f3a4 100644 --- a/erpnext/projects/doctype/project_template/test_project_template.py +++ b/erpnext/projects/doctype/project_template/test_project_template.py @@ -3,10 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + from erpnext.projects.doctype.task.test_task import create_task + class TestProjectTemplate(unittest.TestCase): pass diff --git a/erpnext/projects/doctype/project_template_task/project_template_task.py b/erpnext/projects/doctype/project_template_task/project_template_task.py index 57bc4f1835..e086141988 100644 --- a/erpnext/projects/doctype/project_template_task/project_template_task.py +++ b/erpnext/projects/doctype/project_template_task/project_template_task.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ProjectTemplateTask(Document): pass diff --git a/erpnext/projects/doctype/project_type/project_type.py b/erpnext/projects/doctype/project_type/project_type.py index 36137ca018..1089483cb3 100644 --- a/erpnext/projects/doctype/project_type/project_type.py +++ b/erpnext/projects/doctype/project_type/project_type.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.model.document import Document + import frappe from frappe import _ +from frappe.model.document import Document + class ProjectType(Document): def on_trash(self): diff --git a/erpnext/projects/doctype/project_type/test_project_type.py b/erpnext/projects/doctype/project_type/test_project_type.py index ee23390f53..a79020f14f 100644 --- a/erpnext/projects/doctype/project_type/test_project_type.py +++ b/erpnext/projects/doctype/project_type/test_project_type.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestProjectType(unittest.TestCase): pass diff --git a/erpnext/projects/doctype/project_update/project_update.py b/erpnext/projects/doctype/project_update/project_update.py index 2e1ec746ed..147e591f8f 100644 --- a/erpnext/projects/doctype/project_update/project_update.py +++ b/erpnext/projects/doctype/project_update/project_update.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class ProjectUpdate(Document): pass diff --git a/erpnext/projects/doctype/project_update/test_project_update.py b/erpnext/projects/doctype/project_update/test_project_update.py index 2edd2f85a3..1596603979 100644 --- a/erpnext/projects/doctype/project_update/test_project_update.py +++ b/erpnext/projects/doctype/project_update/test_project_update.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestProjectUpdate(unittest.TestCase): pass diff --git a/erpnext/projects/doctype/project_user/project_user.py b/erpnext/projects/doctype/project_user/project_user.py index 3198f3b089..7abe9459f2 100644 --- a/erpnext/projects/doctype/project_user/project_user.py +++ b/erpnext/projects/doctype/project_user/project_user.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProjectUser(Document): pass diff --git a/erpnext/projects/doctype/projects_settings/projects_settings.py b/erpnext/projects/doctype/projects_settings/projects_settings.py index 9dcac14f9a..88bb247a3c 100644 --- a/erpnext/projects/doctype/projects_settings/projects_settings.py +++ b/erpnext/projects/doctype/projects_settings/projects_settings.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProjectsSettings(Document): pass diff --git a/erpnext/projects/doctype/projects_settings/test_projects_settings.py b/erpnext/projects/doctype/projects_settings/test_projects_settings.py index d671da73b7..326624686d 100644 --- a/erpnext/projects/doctype/projects_settings/test_projects_settings.py +++ b/erpnext/projects/doctype/projects_settings/test_projects_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestProjectsSettings(unittest.TestCase): pass diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py index 5976e016fa..6b9062297e 100755 --- a/erpnext/projects/doctype/task/task.py +++ b/erpnext/projects/doctype/task/task.py @@ -9,7 +9,7 @@ import frappe from frappe import _, throw from frappe.desk.form.assign_to import clear, close_all_assignments from frappe.model.mapper import get_mapped_doc -from frappe.utils import add_days, cstr, date_diff, get_link_to_form, getdate, today, flt +from frappe.utils import add_days, cstr, date_diff, flt, get_link_to_form, getdate, today from frappe.utils.nestedset import NestedSet diff --git a/erpnext/projects/doctype/task/test_task.py b/erpnext/projects/doctype/task/test_task.py index 0fad5e8807..41a9c168df 100644 --- a/erpnext/projects/doctype/task/test_task.py +++ b/erpnext/projects/doctype/task/test_task.py @@ -1,12 +1,15 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import unittest -from frappe.utils import getdate, nowdate, add_days + +import frappe +from frappe.utils import add_days, getdate, nowdate from erpnext.projects.doctype.task.task import CircularReferenceError + class TestTask(unittest.TestCase): def test_circular_reference(self): task1 = create_task("_Test Task 1", add_days(nowdate(), -15), add_days(nowdate(), -10)) diff --git a/erpnext/projects/doctype/task_depends_on/task_depends_on.py b/erpnext/projects/doctype/task_depends_on/task_depends_on.py index 723a0fc339..ddb67ee30c 100644 --- a/erpnext/projects/doctype/task_depends_on/task_depends_on.py +++ b/erpnext/projects/doctype/task_depends_on/task_depends_on.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TaskDependsOn(Document): pass diff --git a/erpnext/projects/doctype/task_type/task_type.py b/erpnext/projects/doctype/task_type/task_type.py index 9c0b5325c6..5aacf8a239 100644 --- a/erpnext/projects/doctype/task_type/task_type.py +++ b/erpnext/projects/doctype/task_type/task_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TaskType(Document): pass diff --git a/erpnext/projects/doctype/task_type/test_task_type.py b/erpnext/projects/doctype/task_type/test_task_type.py index 1db6e27ed7..7690c3775a 100644 --- a/erpnext/projects/doctype/task_type/test_task_type.py +++ b/erpnext/projects/doctype/task_type/test_task_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestTaskType(unittest.TestCase): pass diff --git a/erpnext/projects/doctype/timesheet/test_timesheet.py b/erpnext/projects/doctype/timesheet/test_timesheet.py index 2b0c3abdd7..6b32c66dfe 100644 --- a/erpnext/projects/doctype/timesheet/test_timesheet.py +++ b/erpnext/projects/doctype/timesheet/test_timesheet.py @@ -3,21 +3,28 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest import datetime -from frappe.utils.make_random import get_random -from frappe.utils import now_datetime, nowdate, add_days, add_months -from erpnext.projects.doctype.timesheet.timesheet import OverlapError -from erpnext.projects.doctype.timesheet.timesheet import make_salary_slip, make_sales_invoice +import unittest + +import frappe +from frappe.utils import add_months, now_datetime, nowdate + from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice -from erpnext.payroll.doctype.salary_structure.test_salary_structure \ - import make_salary_structure, create_salary_structure_assignment -from erpnext.payroll.doctype.salary_slip.test_salary_slip import ( - make_earning_salary_component, - make_deduction_salary_component -) from erpnext.hr.doctype.employee.test_employee import make_employee +from erpnext.payroll.doctype.salary_slip.test_salary_slip import ( + make_deduction_salary_component, + make_earning_salary_component, +) +from erpnext.payroll.doctype.salary_structure.test_salary_structure import ( + create_salary_structure_assignment, + make_salary_structure, +) +from erpnext.projects.doctype.timesheet.timesheet import ( + OverlapError, + make_salary_slip, + make_sales_invoice, +) + class TestTimesheet(unittest.TestCase): @classmethod diff --git a/erpnext/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py index 5f569d6bcd..e144e82a7d 100644 --- a/erpnext/projects/doctype/timesheet/timesheet.py +++ b/erpnext/projects/doctype/timesheet/timesheet.py @@ -3,19 +3,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe import _ import json -from datetime import timedelta -from erpnext.controllers.queries import get_match_cond -from frappe.utils import flt, time_diff_in_hours, get_datetime, getdate, cint, date_diff, add_to_date + +import frappe +from frappe import _ from frappe.model.document import Document -from erpnext.manufacturing.doctype.workstation.workstation import (check_if_within_operating_hours, - WorkstationHolidayError) -from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings import get_mins_between_operations -from erpnext.setup.utils import get_exchange_rate +from frappe.utils import flt, getdate, time_diff_in_hours + +from erpnext.controllers.queries import get_match_cond from erpnext.hr.utils import validate_active_employee +from erpnext.setup.utils import get_exchange_rate + class OverlapError(frappe.ValidationError): pass class OverWorkLoggedError(frappe.ValidationError): pass diff --git a/erpnext/projects/doctype/timesheet/timesheet_dashboard.py b/erpnext/projects/doctype/timesheet/timesheet_dashboard.py index 088d98c4d5..3ef1d92dcd 100644 --- a/erpnext/projects/doctype/timesheet/timesheet_dashboard.py +++ b/erpnext/projects/doctype/timesheet/timesheet_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'time_sheet', diff --git a/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py b/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py index 7da94b7777..4fd233ebb2 100644 --- a/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py +++ b/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class TimesheetDetail(Document): pass diff --git a/erpnext/projects/report/billing_summary.py b/erpnext/projects/report/billing_summary.py index a22ed7b833..dec2824fcc 100644 --- a/erpnext/projects/report/billing_summary.py +++ b/erpnext/projects/report/billing_summary.py @@ -3,9 +3,11 @@ from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import time_diff_in_hours, flt +from frappe.utils import flt, time_diff_in_hours + def get_columns(): return [ diff --git a/erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py b/erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py index 3dcae5b1b5..3a33b4b1a7 100644 --- a/erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py +++ b/erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.desk.reportview import build_match_conditions + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/projects/report/delayed_tasks_summary/delayed_tasks_summary.py b/erpnext/projects/report/delayed_tasks_summary/delayed_tasks_summary.py index cdabe6487e..301639015c 100644 --- a/erpnext/projects/report/delayed_tasks_summary/delayed_tasks_summary.py +++ b/erpnext/projects/report/delayed_tasks_summary/delayed_tasks_summary.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.utils import date_diff, nowdate + def execute(filters=None): columns, data = [], [] data = get_data(filters) diff --git a/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py b/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py index 78291b2d78..88c77c88b4 100644 --- a/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py +++ b/erpnext/projects/report/delayed_tasks_summary/test_delayed_tasks_summary.py @@ -1,10 +1,14 @@ from __future__ import unicode_literals + import unittest + import frappe -from frappe.utils import nowdate, add_days, add_months +from frappe.utils import add_days, add_months, nowdate + from erpnext.projects.doctype.task.test_task import create_task from erpnext.projects.report.delayed_tasks_summary.delayed_tasks_summary import execute + class TestDelayedTasksSummary(unittest.TestCase): @classmethod def setUp(self): diff --git a/erpnext/projects/report/employee_billing_summary/employee_billing_summary.py b/erpnext/projects/report/employee_billing_summary/employee_billing_summary.py index 17c92c234d..30bd9f0182 100644 --- a/erpnext/projects/report/employee_billing_summary/employee_billing_summary.py +++ b/erpnext/projects/report/employee_billing_summary/employee_billing_summary.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import _ + from erpnext.projects.report.billing_summary import get_columns, get_data + def execute(filters=None): filters = frappe._dict(filters or {}) columns = get_columns() diff --git a/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py b/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py index 4d22f46246..d59a2ac52a 100644 --- a/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py +++ b/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py @@ -2,11 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt, getdate from six import iteritems + def execute(filters=None): return EmployeeHoursReport(filters).run() diff --git a/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/test_employee_util.py b/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/test_employee_util.py index 969fc556e8..f456c84a58 100644 --- a/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/test_employee_util.py +++ b/erpnext/projects/report/employee_hours_utilization_based_on_timesheet/test_employee_util.py @@ -1,11 +1,16 @@ from __future__ import unicode_literals -import unittest -import frappe +import unittest + +import frappe from frappe.utils.make_random import get_random -from erpnext.projects.report.employee_hours_utilization_based_on_timesheet.employee_hours_utilization_based_on_timesheet import execute + from erpnext.hr.doctype.employee.test_employee import make_employee from erpnext.projects.doctype.project.test_project import make_project +from erpnext.projects.report.employee_hours_utilization_based_on_timesheet.employee_hours_utilization_based_on_timesheet import ( + execute, +) + class TestEmployeeUtilization(unittest.TestCase): @classmethod diff --git a/erpnext/projects/report/project_billing_summary/project_billing_summary.py b/erpnext/projects/report/project_billing_summary/project_billing_summary.py index 17c92c234d..30bd9f0182 100644 --- a/erpnext/projects/report/project_billing_summary/project_billing_summary.py +++ b/erpnext/projects/report/project_billing_summary/project_billing_summary.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import _ + from erpnext.projects.report.billing_summary import get_columns, get_data + def execute(filters=None): filters = frappe._dict(filters or {}) columns = get_columns() diff --git a/erpnext/projects/report/project_profitability/project_profitability.py b/erpnext/projects/report/project_profitability/project_profitability.py index 0a52f7bf90..13e02c8935 100644 --- a/erpnext/projects/report/project_profitability/project_profitability.py +++ b/erpnext/projects/report/project_profitability/project_profitability.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + def execute(filters=None): columns, data = [], [] data = get_data(filters) diff --git a/erpnext/projects/report/project_profitability/test_project_profitability.py b/erpnext/projects/report/project_profitability/test_project_profitability.py index 180926fe25..8cf169b38f 100644 --- a/erpnext/projects/report/project_profitability/test_project_profitability.py +++ b/erpnext/projects/report/project_profitability/test_project_profitability.py @@ -1,12 +1,19 @@ from __future__ import unicode_literals + import unittest + import frappe -from frappe.utils import getdate, nowdate, add_days +from frappe.utils import add_days, getdate, nowdate + from erpnext.hr.doctype.employee.test_employee import make_employee -from erpnext.projects.doctype.timesheet.test_timesheet import make_salary_structure_for_timesheet, make_timesheet +from erpnext.projects.doctype.timesheet.test_timesheet import ( + make_salary_structure_for_timesheet, + make_timesheet, +) from erpnext.projects.doctype.timesheet.timesheet import make_salary_slip, make_sales_invoice from erpnext.projects.report.project_profitability.project_profitability import execute + class TestProjectProfitability(unittest.TestCase): def setUp(self): diff --git a/erpnext/projects/report/project_summary/project_summary.py b/erpnext/projects/report/project_summary/project_summary.py index 98dd617f9b..dbb4e84857 100644 --- a/erpnext/projects/report/project_summary/project_summary.py +++ b/erpnext/projects/report/project_summary/project_summary.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns = get_columns() data = [] diff --git a/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py b/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py index c13d7cf334..5d2b7dbc5b 100644 --- a/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py +++ b/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe from frappe import _ + def execute(filters=None): columns = get_columns() proj_details = get_project_details() diff --git a/erpnext/projects/utils.py b/erpnext/projects/utils.py index c39f908e43..69264704b4 100644 --- a/erpnext/projects/utils.py +++ b/erpnext/projects/utils.py @@ -4,8 +4,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe + @frappe.whitelist() @frappe.validate_and_sanitize_search_inputs def query_task(doctype, txt, searchfield, start, page_len, filters): diff --git a/erpnext/projects/web_form/tasks/tasks.py b/erpnext/projects/web_form/tasks/tasks.py index e5a94048be..aed794261e 100644 --- a/erpnext/projects/web_form/tasks/tasks.py +++ b/erpnext/projects/web_form/tasks/tasks.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import frappe + def get_context(context): if frappe.form_dict.project: context.parents = [{'title': frappe.form_dict.project, 'route': '/projects?project='+ frappe.form_dict.project}] diff --git a/erpnext/quality_management/doctype/non_conformance/non_conformance.py b/erpnext/quality_management/doctype/non_conformance/non_conformance.py index d4e8cc7a71..a4613fdaf6 100644 --- a/erpnext/quality_management/doctype/non_conformance/non_conformance.py +++ b/erpnext/quality_management/doctype/non_conformance/non_conformance.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class NonConformance(Document): pass diff --git a/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py b/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py index 54f8b58cfb..759b117f9b 100644 --- a/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py +++ b/erpnext/quality_management/doctype/non_conformance/test_non_conformance.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestNonConformance(unittest.TestCase): pass diff --git a/erpnext/quality_management/doctype/quality_action/quality_action.py b/erpnext/quality_management/doctype/quality_action/quality_action.py index 02401ba689..646a0dfc2c 100644 --- a/erpnext/quality_management/doctype/quality_action/quality_action.py +++ b/erpnext/quality_management/doctype/quality_action/quality_action.py @@ -3,9 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class QualityAction(Document): def validate(self): self.status = 'Open' if any([d.status=='Open' for d in self.resolutions]) else 'Completed' diff --git a/erpnext/quality_management/doctype/quality_action/test_quality_action.py b/erpnext/quality_management/doctype/quality_action/test_quality_action.py index 98d665f391..33229d4b45 100644 --- a/erpnext/quality_management/doctype/quality_action/test_quality_action.py +++ b/erpnext/quality_management/doctype/quality_action/test_quality_action.py @@ -3,9 +3,9 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQualityAction(unittest.TestCase): # quality action has no code pass diff --git a/erpnext/quality_management/doctype/quality_action_resolution/quality_action_resolution.py b/erpnext/quality_management/doctype/quality_action_resolution/quality_action_resolution.py index de8873feb0..b456fb7e9a 100644 --- a/erpnext/quality_management/doctype/quality_action_resolution/quality_action_resolution.py +++ b/erpnext/quality_management/doctype/quality_action_resolution/quality_action_resolution.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityActionResolution(Document): pass diff --git a/erpnext/quality_management/doctype/quality_feedback/quality_feedback.py b/erpnext/quality_management/doctype/quality_feedback/quality_feedback.py index d3e96cf2d9..9189c28297 100644 --- a/erpnext/quality_management/doctype/quality_feedback/quality_feedback.py +++ b/erpnext/quality_management/doctype/quality_feedback/quality_feedback.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class QualityFeedback(Document): @frappe.whitelist() def set_parameters(self): diff --git a/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py b/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py index 5a8bd5ce30..7a87c36244 100644 --- a/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py +++ b/erpnext/quality_management/doctype/quality_feedback/test_quality_feedback.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + class TestQualityFeedback(unittest.TestCase): def test_quality_feedback(self): diff --git a/erpnext/quality_management/doctype/quality_feedback_parameter/quality_feedback_parameter.py b/erpnext/quality_management/doctype/quality_feedback_parameter/quality_feedback_parameter.py index d652e8a57b..9a21b26360 100644 --- a/erpnext/quality_management/doctype/quality_feedback_parameter/quality_feedback_parameter.py +++ b/erpnext/quality_management/doctype/quality_feedback_parameter/quality_feedback_parameter.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityFeedbackParameter(Document): pass diff --git a/erpnext/quality_management/doctype/quality_feedback_template/quality_feedback_template.py b/erpnext/quality_management/doctype/quality_feedback_template/quality_feedback_template.py index 0c6dfc0780..c6a520a3c5 100644 --- a/erpnext/quality_management/doctype/quality_feedback_template/quality_feedback_template.py +++ b/erpnext/quality_management/doctype/quality_feedback_template/quality_feedback_template.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityFeedbackTemplate(Document): pass diff --git a/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py b/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py index afed14b6ad..1de58aae3e 100644 --- a/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py +++ b/erpnext/quality_management/doctype/quality_feedback_template/test_quality_feedback_template.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQualityFeedbackTemplate(unittest.TestCase): pass diff --git a/erpnext/quality_management/doctype/quality_feedback_template_parameter/quality_feedback_template_parameter.py b/erpnext/quality_management/doctype/quality_feedback_template_parameter/quality_feedback_template_parameter.py index 3f3348fd7f..44a6b014a0 100644 --- a/erpnext/quality_management/doctype/quality_feedback_template_parameter/quality_feedback_template_parameter.py +++ b/erpnext/quality_management/doctype/quality_feedback_template_parameter/quality_feedback_template_parameter.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityFeedbackTemplateParameter(Document): pass diff --git a/erpnext/quality_management/doctype/quality_goal/quality_goal.py b/erpnext/quality_management/doctype/quality_goal/quality_goal.py index 3e616b75ce..2888401782 100644 --- a/erpnext/quality_management/doctype/quality_goal/quality_goal.py +++ b/erpnext/quality_management/doctype/quality_goal/quality_goal.py @@ -3,10 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class QualityGoal(Document): def validate(self): pass diff --git a/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py b/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py index 0e135b5021..84240d227e 100644 --- a/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py +++ b/erpnext/quality_management/doctype/quality_goal/test_quality_goal.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from erpnext.quality_management.doctype.quality_procedure.test_quality_procedure import create_procedure + +import frappe + class TestQualityGoal(unittest.TestCase): def test_quality_goal(self): diff --git a/erpnext/quality_management/doctype/quality_goal_objective/quality_goal_objective.py b/erpnext/quality_management/doctype/quality_goal_objective/quality_goal_objective.py index f4bd357f1b..c9c2c6e564 100644 --- a/erpnext/quality_management/doctype/quality_goal_objective/quality_goal_objective.py +++ b/erpnext/quality_management/doctype/quality_goal_objective/quality_goal_objective.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityGoalObjective(Document): pass diff --git a/erpnext/quality_management/doctype/quality_meeting/quality_meeting.py b/erpnext/quality_management/doctype/quality_meeting/quality_meeting.py index 9e453ebfc2..0ac0484399 100644 --- a/erpnext/quality_management/doctype/quality_meeting/quality_meeting.py +++ b/erpnext/quality_management/doctype/quality_meeting/quality_meeting.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class QualityMeeting(Document): pass diff --git a/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py b/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py index 6bf4c179c6..e57256d289 100644 --- a/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py +++ b/erpnext/quality_management/doctype/quality_meeting/test_quality_meeting.py @@ -3,9 +3,9 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestQualityMeeting(unittest.TestCase): # nothing to test pass diff --git a/erpnext/quality_management/doctype/quality_meeting_agenda/quality_meeting_agenda.py b/erpnext/quality_management/doctype/quality_meeting_agenda/quality_meeting_agenda.py index 5d77975d74..5e4d9ff37a 100644 --- a/erpnext/quality_management/doctype/quality_meeting_agenda/quality_meeting_agenda.py +++ b/erpnext/quality_management/doctype/quality_meeting_agenda/quality_meeting_agenda.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityMeetingAgenda(Document): pass diff --git a/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py b/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py index 4750cc1f7a..8744d275ed 100644 --- a/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py +++ b/erpnext/quality_management/doctype/quality_meeting_agenda/test_quality_meeting_agenda.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestQualityMeetingAgenda(unittest.TestCase): pass diff --git a/erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.py b/erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.py index 47b2c95bd9..e3d061b36c 100644 --- a/erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.py +++ b/erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityMeetingMinutes(Document): pass diff --git a/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py b/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py index 117db0012b..56293c98e0 100644 --- a/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py +++ b/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils.nestedset import NestedSet, rebuild_tree from frappe import _ +from frappe.utils.nestedset import NestedSet + class QualityProcedure(NestedSet): nsm_parent_field = 'parent_quality_procedure' diff --git a/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py b/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py index 4fa7734bc6..b064011bf6 100644 --- a/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py +++ b/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py @@ -3,11 +3,13 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + from .quality_procedure import add_node + class TestQualityProcedure(unittest.TestCase): def test_add_node(self): try: diff --git a/erpnext/quality_management/doctype/quality_procedure_process/quality_procedure_process.py b/erpnext/quality_management/doctype/quality_procedure_process/quality_procedure_process.py index 0d9a286052..e281294643 100644 --- a/erpnext/quality_management/doctype/quality_procedure_process/quality_procedure_process.py +++ b/erpnext/quality_management/doctype/quality_procedure_process/quality_procedure_process.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityProcedureProcess(Document): pass diff --git a/erpnext/quality_management/doctype/quality_review/quality_review.py b/erpnext/quality_management/doctype/quality_review/quality_review.py index 34cc890e21..b766623510 100644 --- a/erpnext/quality_management/doctype/quality_review/quality_review.py +++ b/erpnext/quality_management/doctype/quality_review/quality_review.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class QualityReview(Document): def validate(self): # fetch targets from goal diff --git a/erpnext/quality_management/doctype/quality_review/test_quality_review.py b/erpnext/quality_management/doctype/quality_review/test_quality_review.py index 161ecd01ef..2f28ddac45 100644 --- a/erpnext/quality_management/doctype/quality_review/test_quality_review.py +++ b/erpnext/quality_management/doctype/quality_review/test_quality_review.py @@ -3,12 +3,14 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + from ..quality_goal.test_quality_goal import get_quality_goal from .quality_review import review + class TestQualityReview(unittest.TestCase): def test_review_creation(self): quality_goal = get_quality_goal() diff --git a/erpnext/quality_management/doctype/quality_review_objective/quality_review_objective.py b/erpnext/quality_management/doctype/quality_review_objective/quality_review_objective.py index 3092a1e997..23b11e87e6 100644 --- a/erpnext/quality_management/doctype/quality_review_objective/quality_review_objective.py +++ b/erpnext/quality_management/doctype/quality_review_objective/quality_review_objective.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityReviewObjective(Document): pass diff --git a/erpnext/regional/__init__.py b/erpnext/regional/__init__.py index faa59129a5..45a689efa8 100644 --- a/erpnext/regional/__init__.py +++ b/erpnext/regional/__init__.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + from erpnext import get_region + def check_deletion_permission(doc, method): region = get_region(doc.company) if region in ["Nepal", "France"] and doc.docstatus != 0: diff --git a/erpnext/regional/address_template/test_regional_address_template.py b/erpnext/regional/address_template/test_regional_address_template.py index 8a05ea26f4..2880d6253f 100644 --- a/erpnext/regional/address_template/test_regional_address_template.py +++ b/erpnext/regional/address_template/test_regional_address_template.py @@ -1,9 +1,11 @@ from __future__ import unicode_literals + from unittest import TestCase import frappe -from erpnext.regional.address_template.setup import get_address_templates -from erpnext.regional.address_template.setup import update_address_template + +from erpnext.regional.address_template.setup import get_address_templates, update_address_template + def ensure_country(country): if frappe.db.exists("Country", country): diff --git a/erpnext/regional/doctype/datev_settings/datev_settings.py b/erpnext/regional/doctype/datev_settings/datev_settings.py index cff5bba58f..0d2d9eb4b4 100644 --- a/erpnext/regional/doctype/datev_settings/datev_settings.py +++ b/erpnext/regional/doctype/datev_settings/datev_settings.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class DATEVSettings(Document): pass diff --git a/erpnext/regional/doctype/datev_settings/test_datev_settings.py b/erpnext/regional/doctype/datev_settings/test_datev_settings.py index 0271329f4d..73412f755d 100644 --- a/erpnext/regional/doctype/datev_settings/test_datev_settings.py +++ b/erpnext/regional/doctype/datev_settings/test_datev_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestDATEVSettings(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/gst_hsn_code/gst_hsn_code.py b/erpnext/regional/doctype/gst_hsn_code/gst_hsn_code.py index 4791dc2675..0704de8387 100644 --- a/erpnext/regional/doctype/gst_hsn_code/gst_hsn_code.py +++ b/erpnext/regional/doctype/gst_hsn_code/gst_hsn_code.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class GSTHSNCode(Document): pass diff --git a/erpnext/regional/doctype/gst_hsn_code/test_gst_hsn_code.py b/erpnext/regional/doctype/gst_hsn_code/test_gst_hsn_code.py index ed54f20713..1a90e6d711 100644 --- a/erpnext/regional/doctype/gst_hsn_code/test_gst_hsn_code.py +++ b/erpnext/regional/doctype/gst_hsn_code/test_gst_hsn_code.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestGSTHSNCode(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/gst_settings/gst_settings.py b/erpnext/regional/doctype/gst_settings/gst_settings.py index af3d92e59a..7b27fb6c5b 100644 --- a/erpnext/regional/doctype/gst_settings/gst_settings.py +++ b/erpnext/regional/doctype/gst_settings/gst_settings.py @@ -3,11 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, os + +import os + +import frappe from frappe import _ -from frappe.utils import get_url, nowdate, date_diff -from frappe.model.document import Document from frappe.contacts.doctype.contact.contact import get_default_contact +from frappe.model.document import Document +from frappe.utils import date_diff, get_url, nowdate + class EmailMissing(frappe.ValidationError): pass diff --git a/erpnext/regional/doctype/gst_settings/test_gst_settings.py b/erpnext/regional/doctype/gst_settings/test_gst_settings.py index d118dee617..836d3a88c3 100644 --- a/erpnext/regional/doctype/gst_settings/test_gst_settings.py +++ b/erpnext/regional/doctype/gst_settings/test_gst_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestGSTSettings(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py b/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py index 0ee5b097b5..d8ce319739 100644 --- a/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py +++ b/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py @@ -3,15 +3,19 @@ # For license information, please see license.txt from __future__ import unicode_literals -import os + import json +import os + import frappe -from six import iteritems from frappe import _ from frappe.model.document import Document -from frappe.utils import flt, cstr +from frappe.utils import cstr, flt +from six import iteritems + from erpnext.regional.india import state_numbers + class GSTR3BReport(Document): def validate(self): self.get_data() diff --git a/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py b/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py index 065f80d610..115f9b8816 100644 --- a/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py +++ b/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py @@ -3,13 +3,15 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest -from frappe.utils import getdate -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice -from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice -from erpnext.stock.doctype.item.test_item import make_item import json +import unittest + +import frappe +from frappe.utils import getdate + +from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice +from erpnext.stock.doctype.item.test_item import make_item test_dependencies = ["Territory", "Customer Group", "Supplier Group", "Item"] diff --git a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py index 00300539e9..76cb621f54 100644 --- a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py +++ b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py @@ -3,21 +3,21 @@ from __future__ import unicode_literals -from decimal import Decimal -import json import re -import traceback import zipfile -import frappe, erpnext + +import dateutil +import frappe +from bs4 import BeautifulSoup as bs from frappe import _ from frappe.model.document import Document -from frappe.custom.doctype.custom_field.custom_field import create_custom_field +from frappe.utils import flt, get_datetime_str, today from frappe.utils.data import format_datetime -from bs4 import BeautifulSoup as bs -from frappe.utils import cint, flt, today, nowdate, add_days, get_files_path, get_datetime_str -import dateutil from frappe.utils.file_manager import save_file +import erpnext + + class ImportSupplierInvoice(Document): def validate(self): if not frappe.db.get_value("Stock Settings", fieldname="stock_uom"): diff --git a/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py b/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py index d1caf77fc2..4be4c3a22f 100644 --- a/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py +++ b/erpnext/regional/doctype/import_supplier_invoice/test_import_supplier_invoice.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestImportSupplierInvoice(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.py b/erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.py index 656c3296e5..d8553f1d91 100644 --- a/erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.py +++ b/erpnext/regional/doctype/lower_deduction_certificate/lower_deduction_certificate.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import getdate, get_link_to_form from frappe.model.document import Document +from frappe.utils import get_link_to_form, getdate + from erpnext.accounts.utils import get_fiscal_year + class LowerDeductionCertificate(Document): def validate(self): self.validate_dates() diff --git a/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py b/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py index 7e950206fc..54443c0206 100644 --- a/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py +++ b/erpnext/regional/doctype/lower_deduction_certificate/test_lower_deduction_certificate.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestLowerDeductionCertificate(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/product_tax_category/product_tax_category.py b/erpnext/regional/doctype/product_tax_category/product_tax_category.py index e476361eb2..b6be9e0920 100644 --- a/erpnext/regional/doctype/product_tax_category/product_tax_category.py +++ b/erpnext/regional/doctype/product_tax_category/product_tax_category.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class ProductTaxCategory(Document): pass diff --git a/erpnext/regional/doctype/product_tax_category/test_product_tax_category.py b/erpnext/regional/doctype/product_tax_category/test_product_tax_category.py index 53a5624e63..2668f2391a 100644 --- a/erpnext/regional/doctype/product_tax_category/test_product_tax_category.py +++ b/erpnext/regional/doctype/product_tax_category/test_product_tax_category.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestProductTaxCategory(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/south_africa_vat_settings/south_africa_vat_settings.py b/erpnext/regional/doctype/south_africa_vat_settings/south_africa_vat_settings.py index d74154bfe7..4c3e8a78e9 100644 --- a/erpnext/regional/doctype/south_africa_vat_settings/south_africa_vat_settings.py +++ b/erpnext/regional/doctype/south_africa_vat_settings/south_africa_vat_settings.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class SouthAfricaVATSettings(Document): pass diff --git a/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py b/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py index 1c36652ad6..0f19f25f88 100644 --- a/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py +++ b/erpnext/regional/doctype/south_africa_vat_settings/test_south_africa_vat_settings.py @@ -4,5 +4,6 @@ # import frappe import unittest + class TestSouthAfricaVATSettings(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/tax_exemption_80g_certificate/tax_exemption_80g_certificate.py b/erpnext/regional/doctype/tax_exemption_80g_certificate/tax_exemption_80g_certificate.py index 41a0f1193b..64b2ec5646 100644 --- a/erpnext/regional/doctype/tax_exemption_80g_certificate/tax_exemption_80g_certificate.py +++ b/erpnext/regional/doctype/tax_exemption_80g_certificate/tax_exemption_80g_certificate.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.model.document import Document -from frappe.utils import getdate, flt, get_link_to_form -from erpnext.accounts.utils import get_fiscal_year from frappe.contacts.doctype.address.address import get_company_address +from frappe.model.document import Document +from frappe.utils import flt, get_link_to_form, getdate + +from erpnext.accounts.utils import get_fiscal_year + class TaxExemption80GCertificate(Document): def validate(self): diff --git a/erpnext/regional/doctype/tax_exemption_80g_certificate/test_tax_exemption_80g_certificate.py b/erpnext/regional/doctype/tax_exemption_80g_certificate/test_tax_exemption_80g_certificate.py index 41b4203668..74e9ced394 100644 --- a/erpnext/regional/doctype/tax_exemption_80g_certificate/test_tax_exemption_80g_certificate.py +++ b/erpnext/regional/doctype/tax_exemption_80g_certificate/test_tax_exemption_80g_certificate.py @@ -3,14 +3,21 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe from frappe.utils import getdate + from erpnext.accounts.utils import get_fiscal_year -from erpnext.non_profit.doctype.donation.test_donation import create_donor, create_mode_of_payment, create_donor_type from erpnext.non_profit.doctype.donation.donation import create_donation -from erpnext.non_profit.doctype.membership.test_membership import setup_membership, make_membership +from erpnext.non_profit.doctype.donation.test_donation import ( + create_donor, + create_donor_type, + create_mode_of_payment, +) from erpnext.non_profit.doctype.member.member import create_member +from erpnext.non_profit.doctype.membership.test_membership import make_membership, setup_membership + class TestTaxExemption80GCertificate(unittest.TestCase): def setUp(self): diff --git a/erpnext/regional/doctype/tax_exemption_80g_certificate_detail/tax_exemption_80g_certificate_detail.py b/erpnext/regional/doctype/tax_exemption_80g_certificate_detail/tax_exemption_80g_certificate_detail.py index bdad798d98..76d8912b00 100644 --- a/erpnext/regional/doctype/tax_exemption_80g_certificate_detail/tax_exemption_80g_certificate_detail.py +++ b/erpnext/regional/doctype/tax_exemption_80g_certificate_detail/tax_exemption_80g_certificate_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TaxExemption80GCertificateDetail(Document): pass diff --git a/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py b/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py index 80d6b3a5f1..a1b27d7e3d 100644 --- a/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py +++ b/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class UAEVATAccount(Document): pass diff --git a/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py b/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py index b88439f9b8..cec30e61ce 100644 --- a/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py +++ b/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestUAEVATSettings(unittest.TestCase): pass diff --git a/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py index 20dc604510..1bf37dd499 100644 --- a/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py +++ b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class UAEVATSettings(Document): pass diff --git a/erpnext/regional/france/utils.py b/erpnext/regional/france/utils.py index 424615dbbc..63c5a1f583 100644 --- a/erpnext/regional/france/utils.py +++ b/erpnext/regional/france/utils.py @@ -2,7 +2,7 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + # don't remove this function it is used in tests def test_method(): diff --git a/erpnext/regional/germany/setup.py b/erpnext/regional/germany/setup.py index c1fa6e492d..a68cecc0d6 100644 --- a/erpnext/regional/germany/setup.py +++ b/erpnext/regional/germany/setup.py @@ -1,4 +1,3 @@ -import os import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields diff --git a/erpnext/regional/germany/utils/datev/datev_csv.py b/erpnext/regional/germany/utils/datev/datev_csv.py index c5c2bc41f4..9d1fabbada 100644 --- a/erpnext/regional/germany/utils/datev/datev_csv.py +++ b/erpnext/regional/germany/utils/datev/datev_csv.py @@ -4,12 +4,12 @@ from __future__ import unicode_literals import datetime import zipfile from csv import QUOTE_NONNUMERIC -from six import BytesIO -import six import frappe import pandas as pd from frappe import _ +from six import BytesIO + from .datev_constants import DataCategory diff --git a/erpnext/regional/india/__init__.py b/erpnext/regional/india/__init__.py index faeb36fc69..5c4d30881d 100644 --- a/erpnext/regional/india/__init__.py +++ b/erpnext/regional/india/__init__.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + from six import iteritems states = [ diff --git a/erpnext/regional/india/test_utils.py b/erpnext/regional/india/test_utils.py index a16f56c704..2c77c8d8aa 100644 --- a/erpnext/regional/india/test_utils.py +++ b/erpnext/regional/india/test_utils.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals import unittest -import frappe from unittest.mock import patch + +import frappe + from erpnext.regional.india.utils import validate_document_name diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index ac31f77619..635a1a15ab 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -1,19 +1,19 @@ from __future__ import unicode_literals -import frappe, re, json + +import json +import re + +import frappe from frappe import _ -import erpnext -from frappe.utils import cstr, flt, cint, date_diff, nowdate, round_based_on_smallest_currency_fraction, money_in_words, getdate -from erpnext.regional.india import states, state_numbers -from erpnext.controllers.taxes_and_totals import get_itemised_tax, get_itemised_taxable_amount +from frappe.model.utils import get_fetch_values +from frappe.utils import cint, cstr, date_diff, flt, getdate, nowdate +from six import string_types + from erpnext.controllers.accounts_controller import get_taxes_and_charges +from erpnext.controllers.taxes_and_totals import get_itemised_tax, get_itemised_taxable_amount from erpnext.hr.utils import get_salary_assignment from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip -from erpnext.regional.india import number_state_mapping -from six import string_types -from erpnext.accounts.general_ledger import make_gl_entries -from erpnext.accounts.utils import get_account_currency -from frappe.model.utils import get_fetch_values - +from erpnext.regional.india import number_state_mapping, state_numbers, states GST_INVOICE_NUMBER_FORMAT = re.compile(r"^[a-zA-Z0-9\-/]+$") #alphanumeric and - / GSTIN_FORMAT = re.compile("^[0-9]{2}[A-Z]{4}[0-9A-Z]{1}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}[1-9A-Z]{1}[0-9A-Z]{1}$") diff --git a/erpnext/regional/italy/utils.py b/erpnext/regional/italy/utils.py index 56f609eb23..d6c7f1dbfa 100644 --- a/erpnext/regional/italy/utils.py +++ b/erpnext/regional/italy/utils.py @@ -2,12 +2,14 @@ from __future__ import unicode_literals import io import json + import frappe -from frappe.utils import flt, cstr -from erpnext.controllers.taxes_and_totals import get_itemised_tax from frappe import _ +from frappe.utils import cstr, flt from frappe.utils.file_manager import remove_file from six import string_types + +from erpnext.controllers.taxes_and_totals import get_itemised_tax from erpnext.regional.italy import state_codes diff --git a/erpnext/regional/report/datev/datev.py b/erpnext/regional/report/datev/datev.py index 9abdb3b3e7..c46c0df22c 100644 --- a/erpnext/regional/report/datev/datev.py +++ b/erpnext/regional/report/datev/datev.py @@ -10,13 +10,18 @@ Provide a report and downloadable CSV according to the German DATEV format. from __future__ import unicode_literals import json + import frappe +from frappe import _ from six import string_types -from frappe import _ from erpnext.accounts.utils import get_fiscal_year -from erpnext.regional.germany.utils.datev.datev_csv import zip_and_download, get_datev_csv -from erpnext.regional.germany.utils.datev.datev_constants import Transactions, DebtorsCreditors, AccountNames +from erpnext.regional.germany.utils.datev.datev_constants import ( + AccountNames, + DebtorsCreditors, + Transactions, +) +from erpnext.regional.germany.utils.datev.datev_csv import get_datev_csv, zip_and_download COLUMNS = [ { diff --git a/erpnext/regional/report/datev/test_datev.py b/erpnext/regional/report/datev/test_datev.py index 59b878e94a..b53889366f 100644 --- a/erpnext/regional/report/datev/test_datev.py +++ b/erpnext/regional/report/datev/test_datev.py @@ -2,21 +2,27 @@ from __future__ import unicode_literals import zipfile -import frappe -from six import BytesIO from unittest import TestCase -from frappe.utils import today, now_datetime, cstr + +import frappe +from frappe.utils import cstr, now_datetime, today +from six import BytesIO + from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice - -from erpnext.regional.report.datev.datev import validate -from erpnext.regional.report.datev.datev import get_transactions -from erpnext.regional.report.datev.datev import get_customers -from erpnext.regional.report.datev.datev import get_suppliers -from erpnext.regional.report.datev.datev import get_account_names -from erpnext.regional.report.datev.datev import download_datev_csv - +from erpnext.regional.germany.utils.datev.datev_constants import ( + AccountNames, + DebtorsCreditors, + Transactions, +) from erpnext.regional.germany.utils.datev.datev_csv import get_datev_csv, get_header -from erpnext.regional.germany.utils.datev.datev_constants import Transactions, DebtorsCreditors, AccountNames +from erpnext.regional.report.datev.datev import ( + download_datev_csv, + get_account_names, + get_customers, + get_suppliers, + get_transactions, +) + def make_company(company_name, abbr): if not frappe.db.exists("Company", company_name): diff --git a/erpnext/regional/report/electronic_invoice_register/electronic_invoice_register.py b/erpnext/regional/report/electronic_invoice_register/electronic_invoice_register.py index 376ba3ee47..f4ce7a77ad 100644 --- a/erpnext/regional/report/electronic_invoice_register/electronic_invoice_register.py +++ b/erpnext/regional/report/electronic_invoice_register/electronic_invoice_register.py @@ -2,7 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from erpnext.accounts.report.sales_register.sales_register import _execute + def execute(filters=None): return _execute(filters) diff --git a/erpnext/regional/report/eway_bill/eway_bill.py b/erpnext/regional/report/eway_bill/eway_bill.py index 09d5f79167..c78084f7df 100644 --- a/erpnext/regional/report/eway_bill/eway_bill.py +++ b/erpnext/regional/report/eway_bill/eway_bill.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json import re + +import frappe from frappe import _ from frappe.utils import nowdate + def execute(filters=None): if not filters: filters.setdefault('posting_date', [nowdate(), nowdate()]) columns, data = [], [] diff --git a/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py b/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py index 697058def5..9567916cd2 100644 --- a/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py +++ b/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py @@ -2,11 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import format_datetime -from frappe import _ + import re +import frappe +from frappe import _ +from frappe.utils import format_datetime + + def execute(filters=None): account_details = {} for acc in frappe.db.sql("""select name, is_group from tabAccount""", as_dict=1): diff --git a/erpnext/regional/report/gst_itemised_purchase_register/gst_itemised_purchase_register.py b/erpnext/regional/report/gst_itemised_purchase_register/gst_itemised_purchase_register.py index b5948f9952..092f72adf1 100644 --- a/erpnext/regional/report/gst_itemised_purchase_register/gst_itemised_purchase_register.py +++ b/erpnext/regional/report/gst_itemised_purchase_register/gst_itemised_purchase_register.py @@ -3,7 +3,10 @@ from __future__ import unicode_literals -from erpnext.accounts.report.item_wise_purchase_register.item_wise_purchase_register import _execute +from erpnext.accounts.report.item_wise_purchase_register.item_wise_purchase_register import ( + _execute, +) + def execute(filters=None): return _execute(filters, additional_table_columns=[ diff --git a/erpnext/regional/report/gst_itemised_sales_register/gst_itemised_sales_register.py b/erpnext/regional/report/gst_itemised_sales_register/gst_itemised_sales_register.py index e13f509f47..44f623bfae 100644 --- a/erpnext/regional/report/gst_itemised_sales_register/gst_itemised_sales_register.py +++ b/erpnext/regional/report/gst_itemised_sales_register/gst_itemised_sales_register.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals from erpnext.accounts.report.item_wise_sales_register.item_wise_sales_register import _execute + def execute(filters=None): return _execute(filters, additional_table_columns=[ dict(fieldtype='Data', label='Customer GSTIN', fieldname="customer_gstin", width=120), diff --git a/erpnext/regional/report/gst_purchase_register/gst_purchase_register.py b/erpnext/regional/report/gst_purchase_register/gst_purchase_register.py index 12e9676b4b..e9724441b1 100644 --- a/erpnext/regional/report/gst_purchase_register/gst_purchase_register.py +++ b/erpnext/regional/report/gst_purchase_register/gst_purchase_register.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals from erpnext.accounts.report.purchase_register.purchase_register import _execute + def execute(filters=None): return _execute(filters, additional_table_columns=[ dict(fieldtype='Data', label='Supplier GSTIN', fieldname="supplier_gstin", width=120), diff --git a/erpnext/regional/report/gst_sales_register/gst_sales_register.py b/erpnext/regional/report/gst_sales_register/gst_sales_register.py index 075bd483cf..6975af3585 100644 --- a/erpnext/regional/report/gst_sales_register/gst_sales_register.py +++ b/erpnext/regional/report/gst_sales_register/gst_sales_register.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals from erpnext.accounts.report.sales_register.sales_register import _execute + def execute(filters=None): return _execute(filters, additional_table_columns=[ dict(fieldtype='Data', label='Customer GSTIN', fieldname="customer_gstin", width=120), diff --git a/erpnext/regional/report/gstr_1/gstr_1.py b/erpnext/regional/report/gstr_1/gstr_1.py index 9d4f9206f5..7c4731eda0 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.py +++ b/erpnext/regional/report/gstr_1/gstr_1.py @@ -2,14 +2,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe import _ -from frappe.utils import flt, formatdate, now_datetime, getdate + +import json from datetime import date + +import frappe +from frappe import _ +from frappe.utils import flt, formatdate, getdate from six import iteritems -from erpnext.regional.doctype.gstr_3b_report.gstr_3b_report import get_period + from erpnext.regional.india.utils import get_gst_accounts + def execute(filters=None): return Gstr1Report(filters).run() diff --git a/erpnext/regional/report/gstr_2/gstr_2.py b/erpnext/regional/report/gstr_2/gstr_2.py index 616c2b853d..5e44955ce3 100644 --- a/erpnext/regional/report/gstr_2/gstr_2.py +++ b/erpnext/regional/report/gstr_2/gstr_2.py @@ -2,10 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from datetime import date + +import frappe + from erpnext.regional.report.gstr_1.gstr_1 import Gstr1Report + def execute(filters=None): return Gstr2Report(filters).run() diff --git a/erpnext/regional/report/hsn_wise_summary_of_outward_supplies/hsn_wise_summary_of_outward_supplies.py b/erpnext/regional/report/hsn_wise_summary_of_outward_supplies/hsn_wise_summary_of_outward_supplies.py index 1adddbdae5..7a938c7e0f 100644 --- a/erpnext/regional/report/hsn_wise_summary_of_outward_supplies/hsn_wise_summary_of_outward_supplies.py +++ b/erpnext/regional/report/hsn_wise_summary_of_outward_supplies/hsn_wise_summary_of_outward_supplies.py @@ -2,16 +2,20 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe import _ -from frappe.utils import flt, getdate, cstr -from frappe.model.meta import get_field_precision -from frappe.utils.xlsxutils import handle_html -from six import iteritems + import json + +import frappe +from frappe import _ +from frappe.model.meta import get_field_precision +from frappe.utils import cstr, flt, getdate +from six import iteritems + +import erpnext from erpnext.regional.india.utils import get_gst_accounts from erpnext.regional.report.gstr_1.gstr_1 import get_company_gstin_number + def execute(filters=None): return _execute(filters) diff --git a/erpnext/regional/report/irs_1099/irs_1099.py b/erpnext/regional/report/irs_1099/irs_1099.py index f67d622fdf..b1a5d10962 100644 --- a/erpnext/regional/report/irs_1099/irs_1099.py +++ b/erpnext/regional/report/irs_1099/irs_1099.py @@ -3,16 +3,16 @@ import json -from PyPDF2 import PdfFileWriter - import frappe -from erpnext.accounts.utils import get_fiscal_year from frappe import _ from frappe.utils import cstr, nowdate from frappe.utils.data import fmt_money from frappe.utils.jinja import render_template from frappe.utils.pdf import get_pdf from frappe.utils.print_format import read_multi_pdf +from PyPDF2 import PdfFileWriter + +from erpnext.accounts.utils import get_fiscal_year IRS_1099_FORMS_FILE_EXTENSION = ".pdf" diff --git a/erpnext/regional/report/professional_tax_deductions/professional_tax_deductions.py b/erpnext/regional/report/professional_tax_deductions/professional_tax_deductions.py index 54808e59e1..5300b92892 100644 --- a/erpnext/regional/report/professional_tax_deductions/professional_tax_deductions.py +++ b/erpnext/regional/report/professional_tax_deductions/professional_tax_deductions.py @@ -2,9 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from erpnext.regional.report.provident_fund_deductions.provident_fund_deductions import get_conditions + +from erpnext.regional.report.provident_fund_deductions.provident_fund_deductions import ( + get_conditions, +) + def execute(filters=None): data = get_data(filters) diff --git a/erpnext/regional/report/provident_fund_deductions/provident_fund_deductions.py b/erpnext/regional/report/provident_fund_deductions/provident_fund_deductions.py index 82423f005c..ae5d6b90b4 100644 --- a/erpnext/regional/report/provident_fund_deductions/provident_fund_deductions.py +++ b/erpnext/regional/report/provident_fund_deductions/provident_fund_deductions.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import getdate from frappe import _ +from frappe.utils import getdate + def execute(filters=None): data = get_data(filters) diff --git a/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py b/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py index daa69768c5..e19aeaa0ef 100644 --- a/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py +++ b/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py @@ -1,21 +1,23 @@ # coding=utf-8 from __future__ import unicode_literals -import erpnext -import frappe from unittest import TestCase -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice + +import frappe + +import erpnext from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice -from erpnext.stock.doctype.warehouse.test_warehouse import get_warehouse_account +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.regional.report.uae_vat_201.uae_vat_201 import ( - get_total_emiratewise, - get_tourist_tax_return_total, - get_tourist_tax_return_tax, - get_zero_rated_total, get_exempt_total, - get_standard_rated_expenses_total, get_standard_rated_expenses_tax, + get_standard_rated_expenses_total, + get_total_emiratewise, + get_tourist_tax_return_tax, + get_tourist_tax_return_total, + get_zero_rated_total, ) +from erpnext.stock.doctype.warehouse.test_warehouse import get_warehouse_account test_dependencies = ["Territory", "Customer Group", "Supplier Group", "Item"] diff --git a/erpnext/regional/report/uae_vat_201/uae_vat_201.py b/erpnext/regional/report/uae_vat_201/uae_vat_201.py index b0614238ba..f4c049d162 100644 --- a/erpnext/regional/report/uae_vat_201/uae_vat_201.py +++ b/erpnext/regional/report/uae_vat_201/uae_vat_201.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns = get_columns() data, emirates, amounts_by_emirate = get_data(filters) diff --git a/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py b/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py index dea17a66fd..77beff36ec 100644 --- a/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py +++ b/erpnext/regional/report/vat_audit_report/test_vat_audit_report.py @@ -2,16 +2,18 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from unittest import TestCase + +import frappe from frappe.utils import today from erpnext.accounts.doctype.account.test_account import create_account -from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice - +from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.regional.report.vat_audit_report.vat_audit_report import execute + class TestVATAuditReport(TestCase): def setUp(self): frappe.set_user("Administrator") diff --git a/erpnext/regional/report/vat_audit_report/vat_audit_report.py b/erpnext/regional/report/vat_audit_report/vat_audit_report.py index 88f6b923e6..3637bcaf43 100644 --- a/erpnext/regional/report/vat_audit_report/vat_audit_report.py +++ b/erpnext/regional/report/vat_audit_report/vat_audit_report.py @@ -2,11 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe from frappe import _ from frappe.utils import formatdate, get_link_to_form + def execute(filters=None): return VATAuditReport(filters).run() diff --git a/erpnext/regional/united_arab_emirates/setup.py b/erpnext/regional/united_arab_emirates/setup.py index bd12d661f0..8b1905051c 100644 --- a/erpnext/regional/united_arab_emirates/setup.py +++ b/erpnext/regional/united_arab_emirates/setup.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals -import frappe, os, json +import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields from frappe.permissions import add_permission, update_permission_property from erpnext.payroll.doctype.gratuity_rule.gratuity_rule import get_gratuity_rule diff --git a/erpnext/regional/united_arab_emirates/utils.py b/erpnext/regional/united_arab_emirates/utils.py index 7d5fd6ecf8..66a96514fc 100644 --- a/erpnext/regional/united_arab_emirates/utils.py +++ b/erpnext/regional/united_arab_emirates/utils.py @@ -1,11 +1,14 @@ from __future__ import unicode_literals + import frappe from frappe import _ -import erpnext -from frappe.utils import flt, round_based_on_smallest_currency_fraction, money_in_words -from erpnext.controllers.taxes_and_totals import get_itemised_tax +from frappe.utils import flt, money_in_words, round_based_on_smallest_currency_fraction from six import iteritems +import erpnext +from erpnext.controllers.taxes_and_totals import get_itemised_tax + + def update_itemised_tax_data(doc): if not doc.taxes: return diff --git a/erpnext/regional/united_states/test_united_states.py b/erpnext/regional/united_states/test_united_states.py index 513570ed6d..19e9a3546f 100644 --- a/erpnext/regional/united_states/test_united_states.py +++ b/erpnext/regional/united_states/test_united_states.py @@ -1,8 +1,11 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import unittest + +import frappe + from erpnext.regional.report.irs_1099.irs_1099 import execute as execute_1099_report diff --git a/erpnext/restaurant/doctype/restaurant/restaurant.py b/erpnext/restaurant/doctype/restaurant/restaurant.py index 0bb7b692c7..486afc3a11 100644 --- a/erpnext/restaurant/doctype/restaurant/restaurant.py +++ b/erpnext/restaurant/doctype/restaurant/restaurant.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class Restaurant(Document): pass diff --git a/erpnext/restaurant/doctype/restaurant/restaurant_dashboard.py b/erpnext/restaurant/doctype/restaurant/restaurant_dashboard.py index adce5c7335..5b78bb2f45 100644 --- a/erpnext/restaurant/doctype/restaurant/restaurant_dashboard.py +++ b/erpnext/restaurant/doctype/restaurant/restaurant_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'restaurant', diff --git a/erpnext/restaurant/doctype/restaurant/test_restaurant.py b/erpnext/restaurant/doctype/restaurant/test_restaurant.py index 3ba7f5785e..574cd1f9e4 100644 --- a/erpnext/restaurant/doctype/restaurant/test_restaurant.py +++ b/erpnext/restaurant/doctype/restaurant/test_restaurant.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest test_records = [ diff --git a/erpnext/restaurant/doctype/restaurant_menu/restaurant_menu.py b/erpnext/restaurant/doctype/restaurant_menu/restaurant_menu.py index 952c46769b..632f4850d8 100644 --- a/erpnext/restaurant/doctype/restaurant_menu/restaurant_menu.py +++ b/erpnext/restaurant/doctype/restaurant_menu/restaurant_menu.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class RestaurantMenu(Document): def validate(self): for d in self.items: diff --git a/erpnext/restaurant/doctype/restaurant_menu/test_restaurant_menu.py b/erpnext/restaurant/doctype/restaurant_menu/test_restaurant_menu.py index 29f95fd8b1..00cbf358d6 100644 --- a/erpnext/restaurant/doctype/restaurant_menu/test_restaurant_menu.py +++ b/erpnext/restaurant/doctype/restaurant_menu/test_restaurant_menu.py @@ -3,9 +3,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + test_records = [ dict(doctype='Item', item_code='Food Item 1', item_group='Products', is_stock_item=0), diff --git a/erpnext/restaurant/doctype/restaurant_menu_item/restaurant_menu_item.py b/erpnext/restaurant/doctype/restaurant_menu_item/restaurant_menu_item.py index cc86bb3165..5d095f49a8 100644 --- a/erpnext/restaurant/doctype/restaurant_menu_item/restaurant_menu_item.py +++ b/erpnext/restaurant/doctype/restaurant_menu_item/restaurant_menu_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class RestaurantMenuItem(Document): pass diff --git a/erpnext/restaurant/doctype/restaurant_order_entry/restaurant_order_entry.py b/erpnext/restaurant/doctype/restaurant_order_entry/restaurant_order_entry.py index 357deaac00..1ed5921f35 100644 --- a/erpnext/restaurant/doctype/restaurant_order_entry/restaurant_order_entry.py +++ b/erpnext/restaurant/doctype/restaurant_order_entry/restaurant_order_entry.py @@ -3,11 +3,16 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe.model.document import Document + +import json + +import frappe from frappe import _ +from frappe.model.document import Document + from erpnext.controllers.queries import item_query + class RestaurantOrderEntry(Document): pass diff --git a/erpnext/restaurant/doctype/restaurant_order_entry_item/restaurant_order_entry_item.py b/erpnext/restaurant/doctype/restaurant_order_entry_item/restaurant_order_entry_item.py index e0c051b1ad..ee8928b13a 100644 --- a/erpnext/restaurant/doctype/restaurant_order_entry_item/restaurant_order_entry_item.py +++ b/erpnext/restaurant/doctype/restaurant_order_entry_item/restaurant_order_entry_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class RestaurantOrderEntryItem(Document): pass diff --git a/erpnext/restaurant/doctype/restaurant_reservation/restaurant_reservation.py b/erpnext/restaurant/doctype/restaurant_reservation/restaurant_reservation.py index f96de44c3d..f6d2a7c8cc 100644 --- a/erpnext/restaurant/doctype/restaurant_reservation/restaurant_reservation.py +++ b/erpnext/restaurant/doctype/restaurant_reservation/restaurant_reservation.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document + from datetime import timedelta + +from frappe.model.document import Document from frappe.utils import get_datetime + class RestaurantReservation(Document): def validate(self): if not self.reservation_end_time: diff --git a/erpnext/restaurant/doctype/restaurant_reservation/test_restaurant_reservation.py b/erpnext/restaurant/doctype/restaurant_reservation/test_restaurant_reservation.py index 71681b2f18..885da724aa 100644 --- a/erpnext/restaurant/doctype/restaurant_reservation/test_restaurant_reservation.py +++ b/erpnext/restaurant/doctype/restaurant_reservation/test_restaurant_reservation.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestRestaurantReservation(unittest.TestCase): pass diff --git a/erpnext/restaurant/doctype/restaurant_table/restaurant_table.py b/erpnext/restaurant/doctype/restaurant_table/restaurant_table.py index d5ea9d5398..0b5d635271 100644 --- a/erpnext/restaurant/doctype/restaurant_table/restaurant_table.py +++ b/erpnext/restaurant/doctype/restaurant_table/restaurant_table.py @@ -3,10 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, re + +import re + from frappe.model.document import Document from frappe.model.naming import make_autoname + class RestaurantTable(Document): def autoname(self): prefix = re.sub('-+', '-', self.restaurant.replace(' ', '-')) diff --git a/erpnext/restaurant/doctype/restaurant_table/test_restaurant_table.py b/erpnext/restaurant/doctype/restaurant_table/test_restaurant_table.py index ffdb6f742a..44059aee60 100644 --- a/erpnext/restaurant/doctype/restaurant_table/test_restaurant_table.py +++ b/erpnext/restaurant/doctype/restaurant_table/test_restaurant_table.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest test_records = [ diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index 1164f40237..4be8139d57 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -2,20 +2,26 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import json -from frappe.model.naming import set_name_by_naming_series -from frappe import _, msgprint + +import frappe import frappe.defaults -from frappe.utils import flt, cint, cstr, today, get_formatted_email +from frappe import _, msgprint +from frappe.contacts.address_and_contact import ( + delete_contact_and_address, + load_address_and_contact, +) from frappe.desk.reportview import build_match_conditions, get_filters_cond -from erpnext.utilities.transaction_base import TransactionBase -from erpnext.accounts.party import validate_party_accounts, get_dashboard_info, get_timeline_data # keep this -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address -from frappe.model.rename_doc import update_linked_doctypes from frappe.model.mapper import get_mapped_doc +from frappe.model.naming import set_name_by_naming_series +from frappe.model.rename_doc import update_linked_doctypes +from frappe.utils import cint, cstr, flt, get_formatted_email, today from frappe.utils.user import get_users_with_role +from erpnext.accounts.party import get_dashboard_info, validate_party_accounts +from erpnext.utilities.transaction_base import TransactionBase + class Customer(TransactionBase): def get_feed(self): diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py index 3d3dffa840..fd1db8fd52 100644 --- a/erpnext/selling/doctype/customer/test_customer.py +++ b/erpnext/selling/doctype/customer/test_customer.py @@ -3,13 +3,14 @@ from __future__ import unicode_literals -import frappe import unittest -from erpnext.accounts.party import get_due_date +import frappe from frappe.test_runner import make_test_records -from erpnext.exceptions import PartyFrozen, PartyDisabled from frappe.utils import flt + +from erpnext.accounts.party import get_due_date +from erpnext.exceptions import PartyDisabled, PartyFrozen from erpnext.selling.doctype.customer.customer import get_credit_limit, get_customer_outstanding from erpnext.tests.utils import create_test_contact_and_address @@ -19,6 +20,7 @@ test_records = frappe.get_test_records('Customer') from six import iteritems + class TestCustomer(unittest.TestCase): def setUp(self): if not frappe.get_value('Item', '_Test Item'): @@ -253,10 +255,10 @@ class TestCustomer(unittest.TestCase): return get_customer_outstanding('_Test Customer', '_Test Company') def test_customer_credit_limit(self): - from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice - from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice + from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order + from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note outstanding_amt = self.get_customer_outstanding_amount() credit_limit = get_credit_limit('_Test Customer', '_Test Company') diff --git a/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.py b/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.py index 60a4a9a5d2..53bcc1b102 100644 --- a/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.py +++ b/erpnext/selling/doctype/customer_credit_limit/customer_credit_limit.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class CustomerCreditLimit(Document): pass diff --git a/erpnext/selling/doctype/industry_type/industry_type.py b/erpnext/selling/doctype/industry_type/industry_type.py index 7a30d6524a..6d413ece2e 100644 --- a/erpnext/selling/doctype/industry_type/industry_type.py +++ b/erpnext/selling/doctype/industry_type/industry_type.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class IndustryType(Document): pass diff --git a/erpnext/selling/doctype/industry_type/test_industry_type.py b/erpnext/selling/doctype/industry_type/test_industry_type.py index ebc6366155..d6cf79ba89 100644 --- a/erpnext/selling/doctype/industry_type/test_industry_type.py +++ b/erpnext/selling/doctype/industry_type/test_industry_type.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Industry Type') diff --git a/erpnext/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py index ffcbb2daf0..128a9415c8 100644 --- a/erpnext/selling/doctype/installation_note/installation_note.py +++ b/erpnext/selling/doctype/installation_note/installation_note.py @@ -2,15 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe +from frappe import _ from frappe.utils import cstr, getdate -from frappe import _ from erpnext.stock.utils import get_valid_serial_nos - from erpnext.utilities.transaction_base import TransactionBase + class InstallationNote(TransactionBase): def __init__(self, *args, **kwargs): super(InstallationNote, self).__init__(*args, **kwargs) diff --git a/erpnext/selling/doctype/installation_note/test_installation_note.py b/erpnext/selling/doctype/installation_note/test_installation_note.py index 553d070da0..abfda9cd6b 100644 --- a/erpnext/selling/doctype/installation_note/test_installation_note.py +++ b/erpnext/selling/doctype/installation_note/test_installation_note.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Installation Note') diff --git a/erpnext/selling/doctype/installation_note_item/installation_note_item.py b/erpnext/selling/doctype/installation_note_item/installation_note_item.py index 7e1205231b..862c2a1bb5 100644 --- a/erpnext/selling/doctype/installation_note_item/installation_note_item.py +++ b/erpnext/selling/doctype/installation_note_item/installation_note_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class InstallationNoteItem(Document): pass diff --git a/erpnext/selling/doctype/product_bundle/product_bundle.py b/erpnext/selling/doctype/product_bundle/product_bundle.py index ae3482f402..4c73916f85 100644 --- a/erpnext/selling/doctype/product_bundle/product_bundle.py +++ b/erpnext/selling/doctype/product_bundle/product_bundle.py @@ -2,13 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe +from frappe import _ +from frappe.model.document import Document from frappe.utils import get_link_to_form -from frappe import _ - -from frappe.model.document import Document class ProductBundle(Document): def autoname(self): diff --git a/erpnext/selling/doctype/product_bundle/test_product_bundle.py b/erpnext/selling/doctype/product_bundle/test_product_bundle.py index 7d1d372b11..13bd2a3092 100644 --- a/erpnext/selling/doctype/product_bundle/test_product_bundle.py +++ b/erpnext/selling/doctype/product_bundle/test_product_bundle.py @@ -3,8 +3,8 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Product Bundle') def make_product_bundle(parent, items, qty=None): diff --git a/erpnext/selling/doctype/product_bundle_item/product_bundle_item.py b/erpnext/selling/doctype/product_bundle_item/product_bundle_item.py index 8721bfad86..5f71a27f36 100644 --- a/erpnext/selling/doctype/product_bundle_item/product_bundle_item.py +++ b/erpnext/selling/doctype/product_bundle_item/product_bundle_item.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ProductBundleItem(Document): pass diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py index 6cd03dd279..99c43bfc87 100644 --- a/erpnext/selling/doctype/quotation/quotation.py +++ b/erpnext/selling/doctype/quotation/quotation.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.model.mapper import get_mapped_doc -from frappe.utils import flt, nowdate, getdate from frappe import _ +from frappe.model.mapper import get_mapped_doc +from frappe.utils import flt, getdate, nowdate from erpnext.controllers.selling_controller import SellingController diff --git a/erpnext/selling/doctype/quotation/quotation_dashboard.py b/erpnext/selling/doctype/quotation/quotation_dashboard.py index d1bb788937..9586cb10b5 100644 --- a/erpnext/selling/doctype/quotation/quotation_dashboard.py +++ b/erpnext/selling/doctype/quotation/quotation_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'prevdoc_docname', diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py index 854260059c..a44089a9ce 100644 --- a/erpnext/selling/doctype/quotation/test_quotation.py +++ b/erpnext/selling/doctype/quotation/test_quotation.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import flt, add_days, nowdate, add_months, getdate import unittest +import frappe +from frappe.utils import add_days, add_months, flt, getdate, nowdate + test_dependencies = ["Product Bundle"] @@ -133,8 +134,10 @@ class TestQuotation(unittest.TestCase): def test_create_quotation_with_margin(self): from erpnext.selling.doctype.quotation.quotation import make_sales_order - from erpnext.selling.doctype.sales_order.sales_order \ - import make_delivery_note, make_sales_invoice + from erpnext.selling.doctype.sales_order.sales_order import ( + make_delivery_note, + make_sales_invoice, + ) rate_with_margin = flt((1500*18.75)/100 + 1500) @@ -227,9 +230,9 @@ class TestQuotation(unittest.TestCase): self.assertEqual(expired_quotation.status, "Expired") def test_product_bundle_mapping_on_creating_so(self): - from erpnext.stock.doctype.item.test_item import make_item from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.quotation.quotation import make_sales_order + from erpnext.stock.doctype.item.test_item import make_item make_item("_Test Product Bundle", {"is_stock_item": 0}) make_item("_Test Bundle Item 1", {"is_stock_item": 1}) @@ -258,8 +261,8 @@ class TestQuotation(unittest.TestCase): self.assertEqual(quotation_packed_items, so_packed_items) def test_product_bundle_price_calculation_when_calculate_bundle_price_is_unchecked(self): - from erpnext.stock.doctype.item.test_item import make_item from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle + from erpnext.stock.doctype.item.test_item import make_item make_item("_Test Product Bundle", {"is_stock_item": 0}) bundle_item1 = make_item("_Test Bundle Item 1", {"is_stock_item": 1}) @@ -278,8 +281,8 @@ class TestQuotation(unittest.TestCase): self.assertEqual(quotation.items[0].amount, 200) def test_product_bundle_price_calculation_when_calculate_bundle_price_is_checked(self): - from erpnext.stock.doctype.item.test_item import make_item from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle + from erpnext.stock.doctype.item.test_item import make_item make_item("_Test Product Bundle", {"is_stock_item": 0}) make_item("_Test Bundle Item 1", {"is_stock_item": 1}) diff --git a/erpnext/selling/doctype/quotation_item/quotation_item.py b/erpnext/selling/doctype/quotation_item/quotation_item.py index 7384871ed4..ea47249729 100644 --- a/erpnext/selling/doctype/quotation_item/quotation_item.py +++ b/erpnext/selling/doctype/quotation_item/quotation_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class QuotationItem(Document): pass diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 47ebfe90d3..9367609421 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -2,24 +2,32 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import json + +import frappe import frappe.utils -from frappe.utils import cstr, flt, getdate, cint, nowdate, add_days, get_link_to_form, strip_html from frappe import _ -from six import string_types -from frappe.model.utils import get_fetch_values -from frappe.model.mapper import get_mapped_doc -from erpnext.stock.stock_balance import update_bin_qty, get_reserved_qty -from frappe.desk.notifications import clear_doctype_notifications from frappe.contacts.doctype.address.address import get_company_address +from frappe.desk.notifications import clear_doctype_notifications +from frappe.model.mapper import get_mapped_doc +from frappe.model.utils import get_fetch_values +from frappe.utils import add_days, cint, cstr, flt, get_link_to_form, getdate, nowdate, strip_html +from six import string_types + +from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( + unlink_inter_company_doc, + update_linked_doc, + validate_inter_company_party, +) from erpnext.controllers.selling_controller import SellingController +from erpnext.manufacturing.doctype.production_plan.production_plan import ( + get_items_for_material_requests, +) from erpnext.selling.doctype.customer.customer import check_credit_limit -from erpnext.stock.doctype.item.item import get_item_defaults from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults -from erpnext.manufacturing.doctype.production_plan.production_plan import get_items_for_material_requests -from erpnext.accounts.doctype.sales_invoice.sales_invoice import validate_inter_company_party, update_linked_doc,\ - unlink_inter_company_doc +from erpnext.stock.doctype.item.item import get_item_defaults +from erpnext.stock.stock_balance import get_reserved_qty, update_bin_qty form_grid_templates = { "items": "templates/form_grid/item_grid.html" @@ -970,15 +978,15 @@ def make_purchase_order(source_name, selected_items=None, target_doc=None): }, target_doc, set_missing_values) set_delivery_date(doc.items, source_name) - + return doc def set_delivery_date(items, sales_order): delivery_dates = frappe.get_all( - 'Sales Order Item', + 'Sales Order Item', filters = { 'parent': sales_order - }, + }, fields = ['delivery_date', 'item_code'] ) diff --git a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py index 2a71c27009..ee3c707b5b 100644 --- a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py +++ b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'sales_order', diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py index 054791e9e4..bbfe7c06d8 100644 --- a/erpnext/selling/doctype/sales_order/test_sales_order.py +++ b/erpnext/selling/doctype/sales_order/test_sales_order.py @@ -1,21 +1,29 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import json import unittest + import frappe import frappe.permissions -from frappe.utils import flt, add_days, nowdate, getdate from frappe.core.doctype.user_permission.test_user_permission import create_user -from erpnext.selling.doctype.sales_order.sales_order \ - import make_material_request, make_delivery_note, make_sales_invoice, WarehouseRequired -from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry -from erpnext.selling.doctype.sales_order.sales_order import make_work_orders +from frappe.utils import add_days, flt, getdate, nowdate + from erpnext.controllers.accounts_controller import update_child_qty_rate -from erpnext.selling.doctype.sales_order.sales_order import make_raw_material_request from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle +from erpnext.selling.doctype.sales_order.sales_order import ( + WarehouseRequired, + make_delivery_note, + make_material_request, + make_raw_material_request, + make_sales_invoice, + make_work_orders, +) from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry + class TestSalesOrder(unittest.TestCase): @@ -162,8 +170,8 @@ class TestSalesOrder(unittest.TestCase): self.assertEqual(so.get("items")[0].delivered_qty, 9) # Make return deliver note, sales invoice and check quantity - from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice + from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note dn1 = create_delivery_note(is_return=1, return_against=dn.name, qty=-3, do_not_submit=True) dn1.items[0].against_sales_order = so.name @@ -444,8 +452,8 @@ class TestSalesOrder(unittest.TestCase): self.assertRaises(frappe.ValidationError, update_child_qty_rate,'Sales Order', trans_item, so.name) def test_update_child_with_precision(self): - from frappe.model.meta import get_field_precision from frappe.custom.doctype.property_setter.property_setter import make_property_setter + from frappe.model.meta import get_field_precision precision = get_field_precision(frappe.get_meta("Sales Order Item").get_field("rate")) @@ -731,9 +739,11 @@ class TestSalesOrder(unittest.TestCase): frappe.db.set_value("Stock Settings", None, "auto_insert_price_list_rate_if_missing", 1) def test_drop_shipping(self): - from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order_for_default_supplier, \ - update_status as so_update_status from erpnext.buying.doctype.purchase_order.purchase_order import update_status + from erpnext.selling.doctype.sales_order.sales_order import ( + make_purchase_order_for_default_supplier, + ) + from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status # make items po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 1, "delivered_by_supplier": 1}) @@ -815,8 +825,10 @@ class TestSalesOrder(unittest.TestCase): so.cancel() def test_drop_shipping_partial_order(self): - from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order_for_default_supplier, \ - update_status as so_update_status + from erpnext.selling.doctype.sales_order.sales_order import ( + make_purchase_order_for_default_supplier, + ) + from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status # make items po_item1 = make_item("_Test Item for Drop Shipping 1", {"is_stock_item": 1, "delivered_by_supplier": 1}) @@ -869,7 +881,9 @@ class TestSalesOrder(unittest.TestCase): def test_drop_shipping_full_for_default_suppliers(self): """Test if multiple POs are generated in one go against different default suppliers.""" - from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order_for_default_supplier + from erpnext.selling.doctype.sales_order.sales_order import ( + make_purchase_order_for_default_supplier, + ) if not frappe.db.exists("Item", "_Test Item for Drop Shipping 1"): make_item("_Test Item for Drop Shipping 1", {"is_stock_item": 1, "delivered_by_supplier": 1}) @@ -908,7 +922,7 @@ class TestSalesOrder(unittest.TestCase): def test_product_bundles_in_so_are_replaced_with_bundle_items_in_po(self): """ - Tests if the the Product Bundles in the Items table of Sales Orders are replaced with + Tests if the the Product Bundles in the Items table of Sales Orders are replaced with their child items(from the Packed Items table) on creating a Purchase Order from it. """ from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order @@ -1075,8 +1089,7 @@ class TestSalesOrder(unittest.TestCase): }] }) so.submit() - from erpnext.manufacturing.doctype.work_order.test_work_order import \ - make_wo_order_test_record + from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record work_order = make_wo_order_test_record(item=item.item_code, qty=1, do_not_save=True) work_order.fg_warehouse = "_Test Warehouse - _TC" @@ -1084,8 +1097,9 @@ class TestSalesOrder(unittest.TestCase): work_order.submit() make_stock_entry(item_code=item.item_code, target="_Test Warehouse - _TC", qty=1) item_serial_no = frappe.get_doc("Serial No", {"item_code": item.item_code}) - from erpnext.manufacturing.doctype.work_order.work_order import \ - make_stock_entry as make_production_stock_entry + from erpnext.manufacturing.doctype.work_order.work_order import ( + make_stock_entry as make_production_stock_entry, + ) se = frappe.get_doc(make_production_stock_entry(work_order.name, "Manufacture", 1)) se.submit() reserved_serial_no = se.get("items")[2].serial_no @@ -1117,8 +1131,9 @@ class TestSalesOrder(unittest.TestCase): si = make_sales_invoice(so.name) si.update_stock = 0 si.submit() - from erpnext.accounts.doctype.sales_invoice.sales_invoice import \ - make_delivery_note as make_delivery_note_from_invoice + from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( + make_delivery_note as make_delivery_note_from_invoice, + ) dn = make_delivery_note_from_invoice(si.name) dn.save() dn.submit() @@ -1155,6 +1170,7 @@ class TestSalesOrder(unittest.TestCase): def test_cancel_sales_order_after_cancel_payment_entry(self): from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry + # make a sales order so = make_sales_order() @@ -1264,7 +1280,9 @@ class TestSalesOrder(unittest.TestCase): self.assertRaises(frappe.ValidationError, so.cancel) def test_payment_terms_are_fetched_when_creating_sales_invoice(self): - from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template + from erpnext.accounts.doctype.payment_entry.test_payment_entry import ( + create_payment_terms_template, + ) from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice automatically_fetch_payment_terms() diff --git a/erpnext/selling/doctype/sales_order_item/sales_order_item.py b/erpnext/selling/doctype/sales_order_item/sales_order_item.py index 62afef3e17..772aa6c8ae 100644 --- a/erpnext/selling/doctype/sales_order_item/sales_order_item.py +++ b/erpnext/selling/doctype/sales_order_item/sales_order_item.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe.model.document import Document + class SalesOrderItem(Document): pass diff --git a/erpnext/selling/doctype/sales_partner_type/sales_partner_type.py b/erpnext/selling/doctype/sales_partner_type/sales_partner_type.py index 68d289f018..bdabef2fdb 100644 --- a/erpnext/selling/doctype/sales_partner_type/sales_partner_type.py +++ b/erpnext/selling/doctype/sales_partner_type/sales_partner_type.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SalesPartnerType(Document): pass diff --git a/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py b/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py index fb8f8b0417..895b0ecf00 100644 --- a/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py +++ b/erpnext/selling/doctype/sales_partner_type/test_sales_partner_type.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSalesPartnerType(unittest.TestCase): pass diff --git a/erpnext/selling/doctype/sales_team/sales_team.py b/erpnext/selling/doctype/sales_team/sales_team.py index 28bea254d6..9b542c0eea 100644 --- a/erpnext/selling/doctype/sales_team/sales_team.py +++ b/erpnext/selling/doctype/sales_team/sales_team.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class SalesTeam(Document): pass diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.py b/erpnext/selling/doctype/selling_settings/selling_settings.py index b54559ad28..5bed43e460 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.py +++ b/erpnext/selling/doctype/selling_settings/selling_settings.py @@ -4,13 +4,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import frappe.defaults -from frappe.utils import cint from frappe.custom.doctype.property_setter.property_setter import make_property_setter +from frappe.model.document import Document +from frappe.utils import cint from frappe.utils.nestedset import get_root_of -from frappe.model.document import Document class SellingSettings(Document): def on_update(self): @@ -36,7 +36,7 @@ class SellingSettings(Document): def toggle_editable_rate_for_bundle_items(self): editable_bundle_item_rates = cint(self.editable_bundle_item_rates) - + make_property_setter("Packed Item", "rate", "read_only", not(editable_bundle_item_rates), "Check", validate_fields_for_doctype=False) def set_default_customer_group_and_territory(self): diff --git a/erpnext/selling/doctype/selling_settings/test_selling_settings.py b/erpnext/selling/doctype/selling_settings/test_selling_settings.py index 961a54de0a..572a110cc3 100644 --- a/erpnext/selling/doctype/selling_settings/test_selling_settings.py +++ b/erpnext/selling/doctype/selling_settings/test_selling_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestSellingSettings(unittest.TestCase): pass diff --git a/erpnext/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py index 87846a84d3..45aee4ea6f 100644 --- a/erpnext/selling/doctype/sms_center/sms_center.py +++ b/erpnext/selling/doctype/sms_center/sms_center.py @@ -2,14 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe - -from frappe.utils import cstr -from frappe import msgprint, _ - -from frappe.model.document import Document - +from frappe import _, msgprint from frappe.core.doctype.sms_settings.sms_settings import send_sms +from frappe.model.document import Document +from frappe.utils import cstr + class SMSCenter(Document): @frappe.whitelist() diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.py b/erpnext/selling/page/point_of_sale/point_of_sale.py index 8c652c9d7c..b4338c920a 100644 --- a/erpnext/selling/page/point_of_sale/point_of_sale.py +++ b/erpnext/selling/page/point_of_sale/point_of_sale.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import json + import frappe from frappe.utils.nestedset import get_root_of -from frappe.utils import cint -from erpnext.accounts.doctype.pos_profile.pos_profile import get_item_groups + from erpnext.accounts.doctype.pos_invoice.pos_invoice import get_stock_availability +from erpnext.accounts.doctype.pos_profile.pos_profile import get_item_groups + def search_by_term(search_term, warehouse, price_list): result = search_for_serial_or_batch_or_barcode_number(search_term) or {} diff --git a/erpnext/selling/page/sales_funnel/sales_funnel.py b/erpnext/selling/page/sales_funnel/sales_funnel.py index 78aaa49a66..043a3e7f0f 100644 --- a/erpnext/selling/page/sales_funnel/sales_funnel.py +++ b/erpnext/selling/page/sales_funnel/sales_funnel.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe import _ -from erpnext.accounts.report.utils import convert +import frappe import pandas as pd +from frappe import _ + +from erpnext.accounts.report.utils import convert + def validate_filters(from_date, to_date, company): if from_date and to_date and (from_date >= to_date): diff --git a/erpnext/selling/report/address_and_contacts/address_and_contacts.py b/erpnext/selling/report/address_and_contacts/address_and_contacts.py index f295333322..fea19f9f16 100644 --- a/erpnext/selling/report/address_and_contacts/address_and_contacts.py +++ b/erpnext/selling/report/address_and_contacts/address_and_contacts.py @@ -2,10 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals -from six.moves import range -from six import iteritems -import frappe +import frappe +from six import iteritems +from six.moves import range field_map = { "Contact": [ "first_name", "last_name", "phone", "mobile_no", "email_id", "is_primary_contact" ], diff --git a/erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py b/erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py index 5523bad571..c7040bef70 100644 --- a/erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py +++ b/erpnext/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe.utils import flt + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py b/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py index f15f63d7bb..a29b5c8a62 100644 --- a/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py +++ b/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py @@ -2,11 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import calendar + import frappe from frappe import _ from frappe.utils import cint, cstr, getdate + def execute(filters=None): common_columns = [ { diff --git a/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py b/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py index 6fb7666c2c..ed2fbfd595 100644 --- a/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py +++ b/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt -from erpnext.selling.doctype.customer.customer import get_customer_outstanding, get_credit_limit + +from erpnext.selling.doctype.customer.customer import get_credit_limit, get_customer_outstanding + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/selling/report/customer_wise_item_price/customer_wise_item_price.py b/erpnext/selling/report/customer_wise_item_price/customer_wise_item_price.py index eb9273a562..535d551cfa 100644 --- a/erpnext/selling/report/customer_wise_item_price/customer_wise_item_price.py +++ b/erpnext/selling/report/customer_wise_item_price/customer_wise_item_price.py @@ -4,10 +4,11 @@ from __future__ import unicode_literals import frappe +from frappe import _ + from erpnext import get_default_company from erpnext.accounts.party import get_party_details from erpnext.stock.get_item_details import get_price_list_rate_for -from frappe import _ def execute(filters=None): diff --git a/erpnext/selling/report/inactive_customers/inactive_customers.py b/erpnext/selling/report/inactive_customers/inactive_customers.py index e7aff36e82..c79efe24b7 100644 --- a/erpnext/selling/report/inactive_customers/inactive_customers.py +++ b/erpnext/selling/report/inactive_customers/inactive_customers.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cint from frappe import _ +from frappe.utils import cint + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py b/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py index 1700fc7bdd..539631240e 100644 --- a/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py +++ b/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py @@ -2,11 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt from frappe.utils.nestedset import get_descendants_of + def execute(filters=None): filters = frappe._dict(filters or {}) if filters.from_date > filters.to_date: diff --git a/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py b/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py index e89c45182f..f241a3e13d 100644 --- a/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py +++ b/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + def execute(filters=None): columns = get_columns() data = get_data() diff --git a/erpnext/selling/report/pending_so_items_for_purchase_request/test_pending_so_items_for_purchase_request.py b/erpnext/selling/report/pending_so_items_for_purchase_request/test_pending_so_items_for_purchase_request.py index f2518f09f8..95e332ac53 100644 --- a/erpnext/selling/report/pending_so_items_for_purchase_request/test_pending_so_items_for_purchase_request.py +++ b/erpnext/selling/report/pending_so_items_for_purchase_request/test_pending_so_items_for_purchase_request.py @@ -2,12 +2,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import unittest -from frappe.utils import nowdate, add_months -from erpnext.selling.report.pending_so_items_for_purchase_request.pending_so_items_for_purchase_request\ - import execute + +from frappe.utils import add_months, nowdate + from erpnext.selling.doctype.sales_order.sales_order import make_material_request from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order +from erpnext.selling.report.pending_so_items_for_purchase_request.pending_so_items_for_purchase_request import ( + execute, +) class TestPendingSOItemsForPurchaseRequest(unittest.TestCase): diff --git a/erpnext/selling/report/quotation_trends/quotation_trends.py b/erpnext/selling/report/quotation_trends/quotation_trends.py index 968e2ff26f..d2ee9a8b74 100644 --- a/erpnext/selling/report/quotation_trends/quotation_trends.py +++ b/erpnext/selling/report/quotation_trends/quotation_trends.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe import _ -from erpnext.controllers.trends import get_columns, get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py index d036a1cb09..56bcb3180a 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.py +++ b/erpnext/selling/report/sales_analytics/sales_analytics.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _, scrub -from frappe.utils import getdate, flt, add_to_date, add_days +from frappe.utils import add_days, add_to_date, flt, getdate from six import iteritems + from erpnext.accounts.utils import get_fiscal_year + def execute(filters=None): return Analytics(filters).run() @@ -293,7 +296,7 @@ class Analytics(object): return period def get_period_date_ranges(self): - from dateutil.relativedelta import relativedelta, MO + from dateutil.relativedelta import MO, relativedelta from_date, to_date = getdate(self.filters.from_date), getdate(self.filters.to_date) increment = { diff --git a/erpnext/selling/report/sales_analytics/test_analytics.py b/erpnext/selling/report/sales_analytics/test_analytics.py index 4d81a1e4dd..a1800993f4 100644 --- a/erpnext/selling/report/sales_analytics/test_analytics.py +++ b/erpnext/selling/report/sales_analytics/test_analytics.py @@ -2,11 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -import frappe.defaults + import unittest -from erpnext.selling.report.sales_analytics.sales_analytics import execute + +import frappe + from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order +from erpnext.selling.report.sales_analytics.sales_analytics import execute + class TestAnalytics(unittest.TestCase): def test_sales_analytics(self): diff --git a/erpnext/selling/report/sales_order_analysis/sales_order_analysis.py b/erpnext/selling/report/sales_order_analysis/sales_order_analysis.py index 00dcd69c6e..805c3d804f 100644 --- a/erpnext/selling/report/sales_order_analysis/sales_order_analysis.py +++ b/erpnext/selling/report/sales_order_analysis/sales_order_analysis.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import copy + +import frappe from frappe import _ -from frappe.utils import flt, date_diff, getdate +from frappe.utils import date_diff, flt, getdate + def execute(filters=None): if not filters: diff --git a/erpnext/selling/report/sales_order_trends/sales_order_trends.py b/erpnext/selling/report/sales_order_trends/sales_order_trends.py index de7d3f2f77..89daf44778 100644 --- a/erpnext/selling/report/sales_order_trends/sales_order_trends.py +++ b/erpnext/selling/report/sales_order_trends/sales_order_trends.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe import _ -from erpnext.controllers.trends import get_columns,get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py b/erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py index 2c49d51a92..a84dec032e 100644 --- a/erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py +++ b/erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.py @@ -2,9 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ -from frappe.utils import flt +from frappe import _, msgprint def execute(filters=None): diff --git a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py index 89cfa16abe..d4f49c7146 100644 --- a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py +++ b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py @@ -2,12 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt -from erpnext.accounts.utils import get_fiscal_year + +from erpnext.accounts.doctype.monthly_distribution.monthly_distribution import ( + get_periodwise_distribution_data, +) from erpnext.accounts.report.financial_statements import get_period_list -from erpnext.accounts.doctype.monthly_distribution.monthly_distribution import get_periodwise_distribution_data +from erpnext.accounts.utils import get_fiscal_year + def get_data_column(filters, partner_doctype): data = [] diff --git a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/sales_partner_target_variance_based_on_item_group.py b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/sales_partner_target_variance_based_on_item_group.py index 87ed5a8ea2..de21c4ad02 100644 --- a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/sales_partner_target_variance_based_on_item_group.py +++ b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/sales_partner_target_variance_based_on_item_group.py @@ -2,8 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from erpnext.selling.report.sales_partner_target_variance_based_on_item_group.item_group_wise_sales_target_variance import get_data_column + +from erpnext.selling.report.sales_partner_target_variance_based_on_item_group.item_group_wise_sales_target_variance import ( + get_data_column, +) + def execute(filters=None): data = [] diff --git a/erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py b/erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py index f07293d8ec..39ec072f6b 100644 --- a/erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py +++ b/erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py @@ -2,9 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ -from frappe.utils import flt +from frappe import _, msgprint def execute(filters=None): diff --git a/erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py b/erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py index 9917d72af8..13245b789e 100644 --- a/erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py +++ b/erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py @@ -2,9 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ -from frappe.utils import flt +from frappe import _, msgprint def execute(filters=None): diff --git a/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py b/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py index ea9bbab0c7..83a1c2ce75 100644 --- a/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py +++ b/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py @@ -2,8 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from erpnext.selling.report.sales_partner_target_variance_based_on_item_group.item_group_wise_sales_target_variance import get_data_column + +from erpnext.selling.report.sales_partner_target_variance_based_on_item_group.item_group_wise_sales_target_variance import ( + get_data_column, +) + def execute(filters=None): data = [] diff --git a/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py b/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py index 41c7f76517..9dc2923b0a 100644 --- a/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py +++ b/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ -from frappe.utils import flt +from frappe import _, msgprint + from erpnext import get_company_currency + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/selling/report/territory_target_variance_based_on_item_group/territory_target_variance_based_on_item_group.py b/erpnext/selling/report/territory_target_variance_based_on_item_group/territory_target_variance_based_on_item_group.py index b1d89cc3fb..b340124a04 100644 --- a/erpnext/selling/report/territory_target_variance_based_on_item_group/territory_target_variance_based_on_item_group.py +++ b/erpnext/selling/report/territory_target_variance_based_on_item_group/territory_target_variance_based_on_item_group.py @@ -2,8 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from erpnext.selling.report.sales_partner_target_variance_based_on_item_group.item_group_wise_sales_target_variance import get_data_column + +from erpnext.selling.report.sales_partner_target_variance_based_on_item_group.item_group_wise_sales_target_variance import ( + get_data_column, +) + def execute(filters=None): data = [] diff --git a/erpnext/selling/report/territory_wise_sales/territory_wise_sales.py b/erpnext/selling/report/territory_wise_sales/territory_wise_sales.py index e883500170..c334381b43 100644 --- a/erpnext/selling/report/territory_wise_sales/territory_wise_sales.py +++ b/erpnext/selling/report/territory_wise_sales/territory_wise_sales.py @@ -2,10 +2,13 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from erpnext import get_default_currency from frappe import _ +from erpnext import get_default_currency + + def execute(filters=None): filters = frappe._dict(filters) columns = get_columns() diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js index e440f33020..955ef5e939 100644 --- a/erpnext/selling/sales_common.js +++ b/erpnext/selling/sales_common.js @@ -90,7 +90,7 @@ erpnext.selling.SellingController = class SellingController extends erpnext.Tran this.frm.toggle_display("customer_name", (this.frm.doc.customer_name && this.frm.doc.customer_name!==this.frm.doc.customer)); - + this.toggle_editable_price_list_rate(); } diff --git a/erpnext/setup/default_energy_point_rules.py b/erpnext/setup/default_energy_point_rules.py index 8dbccc497b..c41d000215 100644 --- a/erpnext/setup/default_energy_point_rules.py +++ b/erpnext/setup/default_energy_point_rules.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + from frappe import _ doctype_rule_map = { diff --git a/erpnext/setup/default_success_action.py b/erpnext/setup/default_success_action.py index 827839f8b7..be072fc47f 100644 --- a/erpnext/setup/default_success_action.py +++ b/erpnext/setup/default_success_action.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + from frappe import _ doctype_list = [ diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py index fec5c7ca95..332d7f438a 100644 --- a/erpnext/setup/doctype/authorization_control/authorization_control.py +++ b/erpnext/setup/doctype/authorization_control/authorization_control.py @@ -2,11 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cstr, flt, has_common, comma_or -from frappe import session, _ +from frappe import _, session +from frappe.utils import comma_or, cstr, flt, has_common + from erpnext.utilities.transaction_base import TransactionBase + class AuthorizationControl(TransactionBase): def get_appr_user_role(self, det, doctype_name, total, based_on, condition, item, company): amt_list, appr_users, appr_roles = [], [], [] diff --git a/erpnext/setup/doctype/authorization_rule/authorization_rule.py b/erpnext/setup/doctype/authorization_rule/authorization_rule.py index eb8e6ebe78..ab0f420121 100644 --- a/erpnext/setup/doctype/authorization_rule/authorization_rule.py +++ b/erpnext/setup/doctype/authorization_rule/authorization_rule.py @@ -2,12 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe - -from frappe.utils import cstr, flt -from frappe import _, msgprint - +from frappe import _ from frappe.model.document import Document +from frappe.utils import cstr, flt + class AuthorizationRule(Document): def check_duplicate_entry(self): diff --git a/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py b/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py index 332f103992..8a0f664907 100644 --- a/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py +++ b/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Authorization Rule') diff --git a/erpnext/setup/doctype/brand/brand.py b/erpnext/setup/doctype/brand/brand.py index a8d1cf8ff2..4cfb018c86 100644 --- a/erpnext/setup/doctype/brand/brand.py +++ b/erpnext/setup/doctype/brand/brand.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import copy +import frappe from frappe.model.document import Document + class Brand(Document): pass diff --git a/erpnext/setup/doctype/brand/test_brand.py b/erpnext/setup/doctype/brand/test_brand.py index 25ed86ef1d..16873c9fc9 100644 --- a/erpnext/setup/doctype/brand/test_brand.py +++ b/erpnext/setup/doctype/brand/test_brand.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Brand') diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py index 6dee2ad92a..6257d560ec 100644 --- a/erpnext/setup/doctype/company/company.py +++ b/erpnext/setup/doctype/company/company.py @@ -2,23 +2,24 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, os, json -from frappe import _ -from frappe.utils import get_timestamp -from frappe.utils import cint, today, formatdate -import frappe.defaults -from frappe.cache_manager import clear_defaults_cache - -from frappe.model.document import Document -from frappe.contacts.address_and_contact import load_address_and_contact -from frappe.utils.nestedset import NestedSet - -from past.builtins import cmp import functools +import json +import os + +import frappe +import frappe.defaults +from frappe import _ +from frappe.cache_manager import clear_defaults_cache +from frappe.contacts.address_and_contact import load_address_and_contact +from frappe.utils import cint, formatdate, get_timestamp, today +from frappe.utils.nestedset import NestedSet +from past.builtins import cmp + from erpnext.accounts.doctype.account.account import get_account_currency from erpnext.setup.setup_wizard.operations.taxes_setup import setup_taxes_and_charges + class Company(NestedSet): nsm_parent_field = 'parent_company' @@ -479,8 +480,9 @@ def update_company_current_month_sales(company): def update_company_monthly_sales(company): '''Cache past year monthly sales of every company based on sales invoices''' - from frappe.utils.goal import get_monthly_results import json + + from frappe.utils.goal import get_monthly_results filter_str = "company = {0} and status != 'Draft' and docstatus=1".format(frappe.db.escape(company)) month_to_value_dict = get_monthly_results("Sales Invoice", "base_grand_total", "posting_date", filter_str, "sum") diff --git a/erpnext/setup/doctype/company/company_dashboard.py b/erpnext/setup/doctype/company/company_dashboard.py index 2d760284e5..3afea098a0 100644 --- a/erpnext/setup/doctype/company/company_dashboard.py +++ b/erpnext/setup/doctype/company/company_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'graph': True, diff --git a/erpnext/setup/doctype/company/test_company.py b/erpnext/setup/doctype/company/test_company.py index 1b7fd4fd5c..abc4689a20 100644 --- a/erpnext/setup/doctype/company/test_company.py +++ b/erpnext/setup/doctype/company/test_company.py @@ -2,12 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -import unittest import json +import unittest + +import frappe from frappe import _ from frappe.utils import random_string -from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import get_charts_for_country + +from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import ( + get_charts_for_country, +) test_ignore = ["Account", "Cost Center", "Payment Terms Template", "Salary Component", "Warehouse"] test_dependencies = ["Fiscal Year"] diff --git a/erpnext/setup/doctype/currency_exchange/currency_exchange.py b/erpnext/setup/doctype/currency_exchange/currency_exchange.py index 6480f60f59..0b86e29377 100644 --- a/erpnext/setup/doctype/currency_exchange/currency_exchange.py +++ b/erpnext/setup/doctype/currency_exchange/currency_exchange.py @@ -4,10 +4,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe import _, throw from frappe.model.document import Document -from frappe.utils import get_datetime_str, formatdate, nowdate, cint +from frappe.utils import cint, formatdate, get_datetime_str, nowdate + class CurrencyExchange(Document): def autoname(self): diff --git a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py index 0eb7e7bf46..2b007e9efd 100644 --- a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py +++ b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py @@ -1,11 +1,13 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt -import frappe, unittest +import unittest from unittest import mock -from frappe.utils import flt + +import frappe +from frappe.utils import cint, flt + from erpnext.setup.utils import get_exchange_rate -from frappe.utils import cint test_records = frappe.get_test_records('Currency Exchange') diff --git a/erpnext/setup/doctype/customer_group/customer_group.py b/erpnext/setup/doctype/customer_group/customer_group.py index c06669b16b..6e72810c56 100644 --- a/erpnext/setup/doctype/customer_group/customer_group.py +++ b/erpnext/setup/doctype/customer_group/customer_group.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ - - from frappe.utils.nestedset import NestedSet, get_root_of + + class CustomerGroup(NestedSet): nsm_parent_field = 'parent_customer_group' def validate(self): diff --git a/erpnext/setup/doctype/customer_group/test_customer_group.py b/erpnext/setup/doctype/customer_group/test_customer_group.py index ec90b376cd..e04b79b8f3 100644 --- a/erpnext/setup/doctype/customer_group/test_customer_group.py +++ b/erpnext/setup/doctype/customer_group/test_customer_group.py @@ -7,4 +7,5 @@ test_ignore = ["Price List"] import frappe + test_records = frappe.get_test_records('Customer Group') diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py index 217829f126..4e9a8ccad8 100644 --- a/erpnext/setup/doctype/email_digest/email_digest.py +++ b/erpnext/setup/doctype/email_digest/email_digest.py @@ -2,19 +2,34 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe import _ -from frappe.utils import (fmt_money, formatdate, format_time, now_datetime, - get_url_to_form, get_url_to_list, flt, get_link_to_report, add_to_date, today) + from datetime import timedelta -from dateutil.relativedelta import relativedelta -from frappe.core.doctype.user.user import STANDARD_USERS + +import frappe import frappe.desk.notifications +from dateutil.relativedelta import relativedelta +from frappe import _ +from frappe.core.doctype.user.user import STANDARD_USERS +from frappe.utils import ( + add_to_date, + flt, + fmt_money, + format_time, + formatdate, + get_link_to_report, + get_url_to_form, + get_url_to_list, + now_datetime, + today, +) + from erpnext.accounts.utils import get_balance_on, get_count_on, get_fiscal_year user_specific_content = ["calendar_events", "todo_list"] from frappe.model.document import Document + + class EmailDigest(Document): def __init__(self, *args, **kwargs): super(EmailDigest, self).__init__(*args, **kwargs) diff --git a/erpnext/setup/doctype/email_digest/quotes.py b/erpnext/setup/doctype/email_digest/quotes.py index 5451ee1daf..c77fe824ac 100644 --- a/erpnext/setup/doctype/email_digest/quotes.py +++ b/erpnext/setup/doctype/email_digest/quotes.py @@ -1,7 +1,9 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals + import random + def get_random_quote(): quotes = [ ("Start by doing what's necessary; then do what's possible; and suddenly you are doing the impossible.", "Francis of Assisi"), diff --git a/erpnext/setup/doctype/email_digest/test_email_digest.py b/erpnext/setup/doctype/email_digest/test_email_digest.py index afe693afd2..b3d0ce325b 100644 --- a/erpnext/setup/doctype/email_digest/test_email_digest.py +++ b/erpnext/setup/doctype/email_digest/test_email_digest.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Email Digest') diff --git a/erpnext/setup/doctype/email_digest_recipient/email_digest_recipient.py b/erpnext/setup/doctype/email_digest_recipient/email_digest_recipient.py index 968c51c345..5c8d695b6e 100644 --- a/erpnext/setup/doctype/email_digest_recipient/email_digest_recipient.py +++ b/erpnext/setup/doctype/email_digest_recipient/email_digest_recipient.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class EmailDigestRecipient(Document): pass diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.py b/erpnext/setup/doctype/global_defaults/global_defaults.py index a0ba1efb5b..66d3b9ee48 100644 --- a/erpnext/setup/doctype/global_defaults/global_defaults.py +++ b/erpnext/setup/doctype/global_defaults/global_defaults.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + """Global Defaults""" import frappe import frappe.defaults -from frappe.utils import cint from frappe.custom.doctype.property_setter.property_setter import make_property_setter +from frappe.utils import cint keydict = { # "key in defaults": "key in Global Defaults" @@ -22,6 +23,7 @@ keydict = { from frappe.model.document import Document + class GlobalDefaults(Document): def on_update(self): diff --git a/erpnext/setup/doctype/global_defaults/test_global_defaults.py b/erpnext/setup/doctype/global_defaults/test_global_defaults.py index 0495af7b41..70a7c08c11 100644 --- a/erpnext/setup/doctype/global_defaults/test_global_defaults.py +++ b/erpnext/setup/doctype/global_defaults/test_global_defaults.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestGlobalDefaults(unittest.TestCase): pass diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py index c46b6cc9bd..ddf3e662e0 100644 --- a/erpnext/setup/doctype/item_group/item_group.py +++ b/erpnext/setup/doctype/item_group/item_group.py @@ -2,19 +2,22 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import copy + +import frappe from frappe import _ -from frappe.utils import nowdate, cint, cstr +from frappe.utils import cint, cstr, nowdate from frappe.utils.nestedset import NestedSet -from frappe.website.website_generator import WebsiteGenerator from frappe.website.utils import clear_cache -from frappe.website.doctype.website_slideshow.website_slideshow import get_slideshow -from erpnext.shopping_cart.product_info import set_product_info_for_website -from erpnext.utilities.product import get_qty_in_stock +from frappe.website.website_generator import WebsiteGenerator from six.moves.urllib.parse import quote -from erpnext.shopping_cart.product_query import ProductQuery + from erpnext.shopping_cart.filters import ProductFiltersBuilder +from erpnext.shopping_cart.product_info import set_product_info_for_website +from erpnext.shopping_cart.product_query import ProductQuery +from erpnext.utilities.product import get_qty_in_stock + class ItemGroup(NestedSet, WebsiteGenerator): nsm_parent_field = 'parent_item_group' diff --git a/erpnext/setup/doctype/item_group/test_item_group.py b/erpnext/setup/doctype/item_group/test_item_group.py index 745b13a5be..a816f391c6 100644 --- a/erpnext/setup/doctype/item_group/test_item_group.py +++ b/erpnext/setup/doctype/item_group/test_item_group.py @@ -2,10 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import print_function, unicode_literals + import unittest + import frappe -from frappe.utils.nestedset import NestedSetRecursionError, NestedSetMultipleRootsError, \ - NestedSetChildExistsError, NestedSetInvalidMergeError, rebuild_tree, get_ancestors_of +from frappe.utils.nestedset import ( + NestedSetChildExistsError, + NestedSetInvalidMergeError, + NestedSetMultipleRootsError, + NestedSetRecursionError, + get_ancestors_of, + rebuild_tree, +) test_records = frappe.get_test_records('Item Group') diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py index c5d5747961..005cfec769 100644 --- a/erpnext/setup/doctype/naming_series/naming_series.py +++ b/erpnext/setup/doctype/naming_series/naming_series.py @@ -2,15 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe - -from frappe.utils import cstr, cint -from frappe import msgprint, throw, _ - +from frappe import _, msgprint, throw +from frappe.core.doctype.doctype.doctype import validate_series from frappe.model.document import Document from frappe.model.naming import parse_naming_series from frappe.permissions import get_doctypes_with_read -from frappe.core.doctype.doctype.doctype import validate_series +from frappe.utils import cint, cstr + class NamingSeriesNotSetError(frappe.ValidationError): pass diff --git a/erpnext/setup/doctype/party_type/party_type.py b/erpnext/setup/doctype/party_type/party_type.py index 96e60936a4..8424c7fe93 100644 --- a/erpnext/setup/doctype/party_type/party_type.py +++ b/erpnext/setup/doctype/party_type/party_type.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class PartyType(Document): pass diff --git a/erpnext/setup/doctype/party_type/test_party_type.py b/erpnext/setup/doctype/party_type/test_party_type.py index 079fe2fe3b..e5f2908eb4 100644 --- a/erpnext/setup/doctype/party_type/test_party_type.py +++ b/erpnext/setup/doctype/party_type/test_party_type.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Party Type') diff --git a/erpnext/setup/doctype/print_heading/print_heading.py b/erpnext/setup/doctype/print_heading/print_heading.py index 3d5cd2d6f9..cf25638608 100644 --- a/erpnext/setup/doctype/print_heading/print_heading.py +++ b/erpnext/setup/doctype/print_heading/print_heading.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PrintHeading(Document): pass diff --git a/erpnext/setup/doctype/print_heading/test_print_heading.py b/erpnext/setup/doctype/print_heading/test_print_heading.py index b2be2e375e..06f801a654 100644 --- a/erpnext/setup/doctype/print_heading/test_print_heading.py +++ b/erpnext/setup/doctype/print_heading/test_print_heading.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Print Heading') diff --git a/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.py b/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.py index 42c5a5a54f..9131cc334a 100644 --- a/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.py +++ b/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class QuotationLostReason(Document): pass diff --git a/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py b/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py index f6b30b649b..ab8d61f1eb 100644 --- a/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py +++ b/erpnext/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Quotation Lost Reason') diff --git a/erpnext/setup/doctype/quotation_lost_reason_detail/quotation_lost_reason_detail.py b/erpnext/setup/doctype/quotation_lost_reason_detail/quotation_lost_reason_detail.py index 7bb8d02670..434f24ea92 100644 --- a/erpnext/setup/doctype/quotation_lost_reason_detail/quotation_lost_reason_detail.py +++ b/erpnext/setup/doctype/quotation_lost_reason_detail/quotation_lost_reason_detail.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QuotationLostReasonDetail(Document): pass diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.py b/erpnext/setup/doctype/sales_partner/sales_partner.py index 675f9ca560..6c741a8fb4 100644 --- a/erpnext/setup/doctype/sales_partner/sales_partner.py +++ b/erpnext/setup/doctype/sales_partner/sales_partner.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe.contacts.address_and_contact import load_address_and_contact from frappe.utils import cstr, filter_strip_join from frappe.website.website_generator import WebsiteGenerator -from frappe.contacts.address_and_contact import load_address_and_contact + class SalesPartner(WebsiteGenerator): website = frappe._dict( diff --git a/erpnext/setup/doctype/sales_partner/test_sales_partner.py b/erpnext/setup/doctype/sales_partner/test_sales_partner.py index 4548a4e19b..6ece239040 100644 --- a/erpnext/setup/doctype/sales_partner/test_sales_partner.py +++ b/erpnext/setup/doctype/sales_partner/test_sales_partner.py @@ -2,8 +2,8 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Sales Partner') test_ignore = ["Item Group"] diff --git a/erpnext/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py index 19c2e5b954..c7cad6bb99 100644 --- a/erpnext/setup/doctype/sales_person/sales_person.py +++ b/erpnext/setup/doctype/sales_person/sales_person.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt from frappe.utils.nestedset import NestedSet, get_root_of + from erpnext import get_default_currency + class SalesPerson(NestedSet): nsm_parent_field = 'parent_sales_person' diff --git a/erpnext/setup/doctype/sales_person/sales_person_dashboard.py b/erpnext/setup/doctype/sales_person/sales_person_dashboard.py index 662008ec8d..61c1ba46d3 100644 --- a/erpnext/setup/doctype/sales_person/sales_person_dashboard.py +++ b/erpnext/setup/doctype/sales_person/sales_person_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/setup/doctype/sales_person/test_sales_person.py b/erpnext/setup/doctype/sales_person/test_sales_person.py index 8313cb4508..497aaad74f 100644 --- a/erpnext/setup/doctype/sales_person/test_sales_person.py +++ b/erpnext/setup/doctype/sales_person/test_sales_person.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals test_dependencies = ["Employee"] import frappe + test_records = frappe.get_test_records('Sales Person') test_ignore = ["Item Group"] diff --git a/erpnext/setup/doctype/supplier_group/supplier_group.py b/erpnext/setup/doctype/supplier_group/supplier_group.py index 9d84f9097b..0ca3525792 100644 --- a/erpnext/setup/doctype/supplier_group/supplier_group.py +++ b/erpnext/setup/doctype/supplier_group/supplier_group.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.utils.nestedset import NestedSet, get_root_of + class SupplierGroup(NestedSet): nsm_parent_field = 'parent_supplier_group' diff --git a/erpnext/setup/doctype/supplier_group/test_supplier_group.py b/erpnext/setup/doctype/supplier_group/test_supplier_group.py index 0e3d23d6bd..b3a636635e 100644 --- a/erpnext/setup/doctype/supplier_group/test_supplier_group.py +++ b/erpnext/setup/doctype/supplier_group/test_supplier_group.py @@ -4,4 +4,5 @@ from __future__ import unicode_literals import frappe + test_records = frappe.get_test_records('Supplier Group') diff --git a/erpnext/setup/doctype/target_detail/target_detail.py b/erpnext/setup/doctype/target_detail/target_detail.py index 633be45d20..89cd814f2d 100644 --- a/erpnext/setup/doctype/target_detail/target_detail.py +++ b/erpnext/setup/doctype/target_detail/target_detail.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class TargetDetail(Document): pass diff --git a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py index 5b00ccbdbb..8c9059f61e 100644 --- a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py +++ b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py @@ -2,15 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + +import json + import frappe from frappe import _, throw -import json from frappe.model.document import Document -from frappe.utils.jinja import validate_template from frappe.utils import cint - +from frappe.utils.jinja import validate_template from six import string_types + class TermsandConditions(Document): def validate(self): if self.terms: diff --git a/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py b/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py index 6fea78f46a..abfa9214d6 100644 --- a/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py +++ b/erpnext/setup/doctype/terms_and_conditions/test_terms_and_conditions.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Terms and Conditions') diff --git a/erpnext/setup/doctype/territory/territory.py b/erpnext/setup/doctype/territory/territory.py index 7eefe77495..f61796b9bd 100644 --- a/erpnext/setup/doctype/territory/territory.py +++ b/erpnext/setup/doctype/territory/territory.py @@ -2,12 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.utils import flt -from frappe import _ +import frappe +from frappe import _ +from frappe.utils import flt from frappe.utils.nestedset import NestedSet, get_root_of + class Territory(NestedSet): nsm_parent_field = 'parent_territory' diff --git a/erpnext/setup/doctype/territory/test_territory.py b/erpnext/setup/doctype/territory/test_territory.py index efe00c5a30..a3aa866fff 100644 --- a/erpnext/setup/doctype/territory/test_territory.py +++ b/erpnext/setup/doctype/territory/test_territory.py @@ -2,8 +2,8 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('Territory') test_ignore = ["Item Group"] diff --git a/erpnext/setup/doctype/transaction_deletion_record/test_transaction_deletion_record.py b/erpnext/setup/doctype/transaction_deletion_record/test_transaction_deletion_record.py index 933a8c3bed..aa0f79b4c8 100644 --- a/erpnext/setup/doctype/transaction_deletion_record/test_transaction_deletion_record.py +++ b/erpnext/setup/doctype/transaction_deletion_record/test_transaction_deletion_record.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestTransactionDeletionRecord(unittest.TestCase): def setUp(self): create_company('Dunder Mifflin Paper Co') diff --git a/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py b/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py index 8a49155480..efb038facc 100644 --- a/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py +++ b/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py @@ -3,11 +3,13 @@ # For license information, please see license.txt from __future__ import unicode_literals -from frappe.utils import cint + import frappe -from frappe.model.document import Document from frappe import _ from frappe.desk.notifications import clear_notifications +from frappe.model.document import Document +from frappe.utils import cint + class TransactionDeletionRecord(Document): def validate(self): diff --git a/erpnext/setup/doctype/transaction_deletion_record_item/transaction_deletion_record_item.py b/erpnext/setup/doctype/transaction_deletion_record_item/transaction_deletion_record_item.py index 2176cb10de..a113d50453 100644 --- a/erpnext/setup/doctype/transaction_deletion_record_item/transaction_deletion_record_item.py +++ b/erpnext/setup/doctype/transaction_deletion_record_item/transaction_deletion_record_item.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class TransactionDeletionRecordItem(Document): pass diff --git a/erpnext/setup/doctype/uom/test_uom.py b/erpnext/setup/doctype/uom/test_uom.py index 330d30358d..e222c13494 100644 --- a/erpnext/setup/doctype/uom/test_uom.py +++ b/erpnext/setup/doctype/uom/test_uom.py @@ -2,6 +2,6 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals - import frappe + test_records = frappe.get_test_records('UOM') diff --git a/erpnext/setup/doctype/uom/uom.py b/erpnext/setup/doctype/uom/uom.py index 404b84b113..f0e97b34e2 100644 --- a/erpnext/setup/doctype/uom/uom.py +++ b/erpnext/setup/doctype/uom/uom.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class UOM(Document): pass diff --git a/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py b/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py index 04596efbca..33795d6b5b 100644 --- a/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py +++ b/erpnext/setup/doctype/uom_conversion_factor/test_uom_conversion_factor.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestUOMConversionFactor(unittest.TestCase): pass diff --git a/erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.py b/erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.py index 3566c537c6..45342e9fee 100644 --- a/erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.py +++ b/erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class UOMConversionFactor(Document): pass diff --git a/erpnext/setup/doctype/website_item_group/website_item_group.py b/erpnext/setup/doctype/website_item_group/website_item_group.py index e416b509b9..2f72013448 100644 --- a/erpnext/setup/doctype/website_item_group/website_item_group.py +++ b/erpnext/setup/doctype/website_item_group/website_item_group.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class WebsiteItemGroup(Document): pass diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py index bbee74cafb..cdc83c1462 100644 --- a/erpnext/setup/install.py +++ b/erpnext/setup/install.py @@ -4,16 +4,18 @@ from __future__ import print_function, unicode_literals import frappe -from erpnext.accounts.doctype.cash_flow_mapper.default_cash_flow_mapper import DEFAULT_MAPPERS -from .default_success_action import get_default_success_action from frappe import _ -from frappe.utils import cint -from frappe.installer import update_site_config -from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to from frappe.custom.doctype.custom_field.custom_field import create_custom_field -from erpnext.setup.default_energy_point_rules import get_default_energy_point_rules +from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to +from frappe.installer import update_site_config +from frappe.utils import cint from six import iteritems +from erpnext.accounts.doctype.cash_flow_mapper.default_cash_flow_mapper import DEFAULT_MAPPERS +from erpnext.setup.default_energy_point_rules import get_default_energy_point_rules + +from .default_success_action import get_default_success_action + default_mail_footer = """
Sent via ERPNext
""" diff --git a/erpnext/setup/setup_wizard/data/dashboard_charts.py b/erpnext/setup/setup_wizard/data/dashboard_charts.py index 9ce64eb9d9..5369bbab35 100644 --- a/erpnext/setup/setup_wizard/data/dashboard_charts.py +++ b/erpnext/setup/setup_wizard/data/dashboard_charts.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals -from frappe import _ -import frappe + import json +import frappe + + def get_company_for_dashboards(): company = frappe.defaults.get_defaults().company if company: diff --git a/erpnext/setup/setup_wizard/data/industry_type.py b/erpnext/setup/setup_wizard/data/industry_type.py index 4fa9f8abb1..2c83a5c721 100644 --- a/erpnext/setup/setup_wizard/data/industry_type.py +++ b/erpnext/setup/setup_wizard/data/industry_type.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_industry_types(): return [ _('Accounting'), diff --git a/erpnext/setup/setup_wizard/operations/company_setup.py b/erpnext/setup/setup_wizard/operations/company_setup.py index 4833d93c4a..bea3906eba 100644 --- a/erpnext/setup/setup_wizard/operations/company_setup.py +++ b/erpnext/setup/setup_wizard/operations/company_setup.py @@ -6,7 +6,6 @@ import frappe from frappe import _ from frappe.utils import cstr, getdate from .default_website import website_maker -from erpnext.accounts.doctype.account.account import RootNotEditable def create_fiscal_year_and_company(args): if (args.get('fy_start_date')): diff --git a/erpnext/setup/setup_wizard/operations/default_website.py b/erpnext/setup/setup_wizard/operations/default_website.py index 38b5c1470e..2288ae0674 100644 --- a/erpnext/setup/setup_wizard/operations/default_website.py +++ b/erpnext/setup/setup_wizard/operations/default_website.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe import _ from frappe.utils import nowdate + class website_maker(object): def __init__(self, args): self.args = args diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py index cd49a18052..907967c83f 100644 --- a/erpnext/setup/setup_wizard/operations/install_fixtures.py +++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py @@ -3,16 +3,20 @@ from __future__ import unicode_literals -import frappe, os, json +import json +import os +import frappe from frappe import _ +from frappe.desk.doctype.global_search_settings.global_search_settings import ( + update_global_search_doctypes, +) from frappe.desk.page.setup_wizard.setup_wizard import make_records from frappe.utils import cstr, getdate -from frappe.desk.doctype.global_search_settings.global_search_settings import update_global_search_doctypes +from frappe.utils.nestedset import rebuild_tree from erpnext.accounts.doctype.account.account import RootNotEditable from erpnext.regional.address_template.setup import set_up_address_templates -from frappe.utils.nestedset import rebuild_tree default_lead_sources = ["Existing Customer", "Reference", "Advertisement", "Cold Calling", "Exhibition", "Supplier Reference", "Mass Mailing", diff --git a/erpnext/setup/setup_wizard/operations/sample_data.py b/erpnext/setup/setup_wizard/operations/sample_data.py index c6d9f0851b..3aef40d3eb 100644 --- a/erpnext/setup/setup_wizard/operations/sample_data.py +++ b/erpnext/setup/setup_wizard/operations/sample_data.py @@ -3,11 +3,15 @@ from __future__ import unicode_literals +import json +import os +import random + import frappe -from frappe.utils.make_random import add_random_children import frappe.utils -import random, os, json from frappe import _ +from frappe.utils.make_random import add_random_children + def make_sample_data(domains, make_dependent = False): """Create a few opportunities, quotes, material requests, issues, todos, projects diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py index 9275d1b383..ecb07d53b7 100644 --- a/erpnext/setup/setup_wizard/setup_wizard.py +++ b/erpnext/setup/setup_wizard/setup_wizard.py @@ -6,7 +6,10 @@ from __future__ import unicode_literals import frappe from frappe import _ -from .operations import install_fixtures as fixtures, company_setup, sample_data +from .operations import company_setup +from .operations import install_fixtures as fixtures +from .operations import sample_data + def get_setup_stages(args=None): if frappe.db.sql("select name from tabCompany"): diff --git a/erpnext/setup/setup_wizard/utils.py b/erpnext/setup/setup_wizard/utils.py index 4223f000a6..30b88aecbc 100644 --- a/erpnext/setup/setup_wizard/utils.py +++ b/erpnext/setup/setup_wizard/utils.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals -import json, os + +import json +import os from frappe.desk.page.setup_wizard.setup_wizard import setup_complete -from erpnext.setup.setup_wizard import setup_wizard + def complete(): with open(os.path.join(os.path.dirname(__file__), diff --git a/erpnext/setup/utils.py b/erpnext/setup/utils.py index 409f776a4e..2302a66fa0 100644 --- a/erpnext/setup/utils.py +++ b/erpnext/setup/utils.py @@ -2,12 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, add_days -from frappe.utils import get_datetime_str, nowdate +from frappe.utils import add_days, flt, get_datetime_str, nowdate + from erpnext import get_default_company + def get_root_of(doctype): """Get root element of a DocType with a tree structure""" result = frappe.db.sql_list("""select name from `tab%s` diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py index e9f4bd57a6..3f1dfde016 100644 --- a/erpnext/shopping_cart/cart.py +++ b/erpnext/shopping_cart/cart.py @@ -2,16 +2,20 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe import throw, _ import frappe.defaults -from frappe.utils import cint, flt, get_fullname, cstr +from frappe import _, throw from frappe.contacts.doctype.address.address import get_address_display -from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import get_shopping_cart_settings -from frappe.utils.nestedset import get_root_of -from erpnext.accounts.utils import get_account_name -from erpnext.utilities.product import get_qty_in_stock from frappe.contacts.doctype.contact.contact import get_contact_name +from frappe.utils import cint, cstr, flt, get_fullname +from frappe.utils.nestedset import get_root_of + +from erpnext.accounts.utils import get_account_name +from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + get_shopping_cart_settings, +) +from erpnext.utilities.product import get_qty_in_stock class WebsitePriceListMissingError(frappe.ValidationError): diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py index efed1968a1..8f4afda57e 100644 --- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py +++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py @@ -4,11 +4,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe import _, msgprint -from frappe.utils import flt +from frappe import _ from frappe.model.document import Document -from frappe.utils import get_datetime, get_datetime_str, now_datetime +from frappe.utils import flt + class ShoppingCartSetupError(frappe.ValidationError): pass diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/test_shopping_cart_settings.py b/erpnext/shopping_cart/doctype/shopping_cart_settings/test_shopping_cart_settings.py index 9965e1af67..f8a22b0e02 100644 --- a/erpnext/shopping_cart/doctype/shopping_cart_settings/test_shopping_cart_settings.py +++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/test_shopping_cart_settings.py @@ -4,9 +4,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import unittest -from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ShoppingCartSetupError + +import frappe + +from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + ShoppingCartSetupError, +) + class TestShoppingCartSettings(unittest.TestCase): def setUp(self): diff --git a/erpnext/shopping_cart/filters.py b/erpnext/shopping_cart/filters.py index 7dfa09e2d6..aaeff0fe07 100644 --- a/erpnext/shopping_cart/filters.py +++ b/erpnext/shopping_cart/filters.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _dict + class ProductFiltersBuilder: def __init__(self, item_group=None): if not item_group or item_group == "Products Settings": diff --git a/erpnext/shopping_cart/product_info.py b/erpnext/shopping_cart/product_info.py index 6c9e531a4d..fa6863696a 100644 --- a/erpnext/shopping_cart/product_info.py +++ b/erpnext/shopping_cart/product_info.py @@ -4,10 +4,14 @@ from __future__ import unicode_literals import frappe + from erpnext.shopping_cart.cart import _get_cart_quotation, _set_price_list -from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings \ - import get_shopping_cart_settings, show_quantity_in_website -from erpnext.utilities.product import get_price, get_qty_in_stock, get_non_stock_item_status +from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + get_shopping_cart_settings, + show_quantity_in_website, +) +from erpnext.utilities.product import get_non_stock_item_status, get_price, get_qty_in_stock + @frappe.whitelist(allow_guest=True) def get_product_info_for_website(item_code, skip_quotation_creation=False): diff --git a/erpnext/shopping_cart/product_query.py b/erpnext/shopping_cart/product_query.py index 6c92d967d0..5cc0505aed 100644 --- a/erpnext/shopping_cart/product_query.py +++ b/erpnext/shopping_cart/product_query.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt import frappe + from erpnext.shopping_cart.product_info import get_product_info_for_website + class ProductQuery: """Query engine for product listing diff --git a/erpnext/shopping_cart/search.py b/erpnext/shopping_cart/search.py index 9f674dcebf..5d2de78f7c 100644 --- a/erpnext/shopping_cart/search.py +++ b/erpnext/shopping_cart/search.py @@ -1,9 +1,9 @@ import frappe from frappe.search.full_text_search import FullTextSearch -from whoosh.fields import TEXT, ID, KEYWORD, Schema from frappe.utils import strip_html_tags -from whoosh.qparser import MultifieldParser, FieldsPlugin, WildcardPlugin from whoosh.analysis import StemmingAnalyzer +from whoosh.fields import ID, KEYWORD, TEXT, Schema +from whoosh.qparser import FieldsPlugin, MultifieldParser, WildcardPlugin from whoosh.query import Prefix INDEX_NAME = "products" diff --git a/erpnext/shopping_cart/test_shopping_cart.py b/erpnext/shopping_cart/test_shopping_cart.py index ac61aebc56..d1284cdf00 100644 --- a/erpnext/shopping_cart/test_shopping_cart.py +++ b/erpnext/shopping_cart/test_shopping_cart.py @@ -2,12 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest + import frappe -from frappe.utils import nowdate, add_months -from erpnext.shopping_cart.cart import _get_cart_quotation, update_cart, get_party +from frappe.utils import add_months, nowdate + +from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule +from erpnext.shopping_cart.cart import _get_cart_quotation, get_party, update_cart from erpnext.tests.utils import create_test_contact_and_address -from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule # test_dependencies = ['Payment Terms Template'] diff --git a/erpnext/shopping_cart/utils.py b/erpnext/shopping_cart/utils.py index 0e1466fd1f..f412e61f06 100644 --- a/erpnext/shopping_cart/utils.py +++ b/erpnext/shopping_cart/utils.py @@ -4,8 +4,11 @@ from __future__ import unicode_literals import frappe -import frappe.defaults -from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import is_cart_enabled + +from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + is_cart_enabled, +) + def show_cart_count(): if (is_cart_enabled() and diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py index deef4ba4d6..3aa5297913 100644 --- a/erpnext/startup/__init__.py +++ b/erpnext/startup/__init__.py @@ -19,7 +19,6 @@ # default settings that can be made for a user. from __future__ import unicode_literals - product_name = "ERPNext" user_defaults = { "Company": "company", diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py index 2b80fb8dfa..bb76f5a6f9 100644 --- a/erpnext/startup/boot.py +++ b/erpnext/startup/boot.py @@ -3,9 +3,11 @@ from __future__ import unicode_literals + import frappe from frappe.utils import cint + def boot_session(bootinfo): """boot session - send website info if guest""" diff --git a/erpnext/startup/filters.py b/erpnext/startup/filters.py index 98210165df..c0ccf54d5f 100644 --- a/erpnext/startup/filters.py +++ b/erpnext/startup/filters.py @@ -1,5 +1,5 @@ -import frappe + def get_filters_config(): filters_config = { diff --git a/erpnext/startup/leaderboard.py b/erpnext/startup/leaderboard.py index a89435d486..60e67f8f58 100644 --- a/erpnext/startup/leaderboard.py +++ b/erpnext/startup/leaderboard.py @@ -1,8 +1,10 @@ -from __future__ import unicode_literals, print_function +from __future__ import print_function, unicode_literals + import frappe from frappe.utils import cint + def get_leaderboards(): leaderboards = { "Customer": { diff --git a/erpnext/startup/notifications.py b/erpnext/startup/notifications.py index 8e880dc42e..01bb344d15 100644 --- a/erpnext/startup/notifications.py +++ b/erpnext/startup/notifications.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe + def get_notification_config(): notifications = { "for_doctype": { diff --git a/erpnext/stock/__init__.py b/erpnext/stock/__init__.py index 283f7d5fda..575aa0fa5d 100644 --- a/erpnext/stock/__init__.py +++ b/erpnext/stock/__init__.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe from frappe import _ diff --git a/erpnext/stock/dashboard/item_dashboard.py b/erpnext/stock/dashboard/item_dashboard.py index 45e662807a..df6b632d25 100644 --- a/erpnext/stock/dashboard/item_dashboard.py +++ b/erpnext/stock/dashboard/item_dashboard.py @@ -2,7 +2,8 @@ from __future__ import unicode_literals import frappe from frappe.model.db_query import DatabaseQuery -from frappe.utils import flt, cint +from frappe.utils import cint, flt + @frappe.whitelist() def get_data(item_code=None, warehouse=None, item_group=None, diff --git a/erpnext/stock/dashboard/warehouse_capacity_dashboard.py b/erpnext/stock/dashboard/warehouse_capacity_dashboard.py index 70b030e48f..5d8b703aa5 100644 --- a/erpnext/stock/dashboard/warehouse_capacity_dashboard.py +++ b/erpnext/stock/dashboard/warehouse_capacity_dashboard.py @@ -2,10 +2,11 @@ from __future__ import unicode_literals import frappe from frappe.model.db_query import DatabaseQuery -from frappe.utils import nowdate -from frappe.utils import flt +from frappe.utils import flt, nowdate + from erpnext.stock.utils import get_stock_balance + @frappe.whitelist() def get_data(item_code=None, warehouse=None, parent_warehouse=None, company=None, start=0, sort_by="stock_capacity", sort_order="desc"): diff --git a/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py b/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py index 2258532c6f..1753002a81 100644 --- a/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py +++ b/erpnext/stock/dashboard_chart_source/warehouse_wise_stock_value/warehouse_wise_stock_value.py @@ -2,11 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, json + +import frappe from frappe import _ from frappe.utils.dashboard import cache_source + from erpnext.stock.utils import get_stock_value_from_bin + @frappe.whitelist() @cache_source def get(chart_name = None, chart = None, no_cache = None, filters = None, from_date = None, diff --git a/erpnext/stock/doctype/batch/batch.py b/erpnext/stock/doctype/batch/batch.py index b37ae3f4f6..76db581a06 100644 --- a/erpnext/stock/doctype/batch/batch.py +++ b/erpnext/stock/doctype/batch/batch.py @@ -2,15 +2,16 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -from six import text_type + import frappe from frappe import _ from frappe.model.document import Document from frappe.model.naming import make_autoname, revert_series_if_last -from frappe.utils import flt, cint, get_link_to_form -from frappe.utils.jinja import render_template +from frappe.utils import cint, flt, get_link_to_form from frappe.utils.data import add_days -from six import string_types +from frappe.utils.jinja import render_template +from six import text_type + class UnableToSelectBatchError(frappe.ValidationError): pass diff --git a/erpnext/stock/doctype/batch/test_batch.py b/erpnext/stock/doctype/batch/test_batch.py index a85a0222b5..79989307ef 100644 --- a/erpnext/stock/doctype/batch/test_batch.py +++ b/erpnext/stock/doctype/batch/test_batch.py @@ -2,15 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -from frappe.exceptions import ValidationError import unittest -from erpnext.stock.doctype.batch.batch import get_batch_qty, UnableToSelectBatchError, get_batch_no +import frappe +from frappe.exceptions import ValidationError from frappe.utils import cint, flt + from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice +from erpnext.stock.doctype.batch.batch import UnableToSelectBatchError, get_batch_no, get_batch_qty from erpnext.stock.get_item_details import get_item_details + class TestBatch(unittest.TestCase): def test_item_has_batch_enabled(self): self.assertRaises(ValidationError, frappe.get_doc({ diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py index 43642013ce..5fbc2d8dee 100644 --- a/erpnext/stock/doctype/bin/bin.py +++ b/erpnext/stock/doctype/bin/bin.py @@ -2,10 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import flt, nowdate -import frappe.defaults from frappe.model.document import Document +from frappe.utils import flt, nowdate + class Bin(Document): def before_save(self): diff --git a/erpnext/stock/doctype/bin/test_bin.py b/erpnext/stock/doctype/bin/test_bin.py index fb32ce2140..f0dbe8c0dd 100644 --- a/erpnext/stock/doctype/bin/test_bin.py +++ b/erpnext/stock/doctype/bin/test_bin.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Bin') diff --git a/erpnext/stock/doctype/customs_tariff_number/customs_tariff_number.py b/erpnext/stock/doctype/customs_tariff_number/customs_tariff_number.py index b0b3e6afbf..d484301572 100644 --- a/erpnext/stock/doctype/customs_tariff_number/customs_tariff_number.py +++ b/erpnext/stock/doctype/customs_tariff_number/customs_tariff_number.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class CustomsTariffNumber(Document): pass diff --git a/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py b/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py index d7e03067e8..7c9807c762 100644 --- a/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py +++ b/erpnext/stock/doctype/customs_tariff_number/test_customs_tariff_number.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestCustomsTariffNumber(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 9113b59ce0..5542cd00d4 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -4,17 +4,17 @@ from __future__ import unicode_literals import frappe -import frappe.defaults -from erpnext.controllers.selling_controller import SellingController -from erpnext.stock.doctype.batch.batch import set_batch_nos -from erpnext.stock.doctype.serial_no.serial_no import get_delivery_note_serial_no from frappe import _ from frappe.contacts.doctype.address.address import get_company_address from frappe.desk.notifications import clear_doctype_notifications from frappe.model.mapper import get_mapped_doc from frappe.model.utils import get_fetch_values from frappe.utils import cint, flt + from erpnext.controllers.accounts_controller import get_taxes_and_charges +from erpnext.controllers.selling_controller import SellingController +from erpnext.stock.doctype.batch.batch import set_batch_nos +from erpnext.stock.doctype.serial_no.serial_no import get_delivery_note_serial_no form_grid_templates = { "items": "templates/form_grid/item_grid.html" @@ -668,8 +668,13 @@ def make_inter_company_purchase_receipt(source_name, target_doc=None): return make_inter_company_transaction("Delivery Note", source_name, target_doc) def make_inter_company_transaction(doctype, source_name, target_doc=None): - from erpnext.accounts.doctype.sales_invoice.sales_invoice import (validate_inter_company_transaction, - get_inter_company_details, update_address, update_taxes, set_purchase_references) + from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( + get_inter_company_details, + set_purchase_references, + update_address, + update_taxes, + validate_inter_company_transaction, + ) if doctype == 'Delivery Note': source_doc = frappe.get_doc(doctype, source_name) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py b/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py index 9db5db865f..31fc708eab 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'delivery_note', diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py index b333a6b57e..7fda94b269 100644 --- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py @@ -3,26 +3,40 @@ from __future__ import unicode_literals -import unittest -import frappe + import json -import frappe.defaults -from frappe.utils import nowdate, nowtime, cstr, flt -from erpnext.stock.stock_ledger import get_previous_sle -from erpnext.accounts.utils import get_balance_on -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries -from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice, make_delivery_trip -from erpnext.stock.doctype.stock_entry.test_stock_entry \ - import make_stock_entry, make_serialized_item, get_qty_after_transaction -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos, SerialNoWarehouseError -from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation \ - import create_stock_reconciliation, set_valuation_method -from erpnext.selling.doctype.sales_order.test_sales_order \ - import make_sales_order, create_dn_against_so, automatically_fetch_payment_terms, compare_payment_schedules +import unittest + +import frappe +from frappe.utils import cstr, flt, nowdate, nowtime + from erpnext.accounts.doctype.account.test_account import get_inventory_account -from erpnext.stock.doctype.warehouse.test_warehouse import get_warehouse -from erpnext.stock.doctype.item.test_item import make_item +from erpnext.accounts.utils import get_balance_on from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle +from erpnext.selling.doctype.sales_order.test_sales_order import ( + automatically_fetch_payment_terms, + compare_payment_schedules, + create_dn_against_so, + make_sales_order, +) +from erpnext.stock.doctype.delivery_note.delivery_note import ( + make_delivery_trip, + make_sales_invoice, +) +from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries +from erpnext.stock.doctype.serial_no.serial_no import SerialNoWarehouseError, get_serial_nos +from erpnext.stock.doctype.stock_entry.test_stock_entry import ( + get_qty_after_transaction, + make_serialized_item, + make_stock_entry, +) +from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( + create_stock_reconciliation, + set_valuation_method, +) +from erpnext.stock.doctype.warehouse.test_warehouse import get_warehouse +from erpnext.stock.stock_ledger import get_previous_sle class TestDeliveryNote(unittest.TestCase): @@ -540,7 +554,10 @@ class TestDeliveryNote(unittest.TestCase): def test_dn_billing_status_case2(self): # SO -> SI and SO -> DN1, DN2 - from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note, make_sales_invoice + from erpnext.selling.doctype.sales_order.sales_order import ( + make_delivery_note, + make_sales_invoice, + ) so = make_sales_order() @@ -579,8 +596,10 @@ class TestDeliveryNote(unittest.TestCase): def test_dn_billing_status_case3(self): # SO -> DN1 -> SI and SO -> SI and SO -> DN2 - from erpnext.selling.doctype.sales_order.sales_order \ - import make_delivery_note, make_sales_invoice as make_sales_invoice_from_so + from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note + from erpnext.selling.doctype.sales_order.sales_order import ( + make_sales_invoice as make_sales_invoice_from_so, + ) frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1) so = make_sales_order() @@ -626,8 +645,8 @@ class TestDeliveryNote(unittest.TestCase): def test_dn_billing_status_case4(self): # SO -> SI -> DN - from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_delivery_note + from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice so = make_sales_order() @@ -777,7 +796,9 @@ class TestDeliveryNote(unittest.TestCase): self.assertTrue("TESTBATCH" in dn.packed_items[0].batch_no, "Batch number not added in packed item") def test_payment_terms_are_fetched_when_creating_sales_invoice(self): - from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template + from erpnext.accounts.doctype.payment_entry.test_payment_entry import ( + create_payment_terms_template, + ) from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice automatically_fetch_payment_terms() diff --git a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.py b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.py index 8bd381a2ed..693caabfb8 100644 --- a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.py +++ b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class DeliveryNoteItem(Document): pass diff --git a/erpnext/stock/doctype/delivery_settings/delivery_settings.py b/erpnext/stock/doctype/delivery_settings/delivery_settings.py index 909efda856..c25907defe 100644 --- a/erpnext/stock/doctype/delivery_settings/delivery_settings.py +++ b/erpnext/stock/doctype/delivery_settings/delivery_settings.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class DeliverySettings(Document): pass diff --git a/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py b/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py index 4395d26628..25c9da16aa 100644 --- a/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py +++ b/erpnext/stock/doctype/delivery_settings/test_delivery_settings.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestDeliverySettings(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/delivery_stop/delivery_stop.py b/erpnext/stock/doctype/delivery_stop/delivery_stop.py index 768d1619f6..f94ccb8021 100644 --- a/erpnext/stock/doctype/delivery_stop/delivery_stop.py +++ b/erpnext/stock/doctype/delivery_stop/delivery_stop.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class DeliveryStop(Document): pass diff --git a/erpnext/stock/doctype/delivery_trip/delivery_trip.py b/erpnext/stock/doctype/delivery_trip/delivery_trip.py index f76bb87efe..fe9818242f 100644 --- a/erpnext/stock/doctype/delivery_trip/delivery_trip.py +++ b/erpnext/stock/doctype/delivery_trip/delivery_trip.py @@ -10,8 +10,8 @@ import frappe from frappe import _ from frappe.contacts.doctype.address.address import get_address_display from frappe.model.document import Document -from frappe.utils import cint, get_datetime, get_link_to_form from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, get_datetime, get_link_to_form class DeliveryTrip(Document): diff --git a/erpnext/stock/doctype/delivery_trip/test_delivery_trip.py b/erpnext/stock/doctype/delivery_trip/test_delivery_trip.py index 1e71603175..c9081c908f 100644 --- a/erpnext/stock/doctype/delivery_trip/test_delivery_trip.py +++ b/erpnext/stock/doctype/delivery_trip/test_delivery_trip.py @@ -5,12 +5,17 @@ from __future__ import unicode_literals import unittest -import erpnext import frappe -from erpnext.stock.doctype.delivery_trip.delivery_trip import get_contact_and_address, notify_customers, make_expense_claim -from erpnext.tests.utils import create_test_contact_and_address from frappe.utils import add_days, flt, now_datetime, nowdate +import erpnext +from erpnext.stock.doctype.delivery_trip.delivery_trip import ( + get_contact_and_address, + make_expense_claim, + notify_customers, +) +from erpnext.tests.utils import create_test_contact_and_address + class TestDeliveryTrip(unittest.TestCase): def setUp(self): diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index 422fe3e4b7..50fdd3845d 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -1,24 +1,42 @@ # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt +import copy import itertools import json -import erpnext -import frappe -import copy -from erpnext.controllers.item_variant import (ItemVariantExistsError, - copy_attributes_to_variant, get_variant, make_variant_item_code, validate_item_variant_attributes) -from erpnext.setup.doctype.item_group.item_group import (get_parent_item_groups, invalidate_cache_for) -from frappe import _, msgprint -from frappe.utils import (cint, cstr, flt, formatdate, getdate, - now_datetime, random_string, strip, get_link_to_form, nowtime) -from frappe.utils.html_utils import clean_html -from frappe.website.doctype.website_slideshow.website_slideshow import \ - get_slideshow +import frappe +from frappe import _ +from frappe.utils import ( + cint, + cstr, + flt, + formatdate, + get_link_to_form, + getdate, + now_datetime, + nowtime, + random_string, + strip, +) +from frappe.utils.html_utils import clean_html +from frappe.website.doctype.website_slideshow.website_slideshow import get_slideshow from frappe.website.utils import clear_cache from frappe.website.website_generator import WebsiteGenerator +import erpnext +from erpnext.controllers.item_variant import ( + ItemVariantExistsError, + copy_attributes_to_variant, + get_variant, + make_variant_item_code, + validate_item_variant_attributes, +) +from erpnext.setup.doctype.item_group.item_group import ( + get_parent_item_groups, + invalidate_cache_for, +) + class DuplicateReorderRows(frappe.ValidationError): pass diff --git a/erpnext/stock/doctype/item/item_dashboard.py b/erpnext/stock/doctype/item/item_dashboard.py index b3e4796354..e80ed6fcda 100644 --- a/erpnext/stock/doctype/item/item_dashboard.py +++ b/erpnext/stock/doctype/item/item_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'heatmap': True, diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py index 7a9985d7f0..0ed2761020 100644 --- a/erpnext/stock/doctype/item/test_item.py +++ b/erpnext/stock/doctype/item/test_item.py @@ -2,21 +2,31 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import unittest -import frappe -import json +import json +import unittest + +import frappe from frappe.test_runner import make_test_objects -from erpnext.controllers.item_variant import (create_variant, ItemVariantExistsError, - InvalidItemAttributeValueError, get_variant) -from erpnext.stock.doctype.item.item import StockExistsForTemplate, InvalidBarcode -from erpnext.stock.doctype.item.item import (get_uom_conv_factor, get_item_attribute, - validate_is_stock_item, get_timeline_data) + +from erpnext.controllers.item_variant import ( + InvalidItemAttributeValueError, + ItemVariantExistsError, + create_variant, + get_variant, +) +from erpnext.stock.doctype.item.item import ( + InvalidBarcode, + StockExistsForTemplate, + get_item_attribute, + get_timeline_data, + get_uom_conv_factor, + validate_is_stock_item, +) from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry from erpnext.stock.get_item_details import get_item_details from erpnext.tests.utils import change_settings - test_ignore = ["BOM"] test_dependencies = ["Warehouse", "Item Group", "Item Tax Template", "Brand", "Item Attribute"] diff --git a/erpnext/stock/doctype/item_alternative/item_alternative.py b/erpnext/stock/doctype/item_alternative/item_alternative.py index 190cb62e99..6080fb4a5f 100644 --- a/erpnext/stock/doctype/item_alternative/item_alternative.py +++ b/erpnext/stock/doctype/item_alternative/item_alternative.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + class ItemAlternative(Document): def validate(self): self.has_alternative_item() diff --git a/erpnext/stock/doctype/item_alternative/test_item_alternative.py b/erpnext/stock/doctype/item_alternative/test_item_alternative.py index 8f76844bde..2be8ef740a 100644 --- a/erpnext/stock/doctype/item_alternative/test_item_alternative.py +++ b/erpnext/stock/doctype/item_alternative/test_item_alternative.py @@ -2,17 +2,27 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe, json -from frappe.utils import flt -from erpnext.stock.doctype.item.test_item import create_item -from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom -from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order -from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry -from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation -from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record -from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt, make_rm_stock_entry + +import json import unittest +import frappe +from frappe.utils import flt + +from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_purchase_receipt, + make_rm_stock_entry, +) +from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order +from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom +from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record +from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry +from erpnext.stock.doctype.item.test_item import create_item +from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( + create_stock_reconciliation, +) + + class TestItemAlternative(unittest.TestCase): def setUp(self): make_items() diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.py b/erpnext/stock/doctype/item_attribute/item_attribute.py index 3764738e83..9894788b8c 100644 --- a/erpnext/stock/doctype/item_attribute/item_attribute.py +++ b/erpnext/stock/doctype/item_attribute/item_attribute.py @@ -2,13 +2,17 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document from frappe.utils import flt -from erpnext.controllers.item_variant import (validate_is_incremental, - validate_item_attribute_value, InvalidItemAttributeValueError) +from erpnext.controllers.item_variant import ( + InvalidItemAttributeValueError, + validate_is_incremental, + validate_item_attribute_value, +) class ItemAttributeIncrementError(frappe.ValidationError): pass diff --git a/erpnext/stock/doctype/item_attribute/test_item_attribute.py b/erpnext/stock/doctype/item_attribute/test_item_attribute.py index 07af176a94..fc809f443e 100644 --- a/erpnext/stock/doctype/item_attribute/test_item_attribute.py +++ b/erpnext/stock/doctype/item_attribute/test_item_attribute.py @@ -2,13 +2,16 @@ # See license.txt from __future__ import unicode_literals -import frappe + import unittest +import frappe + test_records = frappe.get_test_records('Item Attribute') from erpnext.stock.doctype.item_attribute.item_attribute import ItemAttributeIncrementError + class TestItemAttribute(unittest.TestCase): def setUp(self): if frappe.db.exists("Item Attribute", "_Test_Length"): diff --git a/erpnext/stock/doctype/item_attribute_value/item_attribute_value.py b/erpnext/stock/doctype/item_attribute_value/item_attribute_value.py index edbab002da..ceffb4972a 100644 --- a/erpnext/stock/doctype/item_attribute_value/item_attribute_value.py +++ b/erpnext/stock/doctype/item_attribute_value/item_attribute_value.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ItemAttributeValue(Document): pass diff --git a/erpnext/stock/doctype/item_customer_detail/item_customer_detail.py b/erpnext/stock/doctype/item_customer_detail/item_customer_detail.py index 3e4e850046..55fd0ec343 100644 --- a/erpnext/stock/doctype/item_customer_detail/item_customer_detail.py +++ b/erpnext/stock/doctype/item_customer_detail/item_customer_detail.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ItemCustomerDetail(Document): pass diff --git a/erpnext/stock/doctype/item_default/item_default.py b/erpnext/stock/doctype/item_default/item_default.py index 935f0ffb0f..6239c54043 100644 --- a/erpnext/stock/doctype/item_default/item_default.py +++ b/erpnext/stock/doctype/item_default/item_default.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class ItemDefault(Document): pass diff --git a/erpnext/stock/doctype/item_manufacturer/item_manufacturer.py b/erpnext/stock/doctype/item_manufacturer/item_manufacturer.py index 939abf8d32..044ac7c235 100644 --- a/erpnext/stock/doctype/item_manufacturer/item_manufacturer.py +++ b/erpnext/stock/doctype/item_manufacturer/item_manufacturer.py @@ -8,6 +8,7 @@ import frappe from frappe import _ from frappe.model.document import Document + class ItemManufacturer(Document): def validate(self): self.validate_duplicate_entry() diff --git a/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py b/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py index 1cef20c417..5a4ca6a44a 100644 --- a/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py +++ b/erpnext/stock/doctype/item_manufacturer/test_item_manufacturer.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestItemManufacturer(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/item_price/item_price.py b/erpnext/stock/doctype/item_price/item_price.py index e82a19b0dc..3f0fc4136b 100644 --- a/erpnext/stock/doctype/item_price/item_price.py +++ b/erpnext/stock/doctype/item_price/item_price.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py index f3d406eeca..5ed8092166 100644 --- a/erpnext/stock/doctype/item_price/test_item_price.py +++ b/erpnext/stock/doctype/item_price/test_item_price.py @@ -2,11 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import unittest + import frappe from frappe.test_runner import make_test_records_for_doctype -from erpnext.stock.get_item_details import get_price_list_rate_for, process_args + from erpnext.stock.doctype.item_price.item_price import ItemPriceDuplicateItem +from erpnext.stock.get_item_details import get_price_list_rate_for, process_args class TestItemPrice(unittest.TestCase): diff --git a/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py b/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py index 785737b267..0dd7e43105 100644 --- a/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py +++ b/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ItemQualityInspectionParameter(Document): pass diff --git a/erpnext/stock/doctype/item_reorder/item_reorder.py b/erpnext/stock/doctype/item_reorder/item_reorder.py index 5cdaa22956..598339deee 100644 --- a/erpnext/stock/doctype/item_reorder/item_reorder.py +++ b/erpnext/stock/doctype/item_reorder/item_reorder.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ItemReorder(Document): pass diff --git a/erpnext/stock/doctype/item_supplier/item_supplier.py b/erpnext/stock/doctype/item_supplier/item_supplier.py index 5dda535f81..9b5da55f60 100644 --- a/erpnext/stock/doctype/item_supplier/item_supplier.py +++ b/erpnext/stock/doctype/item_supplier/item_supplier.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ItemSupplier(Document): pass diff --git a/erpnext/stock/doctype/item_tax/item_tax.py b/erpnext/stock/doctype/item_tax/item_tax.py index 7c9e811575..33c1e49f40 100644 --- a/erpnext/stock/doctype/item_tax/item_tax.py +++ b/erpnext/stock/doctype/item_tax/item_tax.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ItemTax(Document): pass diff --git a/erpnext/stock/doctype/item_variant/item_variant.py b/erpnext/stock/doctype/item_variant/item_variant.py index 5d5a022648..47ab07fe98 100644 --- a/erpnext/stock/doctype/item_variant/item_variant.py +++ b/erpnext/stock/doctype/item_variant/item_variant.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ItemVariant(Document): pass diff --git a/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py b/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py index d1a1eb54a5..78dda6535f 100644 --- a/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py +++ b/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class ItemVariantAttribute(Document): pass diff --git a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py index 78f1131b76..cb6626fd17 100644 --- a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py +++ b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -from frappe.model.document import Document from frappe import _ +from frappe.model.document import Document + class ItemVariantSettings(Document): invalid_fields_for_copy_fields_in_variants = ['barcodes'] diff --git a/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py b/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py index 9a800c07fc..040382a66f 100644 --- a/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py +++ b/erpnext/stock/doctype/item_variant_settings/test_item_variant_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestItemVariantSettings(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/item_website_specification/item_website_specification.py b/erpnext/stock/doctype/item_website_specification/item_website_specification.py index e3041cf3ee..85491b7392 100644 --- a/erpnext/stock/doctype/item_website_specification/item_website_specification.py +++ b/erpnext/stock/doctype/item_website_specification/item_website_specification.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class ItemWebsiteSpecification(Document): pass diff --git a/erpnext/stock/doctype/landed_cost_item/landed_cost_item.py b/erpnext/stock/doctype/landed_cost_item/landed_cost_item.py index 493e8b239a..7dd3aa5c34 100644 --- a/erpnext/stock/doctype/landed_cost_item/landed_cost_item.py +++ b/erpnext/stock/doctype/landed_cost_item/landed_cost_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class LandedCostItem(Document): pass diff --git a/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py b/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py index 38f4eafc3a..3d81d96411 100644 --- a/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py +++ b/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class LandedCostPurchaseReceipt(Document): pass diff --git a/erpnext/stock/doctype/landed_cost_taxes_and_charges/landed_cost_taxes_and_charges.py b/erpnext/stock/doctype/landed_cost_taxes_and_charges/landed_cost_taxes_and_charges.py index 0dc396aefa..e649e4d079 100644 --- a/erpnext/stock/doctype/landed_cost_taxes_and_charges/landed_cost_taxes_and_charges.py +++ b/erpnext/stock/doctype/landed_cost_taxes_and_charges/landed_cost_taxes_and_charges.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class LandedCostTaxesandCharges(Document): pass diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py index bf969f99f8..51ccea982d 100644 --- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py @@ -2,14 +2,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from frappe.utils import flt -from frappe.model.meta import get_field_precision from frappe.model.document import Document -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos -from erpnext.accounts.doctype.account.account import get_account_currency +from frappe.model.meta import get_field_precision +from frappe.utils import flt + +import erpnext from erpnext.controllers.taxes_and_totals import init_landed_taxes_and_totals +from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + class LandedCostVoucher(Document): @frappe.whitelist() diff --git a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py index cb09d93380..58a72f72dd 100644 --- a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py +++ b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py @@ -3,15 +3,20 @@ from __future__ import unicode_literals + import unittest + import frappe from frappe.utils import flt -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt \ - import get_gl_entries, test_records as pr_test_records, make_purchase_receipt + +from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice -from erpnext.accounts.doctype.account.test_account import get_inventory_account -from erpnext.accounts.doctype.account.test_account import create_account from erpnext.assets.doctype.asset.test_asset import create_asset_category, create_fixed_asset_item +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import ( + get_gl_entries, + make_purchase_receipt, +) + class TestLandedCostVoucher(unittest.TestCase): def test_landed_cost_voucher(self): @@ -208,7 +213,10 @@ class TestLandedCostVoucher(unittest.TestCase): self.assertEqual(pr.items[1].landed_cost_voucher_amount, 100) def test_multi_currency_lcv(self): - from erpnext.setup.doctype.currency_exchange.test_currency_exchange import test_records, save_new_records + from erpnext.setup.doctype.currency_exchange.test_currency_exchange import ( + save_new_records, + test_records, + ) save_new_records(test_records) diff --git a/erpnext/stock/doctype/manufacturer/manufacturer.py b/erpnext/stock/doctype/manufacturer/manufacturer.py index b624f73b77..314a280804 100644 --- a/erpnext/stock/doctype/manufacturer/manufacturer.py +++ b/erpnext/stock/doctype/manufacturer/manufacturer.py @@ -3,10 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.contacts.address_and_contact import load_address_and_contact, delete_contact_and_address + +from frappe.contacts.address_and_contact import load_address_and_contact from frappe.model.document import Document + class Manufacturer(Document): def onload(self): """Load address and contacts in `__onload`""" diff --git a/erpnext/stock/doctype/manufacturer/test_manufacturer.py b/erpnext/stock/doctype/manufacturer/test_manufacturer.py index 996f6b27ca..c0c61b00d0 100644 --- a/erpnext/stock/doctype/manufacturer/test_manufacturer.py +++ b/erpnext/stock/doctype/manufacturer/test_manufacturer.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Manufacturer') diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 026b85e26d..9eb4721626 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -5,19 +5,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -import json -from frappe.utils import cstr, flt, getdate, new_line_sep, nowdate, add_days, get_link_to_form -from frappe import msgprint, _ +import frappe +from frappe import _, msgprint from frappe.model.mapper import get_mapped_doc -from erpnext.stock.stock_balance import update_bin_qty, get_indented_qty +from frappe.utils import cstr, flt, get_link_to_form, getdate, new_line_sep, nowdate + +from erpnext.buying.utils import check_on_hold_or_closed_status, validate_for_items from erpnext.controllers.buying_controller import BuyingController from erpnext.manufacturing.doctype.work_order.work_order import get_item_details -from erpnext.buying.utils import check_on_hold_or_closed_status, validate_for_items from erpnext.stock.doctype.item.item import get_item_defaults - -from six import string_types +from erpnext.stock.stock_balance import get_indented_qty, update_bin_qty form_grid_templates = { "items": "templates/form_grid/material_request_grid.html" diff --git a/erpnext/stock/doctype/material_request/material_request_dashboard.py b/erpnext/stock/doctype/material_request/material_request_dashboard.py index e1e4faf682..291cfb53c9 100644 --- a/erpnext/stock/doctype/material_request/material_request_dashboard.py +++ b/erpnext/stock/doctype/material_request/material_request_dashboard.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + from frappe import _ diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index b4776ba249..5c2ac2584f 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -5,11 +5,20 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, unittest, erpnext + +import unittest + +import frappe from frappe.utils import flt, today -from erpnext.stock.doctype.material_request.material_request \ - import raise_work_orders, make_stock_entry, make_purchase_order, make_supplier_quotation + from erpnext.stock.doctype.item.test_item import create_item +from erpnext.stock.doctype.material_request.material_request import ( + make_purchase_order, + make_stock_entry, + make_supplier_quotation, + raise_work_orders, +) + class TestMaterialRequest(unittest.TestCase): def test_make_purchase_order(self): diff --git a/erpnext/stock/doctype/material_request_item/material_request_item.py b/erpnext/stock/doctype/material_request_item/material_request_item.py index e0066e65d2..0c98b97e57 100644 --- a/erpnext/stock/doctype/material_request_item/material_request_item.py +++ b/erpnext/stock/doctype/material_request_item/material_request_item.py @@ -4,10 +4,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe.model.document import Document + class MaterialRequestItem(Document): pass diff --git a/erpnext/stock/doctype/packed_item/packed_item.py b/erpnext/stock/doctype/packed_item/packed_item.py index eea00ec06c..08a2447257 100644 --- a/erpnext/stock/doctype/packed_item/packed_item.py +++ b/erpnext/stock/doctype/packed_item/packed_item.py @@ -4,10 +4,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe.utils import cstr, flt -from erpnext.stock.get_item_details import get_item_details + +import json + +import frappe from frappe.model.document import Document +from frappe.utils import cstr, flt + +from erpnext.stock.get_item_details import get_item_details + class PackedItem(Document): pass @@ -130,7 +135,7 @@ def update_product_bundle_price(doc, parent_items): # for the last product bundle if doc.get("packed_items"): update_parent_item_price(doc, parent_items[parent_items_index][0], bundle_price) - + def update_parent_item_price(doc, parent_item_code, bundle_price): parent_item_doc = doc.get('items', {'item_code': parent_item_code})[0] diff --git a/erpnext/stock/doctype/packing_slip/test_packing_slip.py b/erpnext/stock/doctype/packing_slip/test_packing_slip.py index 1f2af02e20..193adfcf1c 100644 --- a/erpnext/stock/doctype/packing_slip/test_packing_slip.py +++ b/erpnext/stock/doctype/packing_slip/test_packing_slip.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('Packing Slip') diff --git a/erpnext/stock/doctype/packing_slip_item/packing_slip_item.py b/erpnext/stock/doctype/packing_slip_item/packing_slip_item.py index b0a855961f..8363968187 100644 --- a/erpnext/stock/doctype/packing_slip_item/packing_slip_item.py +++ b/erpnext/stock/doctype/packing_slip_item/packing_slip_item.py @@ -4,9 +4,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PackingSlipItem(Document): pass diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py index 516ae43089..dffbe80fa3 100644 --- a/erpnext/stock/doctype/pick_list/pick_list.py +++ b/erpnext/stock/doctype/pick_list/pick_list.py @@ -3,16 +3,21 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json -from six import iteritems -from frappe.model.document import Document -from frappe import _ from collections import OrderedDict -from frappe.utils import floor, flt, today, cint -from frappe.model.mapper import get_mapped_doc, map_child_doc + +import frappe +from frappe import _ +from frappe.model.document import Document +from frappe.model.mapper import map_child_doc +from frappe.utils import cint, floor, flt, today +from six import iteritems + +from erpnext.selling.doctype.sales_order.sales_order import ( + make_delivery_note as create_delivery_note_from_sales_order, +) from erpnext.stock.get_item_details import get_conversion_factor -from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note as create_delivery_note_from_sales_order # TODO: Prioritize SO or WO group warehouse diff --git a/erpnext/stock/doctype/pick_list/pick_list_dashboard.py b/erpnext/stock/doctype/pick_list/pick_list_dashboard.py index 7c321c450a..50a767bafa 100644 --- a/erpnext/stock/doctype/pick_list/pick_list_dashboard.py +++ b/erpnext/stock/doctype/pick_list/pick_list_dashboard.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals -from frappe import _ + def get_data(): return { diff --git a/erpnext/stock/doctype/pick_list/test_pick_list.py b/erpnext/stock/doctype/pick_list/test_pick_list.py index 84566b8d8c..aa710ad0e9 100644 --- a/erpnext/stock/doctype/pick_list/test_pick_list.py +++ b/erpnext/stock/doctype/pick_list/test_pick_list.py @@ -3,15 +3,19 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + +import frappe + test_dependencies = ['Item', 'Sales Invoice', 'Stock Entry', 'Batch'] -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.pick_list.pick_list import create_delivery_note -from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation \ - import EmptyStockReconciliationItemsError +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( + EmptyStockReconciliationItemsError, +) + class TestPickList(unittest.TestCase): diff --git a/erpnext/stock/doctype/pick_list_item/pick_list_item.py b/erpnext/stock/doctype/pick_list_item/pick_list_item.py index 8797b8dc21..4cd81f7f85 100644 --- a/erpnext/stock/doctype/pick_list_item/pick_list_item.py +++ b/erpnext/stock/doctype/pick_list_item/pick_list_item.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PickListItem(Document): pass diff --git a/erpnext/stock/doctype/price_list/price_list.py b/erpnext/stock/doctype/price_list/price_list.py index 002d3d898e..01040c6b8b 100644 --- a/erpnext/stock/doctype/price_list/price_list.py +++ b/erpnext/stock/doctype/price_list/price_list.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _, throw -from frappe.utils import cint from frappe.model.document import Document -import frappe.defaults +from frappe.utils import cint + class PriceList(Document): def validate(self): @@ -37,7 +38,9 @@ class PriceList(Document): def check_impact_on_shopping_cart(self): "Check if Price List currency change impacts Shopping Cart." - from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import validate_cart_settings + from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + validate_cart_settings, + ) doc_before_save = self.get_doc_before_save() currency_changed = self.currency != doc_before_save.currency diff --git a/erpnext/stock/doctype/price_list/test_price_list.py b/erpnext/stock/doctype/price_list/test_price_list.py index 2c287c9033..baf6170e85 100644 --- a/erpnext/stock/doctype/price_list/test_price_list.py +++ b/erpnext/stock/doctype/price_list/test_price_list.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe # test_ignore = ["Item"] diff --git a/erpnext/stock/doctype/price_list_country/price_list_country.py b/erpnext/stock/doctype/price_list_country/price_list_country.py index db1a0607e6..a57729fb2e 100644 --- a/erpnext/stock/doctype/price_list_country/price_list_country.py +++ b/erpnext/stock/doctype/price_list_country/price_list_country.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class PriceListCountry(Document): pass diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index ece6d6f734..07a568db86 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -2,21 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe - -from frappe.utils import flt, cint, nowdate - -from frappe import throw, _ -import frappe.defaults -from frappe.utils import getdate -from erpnext.controllers.buying_controller import BuyingController -from erpnext.accounts.utils import get_account_currency +from frappe import _, throw from frappe.desk.notifications import clear_doctype_notifications from frappe.model.mapper import get_mapped_doc -from erpnext.buying.utils import check_on_hold_or_closed_status +from frappe.utils import cint, flt, getdate, nowdate +from six import iteritems + +from erpnext.accounts.utils import get_account_currency from erpnext.assets.doctype.asset.asset import get_asset_account, is_cwip_accounting_enabled from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account -from six import iteritems +from erpnext.buying.utils import check_on_hold_or_closed_status +from erpnext.controllers.buying_controller import BuyingController from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_transaction form_grid_templates = { @@ -254,7 +252,9 @@ class PurchaseReceipt(BuyingController): return process_gl_map(gl_entries) def make_item_gl_entries(self, gl_entries, warehouse_account=None): - from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import get_purchase_document_details + from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import ( + get_purchase_document_details, + ) stock_rbnb = self.get_company_default("stock_received_but_not_billed") landed_cost_entries = get_item_account_wise_additional_cost(self.name) diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py index 3832c827e2..b60850f285 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + from frappe import _ + def get_data(): return { 'fieldname': 'purchase_receipt_no', diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py index 2314508844..044856cca9 100644 --- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py @@ -2,20 +2,22 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import unittest + import json -import frappe, erpnext -import frappe.defaults -from frappe.utils import cint, flt, cstr, today, random_string, add_days -from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice -from erpnext.stock.doctype.item.test_item import create_item -from erpnext.stock.doctype.serial_no.serial_no import SerialNoDuplicateError -from erpnext.accounts.doctype.account.test_account import get_inventory_account -from erpnext.stock.doctype.item.test_item import make_item +import unittest + +import frappe +from frappe.utils import add_days, cint, cstr, flt, today from six import iteritems -from erpnext.stock.stock_ledger import SerialNoExistsInFutureTransaction + +import erpnext +from erpnext.accounts.doctype.account.test_account import get_inventory_account +from erpnext.stock.doctype.item.test_item import create_item, make_item +from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice +from erpnext.stock.doctype.serial_no.serial_no import SerialNoDuplicateError, get_serial_nos from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.stock_ledger import SerialNoExistsInFutureTransaction + class TestPurchaseReceipt(unittest.TestCase): def setUp(self): @@ -275,11 +277,16 @@ class TestPurchaseReceipt(unittest.TestCase): receive more than the required qty in the PO. Expected Result: Error Raised for Over Receipt against PO. """ + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt + from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_rm_stock_entry as make_subcontract_transfer_entry, + ) + from erpnext.buying.doctype.purchase_order.test_purchase_order import ( + create_purchase_order, + make_subcontracted_item, + update_backflush_based_on, + ) from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry - from erpnext.buying.doctype.purchase_order.test_purchase_order import (update_backflush_based_on, - make_subcontracted_item, create_purchase_order) - from erpnext.buying.doctype.purchase_order.purchase_order import (make_purchase_receipt, - make_rm_stock_entry as make_subcontract_transfer_entry) update_backflush_based_on("Material Transferred for Subcontract") item_code = "_Test Subcontracted FG Item 1" @@ -526,7 +533,9 @@ class TestPurchaseReceipt(unittest.TestCase): pr.cancel() def test_closed_purchase_receipt(self): - from erpnext.stock.doctype.purchase_receipt.purchase_receipt import update_purchase_receipt_status + from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( + update_purchase_receipt_status, + ) pr = make_purchase_receipt(do_not_submit=True) pr.submit() @@ -539,9 +548,11 @@ class TestPurchaseReceipt(unittest.TestCase): def test_pr_billing_status(self): # PO -> PR1 -> PI and PO -> PI and PO -> PR2 + from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_purchase_invoice as make_purchase_invoice_from_po, + ) + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order - from erpnext.buying.doctype.purchase_order.purchase_order \ - import make_purchase_receipt, make_purchase_invoice as make_purchase_invoice_from_po po = create_purchase_order() @@ -748,7 +759,10 @@ class TestPurchaseReceipt(unittest.TestCase): pr.cancel() def test_make_purchase_invoice_from_pr_for_returned_qty(self): - from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order, create_pr_against_po + from erpnext.buying.doctype.purchase_order.test_purchase_order import ( + create_pr_against_po, + create_purchase_order, + ) po = create_purchase_order() pr = create_pr_against_po(po.name) @@ -879,10 +893,15 @@ class TestPurchaseReceipt(unittest.TestCase): def test_subcontracted_pr_for_multi_transfer_batches(self): + from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_purchase_receipt, + make_rm_stock_entry, + ) + from erpnext.buying.doctype.purchase_order.test_purchase_order import ( + create_purchase_order, + update_backflush_based_on, + ) from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry - from erpnext.buying.doctype.purchase_order.purchase_order import make_rm_stock_entry, make_purchase_receipt - from erpnext.buying.doctype.purchase_order.test_purchase_order import (update_backflush_based_on, - create_purchase_order) update_backflush_based_on("Material Transferred for Subcontract") item_code = "_Test Subcontracted FG Item 3" @@ -952,8 +971,7 @@ class TestPurchaseReceipt(unittest.TestCase): - Create PI from PO and submit - Create PR from PO and submit """ - from erpnext.buying.doctype.purchase_order import test_purchase_order - from erpnext.buying.doctype.purchase_order import purchase_order + from erpnext.buying.doctype.purchase_order import purchase_order, test_purchase_order po = test_purchase_order.create_purchase_order() @@ -974,8 +992,7 @@ class TestPurchaseReceipt(unittest.TestCase): - Create partial PI from PO and submit - Create PR from PO and submit """ - from erpnext.buying.doctype.purchase_order import test_purchase_order - from erpnext.buying.doctype.purchase_order import purchase_order + from erpnext.buying.doctype.purchase_order import purchase_order, test_purchase_order po = test_purchase_order.create_purchase_order() @@ -1038,8 +1055,12 @@ class TestPurchaseReceipt(unittest.TestCase): frappe.db.set_value('Company', company, 'enable_perpetual_inventory_for_non_stock_items', before_test_value) def test_purchase_receipt_with_exchange_rate_difference(self): - from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice as create_purchase_invoice - from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import make_purchase_receipt as create_purchase_receipt + from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import ( + make_purchase_receipt as create_purchase_receipt, + ) + from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( + make_purchase_invoice as create_purchase_invoice, + ) pi = create_purchase_invoice(company="_Test Company with perpetual inventory", cost_center = "Main - TCP1", @@ -1065,10 +1086,18 @@ class TestPurchaseReceipt(unittest.TestCase): self.assertEqual(discrepancy_caused_by_exchange_rate_diff, amount) def test_payment_terms_are_fetched_when_creating_purchase_invoice(self): - from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template + from erpnext.accounts.doctype.payment_entry.test_payment_entry import ( + create_payment_terms_template, + ) from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice - from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order, make_pr_against_po - from erpnext.selling.doctype.sales_order.test_sales_order import automatically_fetch_payment_terms, compare_payment_schedules + from erpnext.buying.doctype.purchase_order.test_purchase_order import ( + create_purchase_order, + make_pr_against_po, + ) + from erpnext.selling.doctype.sales_order.test_sales_order import ( + automatically_fetch_payment_terms, + compare_payment_schedules, + ) automatically_fetch_payment_terms() diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.py b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.py index b79bb5d043..2d25140d2b 100644 --- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.py +++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class PurchaseReceiptItem(Document): pass diff --git a/erpnext/stock/doctype/putaway_rule/putaway_rule.py b/erpnext/stock/doctype/putaway_rule/putaway_rule.py index 315e723fab..aa9d896806 100644 --- a/erpnext/stock/doctype/putaway_rule/putaway_rule.py +++ b/erpnext/stock/doctype/putaway_rule/putaway_rule.py @@ -3,16 +3,20 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import copy import json from collections import defaultdict -from six import string_types + +import frappe from frappe import _ -from frappe.utils import flt, floor, nowdate, cint from frappe.model.document import Document -from erpnext.stock.utils import get_stock_balance +from frappe.utils import cint, floor, flt, nowdate +from six import string_types + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.utils import get_stock_balance + class PutawayRule(Document): def validate(self): diff --git a/erpnext/stock/doctype/putaway_rule/test_putaway_rule.py b/erpnext/stock/doctype/putaway_rule/test_putaway_rule.py index 0590ae1abe..0aa7610575 100644 --- a/erpnext/stock/doctype/putaway_rule/test_putaway_rule.py +++ b/erpnext/stock/doctype/putaway_rule/test_putaway_rule.py @@ -2,14 +2,18 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals -import frappe + import unittest -from erpnext.stock.doctype.item.test_item import make_item -from erpnext.stock.get_item_details import get_conversion_factor -from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse -from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + +import frappe + from erpnext.stock.doctype.batch.test_batch import make_new_batch +from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry +from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse +from erpnext.stock.get_item_details import get_conversion_factor + class TestPutawayRule(unittest.TestCase): def setUp(self): diff --git a/erpnext/stock/doctype/quality_inspection/quality_inspection.py b/erpnext/stock/doctype/quality_inspection/quality_inspection.py index 469511af60..8b2f8da9df 100644 --- a/erpnext/stock/doctype/quality_inspection/quality_inspection.py +++ b/erpnext/stock/doctype/quality_inspection/quality_inspection.py @@ -2,13 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe +from frappe import _ from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc -from frappe import _ -from frappe.utils import flt, cint -from erpnext.stock.doctype.quality_inspection_template.quality_inspection_template \ - import get_template_details +from frappe.utils import cint, flt + +from erpnext.stock.doctype.quality_inspection_template.quality_inspection_template import ( + get_template_details, +) + class QualityInspection(Document): def validate(self): diff --git a/erpnext/stock/doctype/quality_inspection_parameter/quality_inspection_parameter.py b/erpnext/stock/doctype/quality_inspection_parameter/quality_inspection_parameter.py index 86784221a0..fa682012e5 100644 --- a/erpnext/stock/doctype/quality_inspection_parameter/quality_inspection_parameter.py +++ b/erpnext/stock/doctype/quality_inspection_parameter/quality_inspection_parameter.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityInspectionParameter(Document): pass diff --git a/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py b/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py index cefdc0867b..f3041aa863 100644 --- a/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py +++ b/erpnext/stock/doctype/quality_inspection_parameter/test_quality_inspection_parameter.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestQualityInspectionParameter(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/quality_inspection_parameter_group/quality_inspection_parameter_group.py b/erpnext/stock/doctype/quality_inspection_parameter_group/quality_inspection_parameter_group.py index 1a3b1a0463..b5e28f3ec9 100644 --- a/erpnext/stock/doctype/quality_inspection_parameter_group/quality_inspection_parameter_group.py +++ b/erpnext/stock/doctype/quality_inspection_parameter_group/quality_inspection_parameter_group.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class QualityInspectionParameterGroup(Document): pass diff --git a/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py b/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py index 212d4b8c21..ded47e8ca8 100644 --- a/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py +++ b/erpnext/stock/doctype/quality_inspection_parameter_group/test_quality_inspection_parameter_group.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestQualityInspectionParameterGroup(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.py b/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.py index b10fa310d6..7b56603321 100644 --- a/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.py +++ b/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class QualityInspectionReading(Document): pass diff --git a/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py b/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py index 971b3c2982..50e28a6361 100644 --- a/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py +++ b/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe.model.document import Document + class QualityInspectionTemplate(Document): pass diff --git a/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py b/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py index b16efa839d..6286523c86 100644 --- a/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py +++ b/erpnext/stock/doctype/quality_inspection_template/test_quality_inspection_template.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestQualityInspectionTemplate(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.py b/erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.py index efa951940e..8ca5521de0 100644 --- a/erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.py +++ b/erpnext/stock/doctype/quick_stock_balance/quick_stock_balance.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.model.document import Document + from erpnext.stock.utils import get_stock_balance, get_stock_value_on + class QuickStockBalance(Document): pass diff --git a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py index b22759d3b7..62b3a6adf7 100644 --- a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py +++ b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py @@ -3,14 +3,22 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext -from rq.timeouts import JobTimeoutException -from frappe.model.document import Document -from frappe.utils import cint, get_link_to_form, add_to_date, now, today, time_diff_in_hours -from erpnext.stock.stock_ledger import repost_future_sle -from erpnext.accounts.utils import update_gl_entries_after, check_if_stock_and_account_balance_synced -from frappe.utils.user import get_users_with_role + +import frappe from frappe import _ +from frappe.model.document import Document +from frappe.utils import cint, get_link_to_form, now, today +from frappe.utils.user import get_users_with_role +from rq.timeouts import JobTimeoutException + +import erpnext +from erpnext.accounts.utils import ( + check_if_stock_and_account_balance_synced, + update_gl_entries_after, +) +from erpnext.stock.stock_ledger import repost_future_sle + + class RepostItemValuation(Document): def validate(self): self.set_status() diff --git a/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py index 13ceb68669..c70a9ec7a8 100644 --- a/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py +++ b/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestRepostItemValuation(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py index 319597f839..82d8aaed5b 100644 --- a/erpnext/stock/doctype/serial_no/serial_no.py +++ b/erpnext/stock/doctype/serial_no/serial_no.py @@ -2,19 +2,20 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import json +import frappe +from frappe import ValidationError, _ from frappe.model.naming import make_autoname -from frappe.utils import cint, cstr, flt, add_days, nowdate, getdate, get_link_to_form -from erpnext.stock.get_item_details import get_reserved_qty_for_so - -from frappe import _, ValidationError - -from erpnext.controllers.stock_controller import StockController +from frappe.utils import add_days, cint, cstr, flt, get_link_to_form, getdate, nowdate from six import string_types from six.moves import map +from erpnext.controllers.stock_controller import StockController +from erpnext.stock.get_item_details import get_reserved_qty_for_so + + class SerialNoCannotCreateDirectError(ValidationError): pass class SerialNoCannotCannotChangeError(ValidationError): pass class SerialNoNotRequiredError(ValidationError): pass diff --git a/erpnext/stock/doctype/serial_no/test_serial_no.py b/erpnext/stock/doctype/serial_no/test_serial_no.py index 0eccce3a58..818c163c68 100644 --- a/erpnext/stock/doctype/serial_no/test_serial_no.py +++ b/erpnext/stock/doctype/serial_no/test_serial_no.py @@ -5,12 +5,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, unittest -from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +import unittest + +import frappe + from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse test_dependencies = ["Item"] @@ -18,6 +21,7 @@ test_records = frappe.get_test_records('Serial No') from erpnext.stock.doctype.serial_no.serial_no import * + class TestSerialNo(unittest.TestCase): def test_cannot_create_direct(self): frappe.delete_doc_if_exists("Serial No", "_TCSER0001") diff --git a/erpnext/stock/doctype/shipment/shipment.py b/erpnext/stock/doctype/shipment/shipment.py index 01fcee4cac..2cacd0dfab 100644 --- a/erpnext/stock/doctype/shipment/shipment.py +++ b/erpnext/stock/doctype/shipment/shipment.py @@ -3,12 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, get_time -from frappe.model.document import Document -from erpnext.accounts.party import get_party_shipping_address from frappe.contacts.doctype.contact.contact import get_default_contact +from frappe.model.document import Document +from frappe.utils import flt, get_time + +from erpnext.accounts.party import get_party_shipping_address + class Shipment(Document): def validate(self): diff --git a/erpnext/stock/doctype/shipment/test_shipment.py b/erpnext/stock/doctype/shipment/test_shipment.py index db2f116174..9914cf8015 100644 --- a/erpnext/stock/doctype/shipment/test_shipment.py +++ b/erpnext/stock/doctype/shipment/test_shipment.py @@ -2,12 +2,15 @@ # Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt from __future__ import unicode_literals + +import unittest from datetime import date, timedelta import frappe -import unittest + from erpnext.stock.doctype.delivery_note.delivery_note import make_shipment + class TestShipment(unittest.TestCase): def test_shipment_from_delivery_note(self): delivery_note = create_test_delivery_note() diff --git a/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py b/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py index 4342151605..795c952bcd 100644 --- a/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py +++ b/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ShipmentDeliveryNote(Document): pass diff --git a/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py b/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py index 53e6ed55dd..69fecb6e5c 100644 --- a/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py +++ b/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ShipmentParcel(Document): pass diff --git a/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py index 2a8d58d830..0eaa2d3d5b 100644 --- a/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py +++ b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ShipmentParcelTemplate(Document): pass diff --git a/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py b/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py index 6e2caa768b..5f2a399335 100644 --- a/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py +++ b/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestShipmentParcelTemplate(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index c5c2868c63..41ca8300a8 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -2,27 +2,39 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -import frappe.defaults -from frappe import _ -from frappe.utils import cstr, cint, flt, comma_or, getdate, nowdate, formatdate, format_time -from erpnext.stock.utils import get_incoming_rate -from erpnext.stock.stock_ledger import get_previous_sle, NegativeStockError, get_valuation_rate -from erpnext.stock.get_item_details import get_bin_details, get_default_cost_center, get_conversion_factor, get_reserved_qty_for_so -from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults -from erpnext.setup.doctype.brand.brand import get_brand_defaults -from erpnext.stock.doctype.batch.batch import get_batch_no, set_batch_nos, get_batch_qty -from erpnext.stock.doctype.item.item import get_item_defaults -from erpnext.manufacturing.doctype.bom.bom import validate_bom_no, add_additional_cost -from erpnext.stock.utils import get_bin -from frappe.model.mapper import get_mapped_doc -from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit, get_serial_nos -from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import OpeningEntryAccountError -from erpnext.accounts.general_ledger import process_gl_map -from erpnext.controllers.taxes_and_totals import init_landed_taxes_and_totals + import json -from six import string_types, itervalues, iteritems +import frappe +from frappe import _ +from frappe.model.mapper import get_mapped_doc +from frappe.utils import cint, comma_or, cstr, flt, format_time, formatdate, getdate, nowdate +from six import iteritems, itervalues, string_types + +import erpnext +from erpnext.accounts.general_ledger import process_gl_map +from erpnext.controllers.taxes_and_totals import init_landed_taxes_and_totals +from erpnext.manufacturing.doctype.bom.bom import add_additional_cost, validate_bom_no +from erpnext.setup.doctype.brand.brand import get_brand_defaults +from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults +from erpnext.stock.doctype.batch.batch import get_batch_no, get_batch_qty, set_batch_nos +from erpnext.stock.doctype.item.item import get_item_defaults +from erpnext.stock.doctype.serial_no.serial_no import ( + get_serial_nos, + update_serial_nos_after_submit, +) +from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( + OpeningEntryAccountError, +) +from erpnext.stock.get_item_details import ( + get_bin_details, + get_conversion_factor, + get_default_cost_center, + get_reserved_qty_for_so, +) +from erpnext.stock.stock_ledger import NegativeStockError, get_previous_sle, get_valuation_rate +from erpnext.stock.utils import get_bin, get_incoming_rate + class IncorrectValuationRateError(frappe.ValidationError): pass class DuplicateEntryForWorkOrderError(frappe.ValidationError): pass diff --git a/erpnext/stock/doctype/stock_entry/stock_entry_utils.py b/erpnext/stock/doctype/stock_entry/stock_entry_utils.py index 563fcb0397..f54dc4604e 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry_utils.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry_utils.py @@ -2,11 +2,14 @@ # See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import cint, flt +import frappe +from frappe.utils import cint, flt from six import string_types +import erpnext + + @frappe.whitelist() def make_stock_entry(**args): '''Helper function to make a Stock Entry diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index a0e70516d4..46619eb1f3 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -2,21 +2,33 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, unittest -import frappe.defaults -from frappe.utils import flt, nowdate, nowtime -from erpnext.stock.doctype.serial_no.serial_no import * -from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import StockFreezeError -from erpnext.stock.stock_ledger import get_previous_sle + +import unittest + +import frappe from frappe.permissions import add_user_permission, remove_user_permission -from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation -from erpnext.stock.doctype.item.test_item import set_item_variant_settings, make_item_variant, create_item -from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry -from erpnext.accounts.doctype.account.test_account import get_inventory_account -from erpnext.stock.doctype.stock_entry.stock_entry import move_sample_to_retention_warehouse, make_stock_in_entry -from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import OpeningEntryAccountError +from frappe.utils import flt, nowdate, nowtime from six import iteritems +from erpnext.accounts.doctype.account.test_account import get_inventory_account +from erpnext.stock.doctype.item.test_item import ( + create_item, + make_item_variant, + set_item_variant_settings, +) +from erpnext.stock.doctype.serial_no.serial_no import * # noqa +from erpnext.stock.doctype.stock_entry.stock_entry import move_sample_to_retention_warehouse +from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry +from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import StockFreezeError +from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( + OpeningEntryAccountError, +) +from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( + create_stock_reconciliation, +) +from erpnext.stock.stock_ledger import get_previous_sle + + def get_sle(**args): condition, values = "", [] for key, value in iteritems(args): @@ -539,8 +551,9 @@ class TestStockEntry(unittest.TestCase): frappe.db.set_value("Stock Settings", None, "stock_frozen_upto_days", 0) def test_work_order(self): - from erpnext.manufacturing.doctype.work_order.work_order \ - import make_stock_entry as _make_stock_entry + from erpnext.manufacturing.doctype.work_order.work_order import ( + make_stock_entry as _make_stock_entry, + ) bom_no, bom_operation_cost = frappe.db.get_value("BOM", {"item": "_Test FG Item 2", "is_default": 1, "docstatus": 1}, ["name", "operating_cost"]) @@ -618,8 +631,8 @@ class TestStockEntry(unittest.TestCase): s2.cancel() def test_retain_sample(self): - from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.batch.batch import get_batch_qty + from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse create_warehouse("Test Warehouse for Sample Retention") frappe.db.set_value("Stock Settings", None, "sample_retention_warehouse", "Test Warehouse for Sample Retention - _TC") diff --git a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.py b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.py index a5623fded2..6c03425a9e 100644 --- a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.py +++ b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class StockEntryDetail(Document): pass diff --git a/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py b/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py index 1069ec8713..3d6e26409e 100644 --- a/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py +++ b/erpnext/stock/doctype/stock_entry_type/stock_entry_type.py @@ -3,9 +3,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class StockEntryType(Document): def validate(self): if self.add_to_transit and self.purpose != 'Material Transfer': diff --git a/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py b/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py index 4fa73fd2dc..7eea8f5c35 100644 --- a/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py +++ b/erpnext/stock/doctype/stock_entry_type/test_stock_entry_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestStockEntryType(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py index be1f00e37f..caa1d42b66 100644 --- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py @@ -3,14 +3,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + +from datetime import date + import frappe from frappe import _ -from frappe.utils import flt, getdate, add_days, formatdate, get_datetime, cint -from frappe.model.document import Document -from datetime import date -from erpnext.controllers.item_variant import ItemTemplateCannotHaveStock -from erpnext.accounts.utils import get_fiscal_year from frappe.core.doctype.role.role import get_users +from frappe.model.document import Document +from frappe.utils import add_days, cint, flt, formatdate, get_datetime, getdate + +from erpnext.accounts.utils import get_fiscal_year +from erpnext.controllers.item_variant import ItemTemplateCannotHaveStock + class StockFreezeError(frappe.ValidationError): pass class BackDatedStockTransaction(frappe.ValidationError): pass @@ -27,7 +31,7 @@ class StockLedgerEntry(Document): def validate(self): self.flags.ignore_submit_comment = True - from erpnext.stock.utils import validate_warehouse_company, validate_disabled_warehouse + from erpnext.stock.utils import validate_disabled_warehouse, validate_warehouse_company self.validate_mandatory() self.validate_item() self.validate_batch() diff --git a/erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py index af2ada8c9a..61bae49b0b 100644 --- a/erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py +++ b/erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py @@ -3,19 +3,25 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest -from frappe.utils import today, add_days -from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry -from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation \ - import create_stock_reconciliation -from erpnext.stock.doctype.item.test_item import make_item -from erpnext.stock.stock_ledger import get_previous_sle -from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt -from erpnext.stock.doctype.landed_cost_voucher.test_landed_cost_voucher import create_landed_cost_voucher -from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note -from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import BackDatedStockTransaction + +import frappe from frappe.core.page.permission_manager.permission_manager import reset +from frappe.utils import add_days, today + +from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note +from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.doctype.landed_cost_voucher.test_landed_cost_voucher import ( + create_landed_cost_voucher, +) +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry +from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import BackDatedStockTransaction +from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( + create_stock_reconciliation, +) +from erpnext.stock.stock_ledger import get_previous_sle + class TestStockLedgerEntry(unittest.TestCase): def setUp(self): diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 24b7b9aeb6..fa96c5a09b 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -2,15 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -import frappe.defaults -from frappe import msgprint, _ -from frappe.utils import cstr, flt, cint -from erpnext.controllers.stock_controller import StockController + +import frappe +from frappe import _, msgprint +from frappe.utils import cint, cstr, flt + +import erpnext from erpnext.accounts.utils import get_company_default -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos -from erpnext.stock.utils import get_stock_balance, get_incoming_rate, get_available_serial_nos +from erpnext.controllers.stock_controller import StockController from erpnext.stock.doctype.batch.batch import get_batch_qty +from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.utils import get_stock_balance + class OpeningEntryAccountError(frappe.ValidationError): pass class EmptyStockReconciliationItemsError(frappe.ValidationError): pass @@ -159,8 +162,11 @@ class StockReconciliation(StockController): raise frappe.ValidationError(self.validation_messages) def validate_item(self, item_code, row): - from erpnext.stock.doctype.item.item import validate_end_of_life, \ - validate_is_stock_item, validate_cancelled_item + from erpnext.stock.doctype.item.item import ( + validate_cancelled_item, + validate_end_of_life, + validate_is_stock_item, + ) # using try except to catch all validation msgs and display together diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py index e4381271ed..8647bee40e 100644 --- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py @@ -5,16 +5,23 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, unittest -from frappe.utils import flt, nowdate, nowtime, random_string, add_days + +import unittest + +import frappe +from frappe.utils import add_days, flt, nowdate, nowtime, random_string + from erpnext.accounts.utils import get_stock_and_account_balance -from erpnext.stock.stock_ledger import get_previous_sle, update_entries_after -from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import EmptyStockReconciliationItemsError, get_items -from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.item.test_item import create_item -from erpnext.stock.utils import get_incoming_rate, get_stock_value_on, get_valuation_method -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( + EmptyStockReconciliationItemsError, + get_items, +) +from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse +from erpnext.stock.stock_ledger import get_previous_sle, update_entries_after +from erpnext.stock.utils import get_incoming_rate, get_stock_value_on, get_valuation_method from erpnext.tests.utils import change_settings @@ -322,8 +329,8 @@ class TestStockReconciliation(unittest.TestCase): SR3 | Reco | 0 | 1 (posting date: today-1) [backdated & blocked] DN2 | DN | -2 | 8(-1) (posting date: today) """ - from erpnext.stock.stock_ledger import NegativeStockError from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note + from erpnext.stock.stock_ledger import NegativeStockError item_code = "Backdated-Reco-Item" warehouse = "_Test Warehouse - _TC" @@ -363,8 +370,8 @@ class TestStockReconciliation(unittest.TestCase): SR | Reco | 100 | 100 (posting date: today-1) (shouldn't be cancelled after DN) DN | DN | 100 | 0 (posting date: today) """ - from erpnext.stock.stock_ledger import NegativeStockError from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note + from erpnext.stock.stock_ledger import NegativeStockError frappe.db.commit() item_code = "Backdated-Reco-Cancellation-Item" diff --git a/erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.py b/erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.py index cc1e19dcaf..227e72769b 100644 --- a/erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.py +++ b/erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.py @@ -2,8 +2,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class StockReconciliationItem(Document): pass diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py index 2dd7c6f35b..2a634b3d16 100644 --- a/erpnext/stock/doctype/stock_settings/stock_settings.py +++ b/erpnext/stock/doctype/stock_settings/stock_settings.py @@ -4,12 +4,14 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.model.document import Document -from frappe.utils.html_utils import clean_html -from frappe.utils import cint from frappe.custom.doctype.property_setter.property_setter import make_property_setter +from frappe.model.document import Document +from frappe.utils import cint +from frappe.utils.html_utils import clean_html + class StockSettings(Document): def validate(self): diff --git a/erpnext/stock/doctype/stock_settings/test_stock_settings.py b/erpnext/stock/doctype/stock_settings/test_stock_settings.py index 42a78f723d..7e8090499f 100644 --- a/erpnext/stock/doctype/stock_settings/test_stock_settings.py +++ b/erpnext/stock/doctype/stock_settings/test_stock_settings.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestStockSettings(unittest.TestCase): def setUp(self): frappe.db.set_value("Stock Settings", None, "clean_description_html", 0) diff --git a/erpnext/stock/doctype/uom_category/test_uom_category.py b/erpnext/stock/doctype/uom_category/test_uom_category.py index 33bd408a57..dd5510a3dd 100644 --- a/erpnext/stock/doctype/uom_category/test_uom_category.py +++ b/erpnext/stock/doctype/uom_category/test_uom_category.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestUOMCategory(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/uom_category/uom_category.py b/erpnext/stock/doctype/uom_category/uom_category.py index d5c339e1bf..282ebb2f4e 100644 --- a/erpnext/stock/doctype/uom_category/uom_category.py +++ b/erpnext/stock/doctype/uom_category/uom_category.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class UOMCategory(Document): pass diff --git a/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.py b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.py index fdead20567..9d9d4c6f25 100644 --- a/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.py +++ b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class UOMConversionDetail(Document): pass diff --git a/erpnext/stock/doctype/variant_field/test_variant_field.py b/erpnext/stock/doctype/variant_field/test_variant_field.py index 53024bdac1..408e33b2f7 100644 --- a/erpnext/stock/doctype/variant_field/test_variant_field.py +++ b/erpnext/stock/doctype/variant_field/test_variant_field.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestVariantField(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/variant_field/variant_field.py b/erpnext/stock/doctype/variant_field/variant_field.py index a77301e0e5..abcfdc7030 100644 --- a/erpnext/stock/doctype/variant_field/variant_field.py +++ b/erpnext/stock/doctype/variant_field/variant_field.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class VariantField(Document): pass diff --git a/erpnext/stock/doctype/warehouse/test_warehouse.py b/erpnext/stock/doctype/warehouse/test_warehouse.py index 6e429a2255..1ca7181f27 100644 --- a/erpnext/stock/doctype/warehouse/test_warehouse.py +++ b/erpnext/stock/doctype/warehouse/test_warehouse.py @@ -5,13 +5,13 @@ from __future__ import unicode_literals import unittest import frappe -from frappe.utils import cint from frappe.test_runner import make_test_records +from frappe.utils import cint import erpnext -from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry -from erpnext.accounts.doctype.account.test_account import get_inventory_account, create_account +from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account from erpnext.stock.doctype.item.test_item import create_item +from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry test_records = frappe.get_test_records('Warehouse') diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py index 3abc13907c..ecd8707fa6 100644 --- a/erpnext/stock/doctype/warehouse/warehouse.py +++ b/erpnext/stock/doctype/warehouse/warehouse.py @@ -2,13 +2,18 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe.utils import cint, flt -from frappe import throw, _ + from collections import defaultdict -from frappe.utils.nestedset import NestedSet -from erpnext.stock import get_warehouse_account + +import frappe +from frappe import _, throw from frappe.contacts.address_and_contact import load_address_and_contact +from frappe.utils import cint, flt +from frappe.utils.nestedset import NestedSet + +import erpnext +from erpnext.stock import get_warehouse_account + class Warehouse(NestedSet): nsm_parent_field = 'parent_warehouse' diff --git a/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py b/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py index 39f4b2391b..846e63be30 100644 --- a/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py +++ b/erpnext/stock/doctype/warehouse_type/test_warehouse_type.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestWarehouseType(unittest.TestCase): pass diff --git a/erpnext/stock/doctype/warehouse_type/warehouse_type.py b/erpnext/stock/doctype/warehouse_type/warehouse_type.py index 4b7d8d829f..fd83d78779 100644 --- a/erpnext/stock/doctype/warehouse_type/warehouse_type.py +++ b/erpnext/stock/doctype/warehouse_type/warehouse_type.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class WarehouseType(Document): pass diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index c72073c614..d578e6a83a 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -2,22 +2,27 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + +import json + import frappe from frappe import _, throw -from frappe.utils import flt, cint, add_days, cstr, add_months, getdate -import json, copy -from erpnext.accounts.doctype.pricing_rule.pricing_rule import get_pricing_rule_for_item, set_transaction_type -from erpnext.setup.utils import get_exchange_rate from frappe.model.meta import get_field_precision -from erpnext.stock.doctype.batch.batch import get_batch_no -from erpnext import get_company_currency -from erpnext.stock.doctype.item.item import get_item_defaults, get_uom_conv_factor -from erpnext.stock.doctype.price_list.price_list import get_price_list_details -from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults -from erpnext.setup.doctype.brand.brand import get_brand_defaults -from erpnext.stock.doctype.item_manufacturer.item_manufacturer import get_item_manufacturer_part_no +from frappe.utils import add_days, add_months, cint, cstr, flt, getdate +from six import iteritems, string_types -from six import string_types, iteritems +from erpnext import get_company_currency +from erpnext.accounts.doctype.pricing_rule.pricing_rule import ( + get_pricing_rule_for_item, + set_transaction_type, +) +from erpnext.setup.doctype.brand.brand import get_brand_defaults +from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults +from erpnext.setup.utils import get_exchange_rate +from erpnext.stock.doctype.batch.batch import get_batch_no +from erpnext.stock.doctype.item.item import get_item_defaults, get_uom_conv_factor +from erpnext.stock.doctype.item_manufacturer.item_manufacturer import get_item_manufacturer_part_no +from erpnext.stock.doctype.price_list.price_list import get_price_list_details sales_doctypes = ['Quotation', 'Sales Order', 'Delivery Note', 'Sales Invoice', 'POS Invoice'] purchase_doctypes = ['Material Request', 'Supplier Quotation', 'Purchase Order', 'Purchase Receipt', 'Purchase Invoice'] diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py index 4d8dcc68d2..3cd4cd2761 100644 --- a/erpnext/stock/reorder_item.py +++ b/erpnext/stock/reorder_item.py @@ -2,11 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -import erpnext + import json -from frappe.utils import flt, nowdate, add_days, cint + +import frappe from frappe import _ +from frappe.utils import add_days, cint, flt, nowdate + +import erpnext + def reorder_item(): """ Reorder item if stock reaches reorder level""" diff --git a/erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py b/erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py index 29689b1a91..da57baddc8 100644 --- a/erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py +++ b/erpnext/stock/report/batch_item_expiry_status/batch_item_expiry_status.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, cint, getdate +from frappe.utils import cint, getdate + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/stock/report/bom_search/bom_search.py b/erpnext/stock/report/bom_search/bom_search.py index e3955c9a37..8b583f3588 100644 --- a/erpnext/stock/report/bom_search/bom_search.py +++ b/erpnext/stock/report/bom_search/bom_search.py @@ -2,10 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json +import frappe from six import iteritems + def execute(filters=None): data = [] parents = { diff --git a/erpnext/stock/report/cogs_by_item_group/cogs_by_item_group.py b/erpnext/stock/report/cogs_by_item_group/cogs_by_item_group.py index 7532d02225..5f6184d6f3 100644 --- a/erpnext/stock/report/cogs_by_item_group/cogs_by_item_group.py +++ b/erpnext/stock/report/cogs_by_item_group/cogs_by_item_group.py @@ -1,8 +1,8 @@ # Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt -from collections import OrderedDict import datetime +from collections import OrderedDict from typing import Dict, List, Tuple, Union import frappe @@ -11,7 +11,6 @@ from frappe.utils import date_diff from erpnext.accounts.report.general_ledger.general_ledger import get_gl_entries - Filters = frappe._dict Row = frappe._dict Data = List[Row] diff --git a/erpnext/stock/report/delayed_item_report/delayed_item_report.py b/erpnext/stock/report/delayed_item_report/delayed_item_report.py index 61306662c0..1dd0478b40 100644 --- a/erpnext/stock/report/delayed_item_report/delayed_item_report.py +++ b/erpnext/stock/report/delayed_item_report/delayed_item_report.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import date_diff + def execute(filters=None, consolidated = False): data, columns = DelayedItemReport(filters).run() diff --git a/erpnext/stock/report/delayed_order_report/delayed_order_report.py b/erpnext/stock/report/delayed_order_report/delayed_order_report.py index d915160688..677e30c5a4 100644 --- a/erpnext/stock/report/delayed_order_report/delayed_order_report.py +++ b/erpnext/stock/report/delayed_order_report/delayed_order_report.py @@ -2,9 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe import _ + from erpnext.stock.report.delayed_item_report.delayed_item_report import DelayedItemReport + def execute(filters=None): columns, data = [], [] diff --git a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py index 77fd2ff244..6d03ec1c05 100644 --- a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py +++ b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe import _ -from erpnext.controllers.trends import get_columns,get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py b/erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py index 00125e71a9..cf27326559 100644 --- a/erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py +++ b/erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py @@ -3,8 +3,9 @@ import frappe from frappe import _ -from six import iteritems from frappe.utils import flt +from six import iteritems + def execute(filters=None): columns, data = [], [] diff --git a/erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py b/erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py index b3b7594ffd..5f03c7cbe0 100644 --- a/erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py +++ b/erpnext/stock/report/incorrect_serial_no_valuation/incorrect_serial_no_valuation.py @@ -1,12 +1,15 @@ # Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt -import frappe import copy + +import frappe from frappe import _ from six import iteritems + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + def execute(filters=None): columns, data = [], [] columns = get_columns() diff --git a/erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py b/erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py index c8f60a15d6..bc520ae27d 100644 --- a/erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py +++ b/erpnext/stock/report/incorrect_stock_value_report/incorrect_stock_value_report.py @@ -2,13 +2,16 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe -import erpnext from frappe import _ +from frappe.utils import add_days, getdate, today from six import iteritems -from frappe.utils import add_days, today, getdate -from erpnext.stock.utils import get_stock_value_on + +import erpnext from erpnext.accounts.utils import get_stock_and_account_balance +from erpnext.stock.utils import get_stock_value_on + def execute(filters=None): if not erpnext.is_perpetual_inventory_enabled(filters.company): diff --git a/erpnext/stock/report/item_price_stock/item_price_stock.py b/erpnext/stock/report/item_price_stock/item_price_stock.py index db7498bb21..6ffb5c8a98 100644 --- a/erpnext/stock/report/item_price_stock/item_price_stock.py +++ b/erpnext/stock/report/item_price_stock/item_price_stock.py @@ -1,9 +1,11 @@ # Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns, data = [], [] columns=get_columns() diff --git a/erpnext/stock/report/item_prices/item_prices.py b/erpnext/stock/report/item_prices/item_prices.py index 12f3297203..aa5ae0ed3d 100644 --- a/erpnext/stock/report/item_prices/item_prices.py +++ b/erpnext/stock/report/item_prices/item_prices.py @@ -2,10 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe import msgprint, _ +from frappe import _ from frappe.utils import flt + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/stock/report/item_shortage_report/item_shortage_report.py b/erpnext/stock/report/item_shortage_report/item_shortage_report.py index c67eed7e92..1438e6cda0 100644 --- a/erpnext/stock/report/item_shortage_report/item_shortage_report.py +++ b/erpnext/stock/report/item_shortage_report/item_shortage_report.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns = get_columns() conditions = get_conditions(filters) diff --git a/erpnext/stock/report/item_variant_details/item_variant_details.py b/erpnext/stock/report/item_variant_details/item_variant_details.py index d8563d7927..eedda53bed 100644 --- a/erpnext/stock/report/item_variant_details/item_variant_details.py +++ b/erpnext/stock/report/item_variant_details/item_variant_details.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): columns = get_columns(filters.item) data = get_data(filters.item) diff --git a/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py b/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py index 2e13aa0b04..08869af44a 100644 --- a/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +++ b/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py @@ -4,7 +4,8 @@ from __future__ import unicode_literals import frappe from frappe import _ -from frappe.utils import getdate, flt +from frappe.utils import flt, getdate + def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/stock/report/process_loss_report/process_loss_report.py b/erpnext/stock/report/process_loss_report/process_loss_report.py index ebb32f18c2..499c49f893 100644 --- a/erpnext/stock/report/process_loss_report/process_loss_report.py +++ b/erpnext/stock/report/process_loss_report/process_loss_report.py @@ -1,9 +1,10 @@ # Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt +from typing import Dict, List, Tuple + import frappe from frappe import _ -from typing import Dict, List, Tuple Filters = frappe._dict Row = frappe._dict diff --git a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py index 8fffbccab3..2e298e7da4 100644 --- a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py +++ b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py @@ -2,12 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt -from erpnext.stock.report.stock_ledger.stock_ledger import get_item_group_condition from six import iteritems +from erpnext.stock.report.stock_ledger.stock_ledger import get_item_group_condition + def execute(filters=None): if not filters: diff --git a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py index 0d96ea6aa8..2959532398 100644 --- a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py +++ b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py @@ -2,9 +2,11 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + from frappe import _ -from erpnext.controllers.trends import get_columns,get_data + +from erpnext.controllers.trends import get_columns, get_data + def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/stock/report/serial_no_ledger/serial_no_ledger.py b/erpnext/stock/report/serial_no_ledger/serial_no_ledger.py index cc3aa3522d..897a130a51 100644 --- a/erpnext/stock/report/serial_no_ledger/serial_no_ledger.py +++ b/erpnext/stock/report/serial_no_ledger/serial_no_ledger.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe import _ + from erpnext.stock.stock_ledger import get_stock_ledger_entries -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + def execute(filters=None): columns = get_columns(filters) diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py index 11d50cd12a..b4eca0ba96 100644 --- a/erpnext/stock/report/stock_ageing/stock_ageing.py +++ b/erpnext/stock/report/stock_ageing/stock_ageing.py @@ -2,13 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + +from operator import itemgetter + import frappe from frappe import _ -from operator import itemgetter -from frappe.utils import date_diff, flt, cint +from frappe.utils import cint, date_diff, flt from six import iteritems + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos + def execute(filters=None): columns = get_columns(filters) item_details = get_fifo_queue(filters) diff --git a/erpnext/stock/report/stock_analytics/stock_analytics.py b/erpnext/stock/report/stock_analytics/stock_analytics.py index a1e1e7fce7..ddc831037b 100644 --- a/erpnext/stock/report/stock_analytics/stock_analytics.py +++ b/erpnext/stock/report/stock_analytics/stock_analytics.py @@ -4,13 +4,18 @@ import datetime import frappe from frappe import _, scrub -from frappe.utils import getdate, get_quarter_start, get_first_day_of_week from frappe.utils import get_first_day as get_first_day_of_month +from frappe.utils import get_first_day_of_week, get_quarter_start, getdate -from erpnext.stock.report.stock_balance.stock_balance import (get_items, get_stock_ledger_entries, get_item_details) from erpnext.accounts.utils import get_fiscal_year +from erpnext.stock.report.stock_balance.stock_balance import ( + get_item_details, + get_items, + get_stock_ledger_entries, +) from erpnext.stock.utils import is_reposting_item_valuation_in_progress + def execute(filters=None): is_reposting_item_valuation_in_progress() filters = frappe._dict(filters or {}) diff --git a/erpnext/stock/report/stock_analytics/test_stock_analytics.py b/erpnext/stock/report/stock_analytics/test_stock_analytics.py index 00e268b4e0..21e1205bfc 100644 --- a/erpnext/stock/report/stock_analytics/test_stock_analytics.py +++ b/erpnext/stock/report/stock_analytics/test_stock_analytics.py @@ -2,8 +2,8 @@ import datetime import unittest from frappe import _dict -from erpnext.accounts.utils import get_fiscal_year +from erpnext.accounts.utils import get_fiscal_year from erpnext.stock.report.stock_analytics.stock_analytics import get_period_date_ranges diff --git a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py index 7e0c0e8ab3..f64774a20a 100644 --- a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py +++ b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py @@ -2,12 +2,15 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, erpnext + +import frappe from frappe import _ -from erpnext.accounts.utils import get_stock_accounts -from erpnext.accounts.utils import get_currency_precision + +import erpnext +from erpnext.accounts.utils import get_currency_precision, get_stock_accounts from erpnext.stock.doctype.warehouse.warehouse import get_warehouses_based_on_account + def execute(filters=None): if not erpnext.is_perpetual_inventory_enabled(filters.company): frappe.throw(_("Perpetual inventory required for the company {0} to view this report.") diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py index f530ac240e..fc5d5c12da 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.py +++ b/erpnext/stock/report/stock_balance/stock_balance.py @@ -2,17 +2,20 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -from operator import itemgetter -import frappe, erpnext -from frappe import _ -from frappe.utils import flt, cint, getdate, now, date_diff -from erpnext.stock.utils import add_additional_uom_columns -from erpnext.stock.report.stock_ledger.stock_ledger import get_item_group_condition -from erpnext.stock.utils import is_reposting_item_valuation_in_progress -from erpnext.stock.report.stock_ageing.stock_ageing import get_fifo_queue, get_average_age +from operator import itemgetter + +import frappe +from frappe import _ +from frappe.utils import cint, date_diff, flt, getdate from six import iteritems +import erpnext +from erpnext.stock.report.stock_ageing.stock_ageing import get_average_age, get_fifo_queue +from erpnext.stock.report.stock_ledger.stock_ledger import get_item_group_condition +from erpnext.stock.utils import add_additional_uom_columns, is_reposting_item_valuation_in_progress + + def execute(filters=None): is_reposting_item_valuation_in_progress() if not filters: filters = {} diff --git a/erpnext/stock/report/stock_ledger/stock_ledger.py b/erpnext/stock/report/stock_ledger/stock_ledger.py index b6923e97c4..1ea58fed19 100644 --- a/erpnext/stock/report/stock_ledger/stock_ledger.py +++ b/erpnext/stock/report/stock_ledger/stock_ledger.py @@ -4,10 +4,15 @@ from __future__ import unicode_literals import frappe -from frappe.utils import cint, flt -from erpnext.stock.utils import update_included_uom_in_report, is_reposting_item_valuation_in_progress from frappe import _ +from frappe.utils import cint, flt + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.utils import ( + is_reposting_item_valuation_in_progress, + update_included_uom_in_report, +) + def execute(filters=None): is_reposting_item_valuation_in_progress() diff --git a/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py b/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py index 7956f2e864..16f7c305a3 100644 --- a/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py +++ b/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py @@ -2,11 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt, today -from erpnext.stock.utils import update_included_uom_in_report, is_reposting_item_valuation_in_progress + from erpnext.accounts.doctype.pos_invoice.pos_invoice import get_pos_reserved_qty +from erpnext.stock.utils import ( + is_reposting_item_valuation_in_progress, + update_included_uom_in_report, +) + def execute(filters=None): is_reposting_item_valuation_in_progress() diff --git a/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py b/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py index fa19eeba58..5580636703 100644 --- a/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py +++ b/erpnext/stock/report/stock_qty_vs_serial_no_count/stock_qty_vs_serial_no_count.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): validate_warehouse(filters) columns = get_columns() diff --git a/erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.py b/erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.py index 4108a57554..f15557b00b 100644 --- a/erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.py +++ b/erpnext/stock/report/supplier_wise_sales_analytics/supplier_wise_sales_analytics.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt from six import iteritems + def execute(filters=None): columns = get_columns(filters) consumed_details = get_consumed_details(filters) diff --git a/erpnext/stock/report/total_stock_summary/total_stock_summary.py b/erpnext/stock/report/total_stock_summary/total_stock_summary.py index 59c253c425..779b5aabdb 100644 --- a/erpnext/stock/report/total_stock_summary/total_stock_summary.py +++ b/erpnext/stock/report/total_stock_summary/total_stock_summary.py @@ -2,9 +2,11 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ + def execute(filters=None): if not filters: filters = {} validate_filters(filters) diff --git a/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py b/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py index 04f7d347ba..6cb3751366 100644 --- a/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py +++ b/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py @@ -5,15 +5,22 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import flt, cint, getdate -from erpnext.stock.report.stock_balance.stock_balance import (get_item_details, - get_item_reorder_details, get_item_warehouse_map, get_items, get_stock_ledger_entries) -from erpnext.stock.report.stock_ageing.stock_ageing import get_fifo_queue, get_average_age -from erpnext.stock.utils import is_reposting_item_valuation_in_progress +from frappe.utils import flt from six import iteritems +from erpnext.stock.report.stock_ageing.stock_ageing import get_average_age, get_fifo_queue +from erpnext.stock.report.stock_balance.stock_balance import ( + get_item_details, + get_item_warehouse_map, + get_items, + get_stock_ledger_entries, +) +from erpnext.stock.utils import is_reposting_item_valuation_in_progress + + def execute(filters=None): is_reposting_item_valuation_in_progress() if not filters: filters = {} diff --git a/erpnext/stock/stock_balance.py b/erpnext/stock/stock_balance.py index e5819d6bef..1cb0f0d0a4 100644 --- a/erpnext/stock/stock_balance.py +++ b/erpnext/stock/stock_balance.py @@ -2,11 +2,13 @@ # License: GNU General Public License v3. See license.txt from __future__ import print_function, unicode_literals + import frappe -from frappe.utils import flt, cstr, nowdate, nowtime -from erpnext.stock.utils import update_bin -from erpnext.stock.stock_ledger import update_entries_after +from frappe.utils import cstr, flt, nowdate, nowtime + from erpnext.controllers.stock_controller import create_repost_item_valuation_entry +from erpnext.stock.utils import update_bin + def repost(only_actual=False, allow_negative_stock=False, allow_zero_rate=False, only_bin=False): """ diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index 840ca3e2f8..542124204b 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -2,17 +2,22 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe -import erpnext import copy -from frappe import _ -from frappe.utils import cint, flt, cstr, now, get_link_to_form, getdate -from frappe.model.meta import get_field_precision -from erpnext.stock.utils import get_valuation_method, get_incoming_outgoing_rate_for_cancel -from erpnext.stock.utils import get_bin import json + +import frappe +from frappe import _ +from frappe.model.meta import get_field_precision +from frappe.utils import cint, cstr, flt, get_link_to_form, getdate, now from six import iteritems +import erpnext +from erpnext.stock.utils import ( + get_bin, + get_incoming_outgoing_rate_for_cancel, + get_valuation_method, +) + # future reposting class NegativeStockError(frappe.ValidationError): pass @@ -478,7 +483,9 @@ class update_entries_after(object): # Sales and Purchase Return elif sle.voucher_type in ("Purchase Receipt", "Purchase Invoice", "Delivery Note", "Sales Invoice"): if frappe.get_cached_value(sle.voucher_type, sle.voucher_no, "is_return"): - from erpnext.controllers.sales_and_purchase_return import get_rate_for_return # don't move this import to top + from erpnext.controllers.sales_and_purchase_return import ( + get_rate_for_return, # don't move this import to top + ) rate = get_rate_for_return(sle.voucher_type, sle.voucher_no, sle.item_code, voucher_detail_no=sle.voucher_detail_no, sle = sle) else: diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py index 9f6d0a8add..aeb06e987f 100644 --- a/erpnext/stock/utils.py +++ b/erpnext/stock/utils.py @@ -2,13 +2,17 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext -from frappe import _ -import json -from frappe.utils import flt, cstr, nowdate, nowtime, get_link_to_form +import json + +import frappe +from frappe import _ +from frappe.utils import cstr, flt, get_link_to_form, nowdate, nowtime from six import string_types +import erpnext + + class InvalidWarehouseCompany(frappe.ValidationError): pass def get_stock_value_from_bin(warehouse=None, item_code=None): diff --git a/erpnext/support/__init__.py b/erpnext/support/__init__.py index cc26c14433..bd1b3f88ad 100644 --- a/erpnext/support/__init__.py +++ b/erpnext/support/__init__.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + install_docs = [ {'doctype':'Role', 'role_name':'Support Team', 'name':'Support Team'}, {'doctype':'Role', 'role_name':'Maintenance User', 'name':'Maintenance User'}, diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py index f28976e3ff..7d7399d097 100644 --- a/erpnext/support/doctype/issue/issue.py +++ b/erpnext/support/doctype/issue/issue.py @@ -2,16 +2,19 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe + import json -from frappe import _ -from frappe.model.document import Document -from frappe.utils import now_datetime, time_diff_in_seconds, get_datetime, date_diff -from frappe.core.utils import get_parent_doc from datetime import timedelta -from frappe.model.mapper import get_mapped_doc -from frappe.utils.user import is_website_user + +import frappe +from frappe import _ +from frappe.core.utils import get_parent_doc from frappe.email.inbox import link_communication_to_document +from frappe.model.document import Document +from frappe.model.mapper import get_mapped_doc +from frappe.utils import date_diff, get_datetime, now_datetime, time_diff_in_seconds +from frappe.utils.user import is_website_user + class Issue(Document): def get_feed(self): diff --git a/erpnext/support/doctype/issue/test_issue.py b/erpnext/support/doctype/issue/test_issue.py index 4146e48862..229a7a1780 100644 --- a/erpnext/support/doctype/issue/test_issue.py +++ b/erpnext/support/doctype/issue/test_issue.py @@ -2,13 +2,17 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest -from erpnext.support.doctype.service_level_agreement.test_service_level_agreement import create_service_level_agreements_for_issues -from frappe.core.doctype.user_permission.test_user_permission import create_user -from frappe.utils import get_datetime, flt import datetime -from datetime import timedelta +import unittest + +import frappe +from frappe.core.doctype.user_permission.test_user_permission import create_user +from frappe.utils import flt, get_datetime + +from erpnext.support.doctype.service_level_agreement.test_service_level_agreement import ( + create_service_level_agreements_for_issues, +) + class TestSetUp(unittest.TestCase): def setUp(self): diff --git a/erpnext/support/doctype/issue_priority/issue_priority.py b/erpnext/support/doctype/issue_priority/issue_priority.py index 514b6cc26b..1a7daf693d 100644 --- a/erpnext/support/doctype/issue_priority/issue_priority.py +++ b/erpnext/support/doctype/issue_priority/issue_priority.py @@ -3,9 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe import _ + from frappe.model.document import Document + class IssuePriority(Document): pass diff --git a/erpnext/support/doctype/issue_priority/test_issue_priority.py b/erpnext/support/doctype/issue_priority/test_issue_priority.py index 618c93ea9d..fc9ae687c9 100644 --- a/erpnext/support/doctype/issue_priority/test_issue_priority.py +++ b/erpnext/support/doctype/issue_priority/test_issue_priority.py @@ -3,9 +3,11 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + + class TestIssuePriority(unittest.TestCase): def test_priorities(self): diff --git a/erpnext/support/doctype/issue_type/issue_type.py b/erpnext/support/doctype/issue_type/issue_type.py index f95d09cbf3..089ae28491 100644 --- a/erpnext/support/doctype/issue_type/issue_type.py +++ b/erpnext/support/doctype/issue_type/issue_type.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class IssueType(Document): pass diff --git a/erpnext/support/doctype/issue_type/test_issue_type.py b/erpnext/support/doctype/issue_type/test_issue_type.py index 4e3b66a8a4..06a2de283b 100644 --- a/erpnext/support/doctype/issue_type/test_issue_type.py +++ b/erpnext/support/doctype/issue_type/test_issue_type.py @@ -3,8 +3,8 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest + class TestIssueType(unittest.TestCase): pass diff --git a/erpnext/support/doctype/pause_sla_on_status/pause_sla_on_status.py b/erpnext/support/doctype/pause_sla_on_status/pause_sla_on_status.py index a3b547e480..37c1f2bff7 100644 --- a/erpnext/support/doctype/pause_sla_on_status/pause_sla_on_status.py +++ b/erpnext/support/doctype/pause_sla_on_status/pause_sla_on_status.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class PauseSLAOnStatus(Document): pass diff --git a/erpnext/support/doctype/service_day/service_day.py b/erpnext/support/doctype/service_day/service_day.py index 3805b5aa39..da96cad417 100644 --- a/erpnext/support/doctype/service_day/service_day.py +++ b/erpnext/support/doctype/service_day/service_day.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ServiceDay(Document): pass diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py index b1d77cefc1..bd478119b6 100644 --- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py +++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py @@ -4,16 +4,31 @@ from __future__ import unicode_literals +from datetime import datetime + import frappe -from frappe.model.document import Document from frappe import _ from frappe.core.utils import get_parent_doc -from frappe.utils import time_diff_in_seconds, getdate, get_weekdays, add_to_date, get_time, get_datetime, \ - get_time_zone, to_timedelta, get_datetime_str, get_link_to_form, cint, nowdate -from datetime import datetime +from frappe.model.document import Document +from frappe.utils import ( + add_to_date, + cint, + get_datetime, + get_datetime_str, + get_link_to_form, + get_time, + get_time_zone, + get_weekdays, + getdate, + nowdate, + time_diff_in_seconds, + to_timedelta, +) from frappe.utils.safe_exec import get_safe_globals + from erpnext.support.doctype.issue.issue import get_holidays + class ServiceLevelAgreement(Document): def validate(self): self.validate_doc() @@ -845,7 +860,7 @@ def now_datetime(user): def convert_utc_to_user_timezone(utc_timestamp, user): - from pytz import timezone, UnknownTimeZoneError + from pytz import UnknownTimeZoneError, timezone user_tz = get_tz(user) utcnow = timezone('UTC').localize(utc_timestamp) diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement_dashboard.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement_dashboard.py index 7e7a405d6e..22e2c374e1 100644 --- a/erpnext/support/doctype/service_level_agreement/service_level_agreement_dashboard.py +++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement_dashboard.py @@ -1,5 +1,6 @@ from frappe import _ + def get_data(): return { 'fieldname': 'service_level_agreement', diff --git a/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py index d9c671e9a2..3a92277658 100644 --- a/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py +++ b/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py @@ -3,12 +3,17 @@ # See license.txt from __future__ import unicode_literals -import frappe -import unittest import datetime +import unittest + +import frappe from frappe.utils import flt + from erpnext.support.doctype.issue_priority.test_issue_priority import make_priorities -from erpnext.support.doctype.service_level_agreement.service_level_agreement import get_service_level_agreement_fields +from erpnext.support.doctype.service_level_agreement.service_level_agreement import ( + get_service_level_agreement_fields, +) + class TestServiceLevelAgreement(unittest.TestCase): def setUp(self): diff --git a/erpnext/support/doctype/service_level_priority/service_level_priority.py b/erpnext/support/doctype/service_level_priority/service_level_priority.py index 0c0fe4a066..3b2d124a69 100644 --- a/erpnext/support/doctype/service_level_priority/service_level_priority.py +++ b/erpnext/support/doctype/service_level_priority/service_level_priority.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class ServiceLevelPriority(Document): pass diff --git a/erpnext/support/doctype/sla_fulfilled_on_status/sla_fulfilled_on_status.py b/erpnext/support/doctype/sla_fulfilled_on_status/sla_fulfilled_on_status.py index b0b5ffc816..dbffcb8060 100644 --- a/erpnext/support/doctype/sla_fulfilled_on_status/sla_fulfilled_on_status.py +++ b/erpnext/support/doctype/sla_fulfilled_on_status/sla_fulfilled_on_status.py @@ -4,5 +4,6 @@ # import frappe from frappe.model.document import Document + class SLAFulfilledOnStatus(Document): pass diff --git a/erpnext/support/doctype/support_search_source/support_search_source.py b/erpnext/support/doctype/support_search_source/support_search_source.py index 93e503a436..50f4714f73 100644 --- a/erpnext/support/doctype/support_search_source/support_search_source.py +++ b/erpnext/support/doctype/support_search_source/support_search_source.py @@ -3,7 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals + from frappe.model.document import Document + class SupportSearchSource(Document): pass diff --git a/erpnext/support/doctype/support_settings/support_settings.py b/erpnext/support/doctype/support_settings/support_settings.py index bb3c53ab6d..73aad9d82f 100644 --- a/erpnext/support/doctype/support_settings/support_settings.py +++ b/erpnext/support/doctype/support_settings/support_settings.py @@ -3,8 +3,9 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + from frappe.model.document import Document + class SupportSettings(Document): pass diff --git a/erpnext/support/doctype/support_settings/test_support_settings.py b/erpnext/support/doctype/support_settings/test_support_settings.py index 9c47f96811..e9ec070b3a 100644 --- a/erpnext/support/doctype/support_settings/test_support_settings.py +++ b/erpnext/support/doctype/support_settings/test_support_settings.py @@ -5,5 +5,6 @@ from __future__ import unicode_literals import unittest + class TestSupportSettings(unittest.TestCase): pass diff --git a/erpnext/support/doctype/warranty_claim/test_warranty_claim.py b/erpnext/support/doctype/warranty_claim/test_warranty_claim.py index 909675a0d5..dac8f034c3 100644 --- a/erpnext/support/doctype/warranty_claim/test_warranty_claim.py +++ b/erpnext/support/doctype/warranty_claim/test_warranty_claim.py @@ -2,9 +2,10 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest +import frappe + test_records = frappe.get_test_records('Warranty Claim') class TestWarrantyClaim(unittest.TestCase): diff --git a/erpnext/support/doctype/warranty_claim/warranty_claim.py b/erpnext/support/doctype/warranty_claim/warranty_claim.py index a20e7a801b..5fb11242a9 100644 --- a/erpnext/support/doctype/warranty_claim/warranty_claim.py +++ b/erpnext/support/doctype/warranty_claim/warranty_claim.py @@ -3,14 +3,14 @@ from __future__ import unicode_literals + import frappe -from frappe import session, _ -from frappe.utils import today, now_datetime - - +from frappe import _, session +from frappe.utils import now_datetime from erpnext.utilities.transaction_base import TransactionBase + class WarrantyClaim(TransactionBase): def get_feed(self): return _("{0}: From {1}").format(self.status, self.customer_name) diff --git a/erpnext/support/report/first_response_time_for_issues/first_response_time_for_issues.py b/erpnext/support/report/first_response_time_for_issues/first_response_time_for_issues.py index 69bf2730d3..cb7a8a629e 100644 --- a/erpnext/support/report/first_response_time_for_issues/first_response_time_for_issues.py +++ b/erpnext/support/report/first_response_time_for_issues/first_response_time_for_issues.py @@ -2,8 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe + def execute(filters=None): columns = [ { diff --git a/erpnext/support/report/issue_analytics/issue_analytics.py b/erpnext/support/report/issue_analytics/issue_analytics.py index 54fce0b359..ac8bce104f 100644 --- a/erpnext/support/report/issue_analytics/issue_analytics.py +++ b/erpnext/support/report/issue_analytics/issue_analytics.py @@ -2,13 +2,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json -from six import iteritems + +import frappe from frappe import _, scrub -from frappe.utils import getdate, flt, add_to_date, add_days +from frappe.utils import add_days, add_to_date, flt, getdate +from six import iteritems + from erpnext.accounts.utils import get_fiscal_year + def execute(filters=None): return IssueAnalytics(filters).run() @@ -103,7 +107,7 @@ class IssueAnalytics(object): return period def get_period_date_ranges(self): - from dateutil.relativedelta import relativedelta, MO + from dateutil.relativedelta import MO, relativedelta from_date, to_date = getdate(self.filters.from_date), getdate(self.filters.to_date) increment = { diff --git a/erpnext/support/report/issue_analytics/test_issue_analytics.py b/erpnext/support/report/issue_analytics/test_issue_analytics.py index a9d961a459..1de03ab28d 100644 --- a/erpnext/support/report/issue_analytics/test_issue_analytics.py +++ b/erpnext/support/report/issue_analytics/test_issue_analytics.py @@ -1,11 +1,16 @@ from __future__ import unicode_literals + import unittest + import frappe -from frappe.utils import getdate, add_months -from erpnext.support.report.issue_analytics.issue_analytics import execute -from erpnext.support.doctype.issue.test_issue import make_issue, create_customer -from erpnext.support.doctype.service_level_agreement.test_service_level_agreement import create_service_level_agreements_for_issues from frappe.desk.form.assign_to import add as add_assignment +from frappe.utils import add_months, getdate + +from erpnext.support.doctype.issue.test_issue import create_customer, make_issue +from erpnext.support.doctype.service_level_agreement.test_service_level_agreement import ( + create_service_level_agreements_for_issues, +) +from erpnext.support.report.issue_analytics.issue_analytics import execute months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] diff --git a/erpnext/support/report/issue_summary/issue_summary.py b/erpnext/support/report/issue_summary/issue_summary.py index 7c4af39f10..0481996609 100644 --- a/erpnext/support/report/issue_summary/issue_summary.py +++ b/erpnext/support/report/issue_summary/issue_summary.py @@ -2,11 +2,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import json -from six import iteritems + +import frappe from frappe import _, scrub from frappe.utils import flt +from six import iteritems + def execute(filters=None): return IssueSummary(filters).run() diff --git a/erpnext/support/report/support_hour_distribution/support_hour_distribution.py b/erpnext/support/report/support_hour_distribution/support_hour_distribution.py index 08802b4f5e..c0bec3c955 100644 --- a/erpnext/support/report/support_hour_distribution/support_hour_distribution.py +++ b/erpnext/support/report/support_hour_distribution/support_hour_distribution.py @@ -2,9 +2,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.utils import add_to_date, getdate, get_datetime +from frappe.utils import add_to_date, get_datetime, getdate from six import iteritems time_slots = { diff --git a/erpnext/support/web_form/issues/issues.py b/erpnext/support/web_form/issues/issues.py index 2334f8b26d..f57de916dd 100644 --- a/erpnext/support/web_form/issues/issues.py +++ b/erpnext/support/web_form/issues/issues.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/telephony/doctype/call_log/call_log.py b/erpnext/telephony/doctype/call_log/call_log.py index 6f8e411695..0c1ea1657a 100644 --- a/erpnext/telephony/doctype/call_log/call_log.py +++ b/erpnext/telephony/doctype/call_log/call_log.py @@ -3,14 +3,15 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from frappe.model.document import Document -from erpnext.crm.doctype.utils import get_scheduled_employees_for_popup, strip_number from frappe.contacts.doctype.contact.contact import get_contact_with_phone_number from frappe.core.doctype.dynamic_link.dynamic_link import deduplicate_dynamic_links +from frappe.model.document import Document from erpnext.crm.doctype.lead.lead import get_lead_with_phone_number +from erpnext.crm.doctype.utils import get_scheduled_employees_for_popup, strip_number END_CALL_STATUSES = ['No Answer', 'Completed', 'Busy', 'Failed'] ONGOING_CALL_STATUSES = ['Ringing', 'In Progress'] diff --git a/erpnext/telephony/doctype/call_log/test_call_log.py b/erpnext/telephony/doctype/call_log/test_call_log.py index faa63041ba..f8d458d541 100644 --- a/erpnext/telephony/doctype/call_log/test_call_log.py +++ b/erpnext/telephony/doctype/call_log/test_call_log.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestCallLog(unittest.TestCase): pass diff --git a/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py b/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py index fcf29745e2..f48c808331 100644 --- a/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py +++ b/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class IncomingCallHandlingSchedule(Document): pass diff --git a/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py index 2b2008a8ab..faeff9024d 100644 --- a/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py +++ b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py @@ -3,11 +3,14 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe -from frappe.model.document import Document + from datetime import datetime from typing import Tuple + +import frappe from frappe import _ +from frappe.model.document import Document + class IncomingCallSettings(Document): def validate(self): diff --git a/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py b/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py index c058c117b3..243e3d9aea 100644 --- a/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py +++ b/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestIncomingCallSettings(unittest.TestCase): pass diff --git a/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py b/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py index 85d6adda09..810b717ae6 100644 --- a/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py +++ b/erpnext/telephony/doctype/voice_call_settings/test_voice_call_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestVoiceCallSettings(unittest.TestCase): pass diff --git a/erpnext/telephony/doctype/voice_call_settings/voice_call_settings.py b/erpnext/telephony/doctype/voice_call_settings/voice_call_settings.py index ad3bbf1784..fc0e338c15 100644 --- a/erpnext/telephony/doctype/voice_call_settings/voice_call_settings.py +++ b/erpnext/telephony/doctype/voice_call_settings/voice_call_settings.py @@ -3,8 +3,10 @@ # For license information, please see license.txt from __future__ import unicode_literals + # import frappe from frappe.model.document import Document + class VoiceCallSettings(Document): pass diff --git a/erpnext/templates/pages/cart.py b/erpnext/templates/pages/cart.py index 30b0357578..7c441f7623 100644 --- a/erpnext/templates/pages/cart.py +++ b/erpnext/templates/pages/cart.py @@ -4,8 +4,9 @@ from __future__ import unicode_literals no_cache = 1 -import frappe + from erpnext.shopping_cart.cart import get_cart_quotation + def get_context(context): context.update(get_cart_quotation()) diff --git a/erpnext/templates/pages/courses.py b/erpnext/templates/pages/courses.py index 92c38f6fca..7eb01351ea 100644 --- a/erpnext/templates/pages/courses.py +++ b/erpnext/templates/pages/courses.py @@ -2,8 +2,8 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe def get_context(context): diff --git a/erpnext/templates/pages/help.py b/erpnext/templates/pages/help.py index 4ce2b31d30..366b2835e2 100644 --- a/erpnext/templates/pages/help.py +++ b/erpnext/templates/pages/help.py @@ -1,8 +1,11 @@ from __future__ import unicode_literals -import frappe, json +import json + +import frappe import requests + def get_context(context): context.no_cache = 1 settings = frappe.get_doc("Support Settings", "Support Settings") diff --git a/erpnext/templates/pages/home.py b/erpnext/templates/pages/home.py index 1c14450b47..97a66fc4bb 100644 --- a/erpnext/templates/pages/home.py +++ b/erpnext/templates/pages/home.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe no_cache = 1 diff --git a/erpnext/templates/pages/integrations/gocardless_checkout.py b/erpnext/templates/pages/integrations/gocardless_checkout.py index bdef79cfbe..2661a966c7 100644 --- a/erpnext/templates/pages/integrations/gocardless_checkout.py +++ b/erpnext/templates/pages/integrations/gocardless_checkout.py @@ -1,12 +1,17 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + +import json + import frappe from frappe import _ -from frappe.utils import flt -import json -from erpnext.erpnext_integrations.doctype.gocardless_settings.gocardless_settings import gocardless_initialization, get_gateway_controller -from frappe.utils import get_url +from frappe.utils import flt, get_url + +from erpnext.erpnext_integrations.doctype.gocardless_settings.gocardless_settings import ( + get_gateway_controller, + gocardless_initialization, +) no_cache = 1 diff --git a/erpnext/templates/pages/integrations/gocardless_confirmation.py b/erpnext/templates/pages/integrations/gocardless_confirmation.py index 0b72e9f8b6..35c8b90bc9 100644 --- a/erpnext/templates/pages/integrations/gocardless_confirmation.py +++ b/erpnext/templates/pages/integrations/gocardless_confirmation.py @@ -1,9 +1,14 @@ # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ -from erpnext.erpnext_integrations.doctype.gocardless_settings.gocardless_settings import gocardless_initialization, get_gateway_controller + +from erpnext.erpnext_integrations.doctype.gocardless_settings.gocardless_settings import ( + get_gateway_controller, + gocardless_initialization, +) no_cache = 1 diff --git a/erpnext/templates/pages/material_request_info.py b/erpnext/templates/pages/material_request_info.py index e29860ddd6..c18e201487 100644 --- a/erpnext/templates/pages/material_request_info.py +++ b/erpnext/templates/pages/material_request_info.py @@ -2,11 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ - from frappe.utils import flt + def get_context(context): context.no_cache = 1 context.show_sidebar = True diff --git a/erpnext/templates/pages/non_profit/join_chapter.py b/erpnext/templates/pages/non_profit/join_chapter.py index aa54a58eeb..a1d1893c64 100644 --- a/erpnext/templates/pages/non_profit/join_chapter.py +++ b/erpnext/templates/pages/non_profit/join_chapter.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def get_context(context): context.no_cache = True chapter = frappe.get_doc('Chapter', frappe.form_dict.name) diff --git a/erpnext/templates/pages/non_profit/leave_chapter.py b/erpnext/templates/pages/non_profit/leave_chapter.py index 21cb722b88..ebdb6645d4 100644 --- a/erpnext/templates/pages/non_profit/leave_chapter.py +++ b/erpnext/templates/pages/non_profit/leave_chapter.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def get_context(context): context.no_cache = True chapter = frappe.get_doc('Chapter', frappe.form_dict.name) diff --git a/erpnext/templates/pages/order.py b/erpnext/templates/pages/order.py index 816a25963f..d4e81ab096 100644 --- a/erpnext/templates/pages/order.py +++ b/erpnext/templates/pages/order.py @@ -2,10 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe import _ -from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import show_attachments + +from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings import ( + show_attachments, +) + def get_context(context): context.no_cache = 1 @@ -36,7 +40,9 @@ def get_context(context): # check for the loyalty program of the customer customer_loyalty_program = frappe.db.get_value("Customer", context.doc.customer, "loyalty_program") if customer_loyalty_program: - from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_program_details_with_points + from erpnext.accounts.doctype.loyalty_program.loyalty_program import ( + get_loyalty_program_details_with_points, + ) loyalty_program_details = get_loyalty_program_details_with_points(context.doc.customer, customer_loyalty_program) context.available_loyalty_points = int(loyalty_program_details.get("loyalty_points")) diff --git a/erpnext/templates/pages/partners.py b/erpnext/templates/pages/partners.py index a7e60e2616..b1c668a2f6 100644 --- a/erpnext/templates/pages/partners.py +++ b/erpnext/templates/pages/partners.py @@ -2,6 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe page_title = "Partners" diff --git a/erpnext/templates/pages/product_search.py b/erpnext/templates/pages/product_search.py index 9ab76deff7..1b9df2b7e7 100644 --- a/erpnext/templates/pages/product_search.py +++ b/erpnext/templates/pages/product_search.py @@ -2,8 +2,10 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -from frappe.utils import cstr, nowdate, cint +from frappe.utils import cint, cstr, nowdate + from erpnext.setup.doctype.item_group.item_group import get_item_for_list_in_html from erpnext.shopping_cart.product_info import set_product_info_for_website diff --git a/erpnext/templates/pages/projects.py b/erpnext/templates/pages/projects.py index 7ff495402a..cabf37badc 100644 --- a/erpnext/templates/pages/projects.py +++ b/erpnext/templates/pages/projects.py @@ -2,8 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe -import json + def get_context(context): project_user = frappe.db.get_value("Project User", {"parent": frappe.form_dict.project, "user": frappe.session.user} , ["user", "view_attachments"], as_dict= True) diff --git a/erpnext/templates/pages/regional/india/update_gstin.py b/erpnext/templates/pages/regional/india/update_gstin.py index f555db0d72..a8d03d5863 100644 --- a/erpnext/templates/pages/regional/india/update_gstin.py +++ b/erpnext/templates/pages/regional/india/update_gstin.py @@ -1,8 +1,9 @@ from __future__ import unicode_literals + import frappe -from frappe import _ from six import iteritems + def get_context(context): context.no_cache = 1 party = frappe.form_dict.party diff --git a/erpnext/templates/pages/rfq.py b/erpnext/templates/pages/rfq.py index 67679a1a7d..b9f646b8a5 100644 --- a/erpnext/templates/pages/rfq.py +++ b/erpnext/templates/pages/rfq.py @@ -2,11 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import formatdate + from erpnext.controllers.website_list_for_contact import get_customers_suppliers + def get_context(context): context.no_cache = 1 context.show_sidebar = True diff --git a/erpnext/templates/pages/search_help.py b/erpnext/templates/pages/search_help.py index 887d8f4724..4272b94ffb 100644 --- a/erpnext/templates/pages/search_help.py +++ b/erpnext/templates/pages/search_help.py @@ -1,11 +1,14 @@ from __future__ import unicode_literals -import frappe, requests + +import frappe +import requests from frappe import _ -from jinja2 import utils -from html2text import html2text -from six import text_type from frappe.utils import sanitize_html from frappe.utils.global_search import search +from html2text import html2text +from jinja2 import utils +from six import text_type + def get_context(context): context.no_cache = 1 diff --git a/erpnext/templates/pages/task_info.py b/erpnext/templates/pages/task_info.py index 260e2788cd..f219c3deb7 100644 --- a/erpnext/templates/pages/task_info.py +++ b/erpnext/templates/pages/task_info.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals + import frappe -from frappe import _ def get_context(context): context.no_cache = 1 diff --git a/erpnext/templates/pages/timelog_info.py b/erpnext/templates/pages/timelog_info.py index ee86483fa2..e0fb60da23 100644 --- a/erpnext/templates/pages/timelog_info.py +++ b/erpnext/templates/pages/timelog_info.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals + import frappe -from frappe import _ def get_context(context): context.no_cache = 1 diff --git a/erpnext/tests/test_init.py b/erpnext/tests/test_init.py index abc04a8808..dfba0340ce 100644 --- a/erpnext/tests/test_init.py +++ b/erpnext/tests/test_init.py @@ -1,10 +1,12 @@ from __future__ import unicode_literals + import unittest import frappe -from erpnext import encode_company_abbr from six.moves import range +from erpnext import encode_company_abbr + test_records = frappe.get_test_records('Company') class TestInit(unittest.TestCase): diff --git a/erpnext/tests/test_notifications.py b/erpnext/tests/test_notifications.py index 1fd90beef0..5fd9582dea 100644 --- a/erpnext/tests/test_notifications.py +++ b/erpnext/tests/test_notifications.py @@ -2,11 +2,12 @@ # MIT License. See license.txt from __future__ import unicode_literals -import frappe + import unittest +import frappe from frappe.desk import notifications -from frappe.test_runner import make_test_objects + class TestNotifications(unittest.TestCase): def test_get_notifications_for_targets(self): diff --git a/erpnext/tests/test_regional.py b/erpnext/tests/test_regional.py index 5b3f45a1af..fe848a3555 100644 --- a/erpnext/tests/test_regional.py +++ b/erpnext/tests/test_regional.py @@ -1,5 +1,11 @@ from __future__ import unicode_literals -import unittest, frappe, erpnext + +import unittest + +import frappe + +import erpnext + @erpnext.allow_regional def test_method(): diff --git a/erpnext/tests/test_search.py b/erpnext/tests/test_search.py index f60e5e4d98..a6619b278e 100644 --- a/erpnext/tests/test_search.py +++ b/erpnext/tests/test_search.py @@ -1,8 +1,11 @@ from __future__ import unicode_literals + import unittest + import frappe from frappe.contacts.address_and_contact import filter_dynamic_link_doctypes + class TestSearch(unittest.TestCase): # Search for the word "cond", part of the word "conduire" (Lead) in french. def test_contact_search_in_foreign_language(self): diff --git a/erpnext/tests/test_subcontracting.py b/erpnext/tests/test_subcontracting.py index f55137bc9c..e45f098f65 100644 --- a/erpnext/tests/test_subcontracting.py +++ b/erpnext/tests/test_subcontracting.py @@ -1,16 +1,24 @@ from __future__ import unicode_literals -import frappe -import unittest + import copy -from frappe.utils import cint +import unittest from collections import defaultdict -from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry -from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos -from erpnext.stock.doctype.item.test_item import make_item -from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + +import frappe +from frappe.utils import cint + +from erpnext.buying.doctype.purchase_order.purchase_order import ( + get_materials_from_supplier, + make_purchase_invoice, + make_purchase_receipt, + make_rm_stock_entry, +) from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order -from erpnext.buying.doctype.purchase_order.purchase_order import (make_rm_stock_entry, - make_purchase_receipt, make_purchase_invoice, get_materials_from_supplier) +from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom +from erpnext.stock.doctype.item.test_item import make_item +from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos +from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + class TestSubcontracting(unittest.TestCase): def setUp(self): diff --git a/erpnext/tests/test_woocommerce.py b/erpnext/tests/test_woocommerce.py index df715ab202..881f286bae 100644 --- a/erpnext/tests/test_woocommerce.py +++ b/erpnext/tests/test_woocommerce.py @@ -1,7 +1,15 @@ from __future__ import unicode_literals -import unittest, frappe, requests, os, time, erpnext + +import os +import time +import unittest + +import frappe +import requests + from erpnext.erpnext_integrations.connectors.woocommerce_connection import order + class TestWoocommerce(unittest.TestCase): def setUp(self): if not frappe.db.exists('Company', 'Woocommerce'): diff --git a/erpnext/tests/ui_test_helpers.py b/erpnext/tests/ui_test_helpers.py index 902fd64d68..76c7608c91 100644 --- a/erpnext/tests/ui_test_helpers.py +++ b/erpnext/tests/ui_test_helpers.py @@ -1,6 +1,7 @@ import frappe from frappe.utils import getdate + @frappe.whitelist() def create_employee_records(): create_company() diff --git a/erpnext/tests/utils.py b/erpnext/tests/utils.py index 11eb6afc1f..2156bd51a4 100644 --- a/erpnext/tests/utils.py +++ b/erpnext/tests/utils.py @@ -6,6 +6,7 @@ from contextlib import contextmanager import frappe + def create_test_contact_and_address(): frappe.db.sql('delete from tabContact') frappe.db.sql('delete from `tabContact Email`') diff --git a/erpnext/utilities/__init__.py b/erpnext/utilities/__init__.py index 0a5aa3c49b..ca8bc194d4 100644 --- a/erpnext/utilities/__init__.py +++ b/erpnext/utilities/__init__.py @@ -1,9 +1,12 @@ ## temp utility from __future__ import print_function, unicode_literals + import frappe -from erpnext.utilities.activation import get_level from frappe.utils import cstr +from erpnext.utilities.activation import get_level + + def update_doctypes(): for d in frappe.db.sql("""select df.parent, df.fieldname from tabDocField df, tabDocType dt where df.fieldname diff --git a/erpnext/utilities/activation.py b/erpnext/utilities/activation.py index 0f9f2f886d..c21bff0b25 100644 --- a/erpnext/utilities/activation.py +++ b/erpnext/utilities/activation.py @@ -2,11 +2,14 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe, erpnext +import frappe from frappe import _ from six import iteritems +import erpnext + + def get_level(): activation_level = 0 sales_data = [] diff --git a/erpnext/utilities/bot.py b/erpnext/utilities/bot.py index 485b0b3383..9e830a20bf 100644 --- a/erpnext/utilities/bot.py +++ b/erpnext/utilities/bot.py @@ -3,10 +3,10 @@ from __future__ import unicode_literals -from frappe.utils.bot import BotParser - import frappe from frappe import _ +from frappe.utils.bot import BotParser + class FindItemBot(BotParser): def get_reply(self): diff --git a/erpnext/utilities/doctype/rename_tool/rename_tool.py b/erpnext/utilities/doctype/rename_tool/rename_tool.py index 5e3ac1a4c9..8377cecbac 100644 --- a/erpnext/utilities/doctype/rename_tool/rename_tool.py +++ b/erpnext/utilities/doctype/rename_tool/rename_tool.py @@ -4,11 +4,12 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe +import frappe from frappe.model.document import Document from frappe.model.rename_doc import bulk_rename + class RenameTool(Document): pass diff --git a/erpnext/utilities/doctype/sms_log/sms_log.py b/erpnext/utilities/doctype/sms_log/sms_log.py index e634f8059a..ce3cc46665 100644 --- a/erpnext/utilities/doctype/sms_log/sms_log.py +++ b/erpnext/utilities/doctype/sms_log/sms_log.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import frappe from frappe.model.document import Document + class SMSLog(Document): pass diff --git a/erpnext/utilities/doctype/sms_log/test_sms_log.py b/erpnext/utilities/doctype/sms_log/test_sms_log.py index 65f52b4001..3baeb25579 100644 --- a/erpnext/utilities/doctype/sms_log/test_sms_log.py +++ b/erpnext/utilities/doctype/sms_log/test_sms_log.py @@ -3,7 +3,6 @@ # See license.txt from __future__ import unicode_literals -import frappe import unittest # test_records = frappe.get_test_records('SMS Log') diff --git a/erpnext/utilities/doctype/video/test_video.py b/erpnext/utilities/doctype/video/test_video.py index 33ea31c919..530136c6f3 100644 --- a/erpnext/utilities/doctype/video/test_video.py +++ b/erpnext/utilities/doctype/video/test_video.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestVideo(unittest.TestCase): pass diff --git a/erpnext/utilities/doctype/video/video.py b/erpnext/utilities/doctype/video/video.py index c2e414eef8..d9907cf02e 100644 --- a/erpnext/utilities/doctype/video/video.py +++ b/erpnext/utilities/doctype/video/video.py @@ -3,14 +3,17 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe + import re -import pytz -from frappe.model.document import Document -from frappe import _ from datetime import datetime -from six import string_types + +import frappe +import pytz +from frappe import _ +from frappe.model.document import Document from pyyoutube import Api +from six import string_types + class Video(Document): def validate(self): diff --git a/erpnext/utilities/doctype/video_settings/test_video_settings.py b/erpnext/utilities/doctype/video_settings/test_video_settings.py index b217afe3d8..e871435a93 100644 --- a/erpnext/utilities/doctype/video_settings/test_video_settings.py +++ b/erpnext/utilities/doctype/video_settings/test_video_settings.py @@ -6,5 +6,6 @@ from __future__ import unicode_literals # import frappe import unittest + class TestVideoSettings(unittest.TestCase): pass diff --git a/erpnext/utilities/doctype/video_settings/video_settings.py b/erpnext/utilities/doctype/video_settings/video_settings.py index db021b473a..72091343b4 100644 --- a/erpnext/utilities/doctype/video_settings/video_settings.py +++ b/erpnext/utilities/doctype/video_settings/video_settings.py @@ -3,10 +3,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe +from apiclient.discovery import build from frappe import _ from frappe.model.document import Document -from apiclient.discovery import build + class VideoSettings(Document): def validate(self): diff --git a/erpnext/utilities/hierarchy_chart.py b/erpnext/utilities/hierarchy_chart.py index cc506e5cfd..0e7f81fb8e 100644 --- a/erpnext/utilities/hierarchy_chart.py +++ b/erpnext/utilities/hierarchy_chart.py @@ -2,9 +2,11 @@ # MIT License. See license.txt from __future__ import unicode_literals + import frappe from frappe import _ + @frappe.whitelist() def get_all_nodes(method, company): '''Recursively gets all data from nodes''' diff --git a/erpnext/utilities/product.py b/erpnext/utilities/product.py index f6c53cacd9..e567f771e9 100644 --- a/erpnext/utilities/product.py +++ b/erpnext/utilities/product.py @@ -4,10 +4,12 @@ from __future__ import unicode_literals import frappe -from frappe.utils import cint, fmt_money, flt, nowdate, getdate +from frappe.utils import cint, flt, fmt_money, getdate, nowdate + from erpnext.accounts.doctype.pricing_rule.pricing_rule import get_pricing_rule_for_item from erpnext.stock.doctype.batch.batch import get_batch_qty + def get_qty_in_stock(item_code, item_warehouse_field, warehouse=None): in_stock, stock_qty = 0, '' template_item_code, is_stock_item = frappe.db.get_value("Item", item_code, ["variant_of", "is_stock_item"]) diff --git a/erpnext/utilities/report/youtube_interactions/youtube_interactions.py b/erpnext/utilities/report/youtube_interactions/youtube_interactions.py index 29a489ddcc..50f3b68564 100644 --- a/erpnext/utilities/report/youtube_interactions/youtube_interactions.py +++ b/erpnext/utilities/report/youtube_interactions/youtube_interactions.py @@ -2,10 +2,12 @@ # For license information, please see license.txt from __future__ import unicode_literals + import frappe from frappe import _ from frappe.utils import flt + def execute(filters=None): if not frappe.db.get_single_value("Video Settings", "enable_youtube_tracking") or not filters: return [], [] diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py index db997263c1..5153683436 100644 --- a/erpnext/utilities/transaction_base.py +++ b/erpnext/utilities/transaction_base.py @@ -2,13 +2,15 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals + import frappe import frappe.share from frappe import _ -from frappe.utils import cstr, now_datetime, cint, flt, get_time, get_datetime, get_link_to_form, date_diff, nowdate +from frappe.utils import cint, cstr, flt, get_time, now_datetime +from six import string_types + from erpnext.controllers.status_updater import StatusUpdater -from six import string_types class UOMMustBeIntegerError(frappe.ValidationError): pass diff --git a/erpnext/utilities/web_form/addresses/addresses.py b/erpnext/utilities/web_form/addresses/addresses.py index 3fd10175fb..4a8d3e1594 100644 --- a/erpnext/utilities/web_form/addresses/addresses.py +++ b/erpnext/utilities/web_form/addresses/addresses.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals -import frappe def get_context(context): # do your magic here diff --git a/erpnext/www/all-products/index.py b/erpnext/www/all-products/index.py index fd6400f48c..335c10443a 100644 --- a/erpnext/www/all-products/index.py +++ b/erpnext/www/all-products/index.py @@ -1,8 +1,8 @@ import frappe -from erpnext.portal.product_configurator.utils import (get_products_for_website, get_product_settings, - get_field_filter_data, get_attribute_filter_data) -from erpnext.shopping_cart.product_query import ProductQuery + +from erpnext.portal.product_configurator.utils import get_product_settings from erpnext.shopping_cart.filters import ProductFiltersBuilder +from erpnext.shopping_cart.product_query import ProductQuery sitemap = 1 diff --git a/erpnext/www/book_appointment/index.py b/erpnext/www/book_appointment/index.py index 4f455614ba..8cda3c1b90 100644 --- a/erpnext/www/book_appointment/index.py +++ b/erpnext/www/book_appointment/index.py @@ -1,6 +1,7 @@ -import frappe import datetime import json + +import frappe import pytz from frappe import _ diff --git a/erpnext/www/book_appointment/verify/index.py b/erpnext/www/book_appointment/verify/index.py index bd766c0ea8..dc36f4fc97 100644 --- a/erpnext/www/book_appointment/verify/index.py +++ b/erpnext/www/book_appointment/verify/index.py @@ -1,6 +1,7 @@ import frappe - from frappe.utils.verified_command import verify_request + + @frappe.whitelist(allow_guest=True) def get_context(context): if not verify_request(): diff --git a/erpnext/www/lms/content.py b/erpnext/www/lms/content.py index 05cbb16d3c..97f59180d9 100644 --- a/erpnext/www/lms/content.py +++ b/erpnext/www/lms/content.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals -import erpnext.education.utils as utils + import frappe +import erpnext.education.utils as utils + no_cache = 1 def get_context(context): diff --git a/erpnext/www/lms/course.py b/erpnext/www/lms/course.py index c18d64e507..1ec097b907 100644 --- a/erpnext/www/lms/course.py +++ b/erpnext/www/lms/course.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals -import erpnext.education.utils as utils + import frappe +import erpnext.education.utils as utils + no_cache = 1 def get_context(context): diff --git a/erpnext/www/lms/index.py b/erpnext/www/lms/index.py index c14b94326b..c35fff2e2b 100644 --- a/erpnext/www/lms/index.py +++ b/erpnext/www/lms/index.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals -import erpnext.education.utils as utils + import frappe +import erpnext.education.utils as utils + no_cache = 1 def get_context(context): diff --git a/erpnext/www/lms/profile.py b/erpnext/www/lms/profile.py index 7e338e38f1..d5dcd2bf39 100644 --- a/erpnext/www/lms/profile.py +++ b/erpnext/www/lms/profile.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals -import erpnext.education.utils as utils + import frappe +import erpnext.education.utils as utils + no_cache = 1 def get_context(context): diff --git a/erpnext/www/lms/program.py b/erpnext/www/lms/program.py index a4f588ccf1..9980d883a9 100644 --- a/erpnext/www/lms/program.py +++ b/erpnext/www/lms/program.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals -import erpnext.education.utils as utils + import frappe from frappe import _ +import erpnext.education.utils as utils + no_cache = 1 def get_context(context): diff --git a/erpnext/www/lms/topic.py b/erpnext/www/lms/topic.py index 993828090c..ebedaf5eda 100644 --- a/erpnext/www/lms/topic.py +++ b/erpnext/www/lms/topic.py @@ -1,7 +1,9 @@ from __future__ import unicode_literals -import erpnext.education.utils as utils + import frappe +import erpnext.education.utils as utils + no_cache = 1 def get_context(context): diff --git a/erpnext/www/payment_setup_certification.py b/erpnext/www/payment_setup_certification.py index 6b02e4e0f1..e509083884 100644 --- a/erpnext/www/payment_setup_certification.py +++ b/erpnext/www/payment_setup_certification.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + import frappe no_cache = 1 diff --git a/erpnext/www/support/index.py b/erpnext/www/support/index.py index 70090c7805..4857b0d829 100644 --- a/erpnext/www/support/index.py +++ b/erpnext/www/support/index.py @@ -1,6 +1,8 @@ from __future__ import unicode_literals + import frappe + def get_context(context): context.no_cache = 1 context.align_greeting = '' diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000..8043dd9906 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,11 @@ +[tool.black] +line-length = 99 + +[tool.isort] +line_length = 99 +multi_line_output = 3 +include_trailing_comma = true +force_grid_wrap = 0 +use_parentheses = true +ensure_newline_before_comments = true +indent = "\t" From 8b1a61be294f2a14adf27056a56a428d0eb33b5f Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 2 Sep 2021 16:46:25 +0530 Subject: [PATCH 08/20] chore: ignore import cleanup commit in blame --- .git-blame-ignore-revs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index e762580ed7..6eaf9ccec6 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -17,3 +17,6 @@ # Whitespace fix throughout codebase 4551d7d6029b6f587f6c99d4f8df5519241c6a86 b147b85e6ac19a9220cd1e2958a6ebd99373283a + +# sort and cleanup imports +915b34391c2066dfc83e60a5813c5a877cebe7ac From 60185c8c711fd02822eb2afa922eb588fd4f60fd Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 2 Sep 2021 17:36:05 +0530 Subject: [PATCH 09/20] chore: linting [skip ci] --- erpnext/patches/v14_0/delete_shopify_doctypes.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/patches/v14_0/delete_shopify_doctypes.py b/erpnext/patches/v14_0/delete_shopify_doctypes.py index f45082a1a5..96bee3979d 100644 --- a/erpnext/patches/v14_0/delete_shopify_doctypes.py +++ b/erpnext/patches/v14_0/delete_shopify_doctypes.py @@ -1,5 +1,6 @@ import frappe + def execute(): frappe.delete_doc("DocType", "Shopify Settings", ignore_missing=True) frappe.delete_doc("DocType", "Shopify Log", ignore_missing=True) From eec40513be4804ef226b5fd68f884dfebd56dff9 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 2 Sep 2021 17:42:45 +0530 Subject: [PATCH 10/20] fix: minor linting issues (#27314) * fix: syntax error in gratuity * fix: unpacking None into three variables * fix: unexpected kwarg for delete_accounting_dimensions --- .../doctype/accounting_dimension/accounting_dimension.py | 4 ++-- erpnext/accounts/doctype/payment_entry/payment_entry.py | 6 +++--- erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py index f3d1b3dc93..af8255f944 100644 --- a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py +++ b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py @@ -48,9 +48,9 @@ class AccountingDimension(Document): def on_trash(self): if frappe.flags.in_test: - delete_accounting_dimension(doc=self, queue='long') + delete_accounting_dimension(doc=self) else: - frappe.enqueue(delete_accounting_dimension, doc=self) + frappe.enqueue(delete_accounting_dimension, doc=self, queue='long') def set_fieldname_and_label(self): if not self.label: diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index bbbb7768db..a5303215d5 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -1405,7 +1405,7 @@ def get_reference_details(reference_doctype, reference_name, party_account_curre }) def get_amounts_based_on_reference_doctype(reference_doctype, ref_doc, party_account_currency, company_currency, reference_name): - total_amount, outstanding_amount, exchange_rate = None + total_amount = outstanding_amount = exchange_rate = None if reference_doctype == "Fees": total_amount = ref_doc.get("grand_total") exchange_rate = 1 @@ -1425,7 +1425,7 @@ def get_amounts_based_on_reference_doctype(reference_doctype, ref_doc, party_acc return total_amount, outstanding_amount, exchange_rate def get_amounts_based_on_ref_doc(reference_doctype, ref_doc, party_account_currency, company_currency): - total_amount, outstanding_amount, exchange_rate = None + total_amount = outstanding_amount = exchange_rate = None if ref_doc.doctype == "Expense Claim": total_amount = flt(ref_doc.total_sanctioned_amount) + flt(ref_doc.total_taxes_and_charges) elif ref_doc.doctype == "Employee Advance": @@ -1465,7 +1465,7 @@ def get_total_amount_exchange_rate_base_on_currency(party_account_currency, comp return total_amount, exchange_rate def get_bill_no_and_update_amounts(reference_doctype, ref_doc, total_amount, exchange_rate, party_account_currency, company_currency): - outstanding_amount, bill_no = None + outstanding_amount = bill_no = None if reference_doctype in ("Sales Invoice", "Purchase Invoice"): outstanding_amount = ref_doc.get("outstanding_amount") bill_no = ref_doc.get("bill_no") diff --git a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py index 28159bb06b..95d2929fff 100644 --- a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py +++ b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py @@ -14,7 +14,7 @@ class GratuityRule(Document): def validate(self): for current_slab in self.gratuity_rule_slabs: if (current_slab.from_year > current_slab.to_year) and current_slab.to_year != 0: - frappe(_("Row {0}: From (Year) can not be greater than To (Year)").format(current_slab.idx)) + frappe.throw(_("Row {0}: From (Year) can not be greater than To (Year)").format(current_slab.idx)) if current_slab.to_year == 0 and current_slab.from_year == 0 and len(self.gratuity_rule_slabs) > 1: frappe.throw(_("You can not define multiple slabs if you have a slab with no lower and upper limits.")) From e8a5dc371bb46607477f94597de168ec83e0868a Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Thu, 2 Sep 2021 18:56:04 +0530 Subject: [PATCH 11/20] fix: Add payment entry custom fields --- erpnext/regional/india/setup.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/erpnext/regional/india/setup.py b/erpnext/regional/india/setup.py index 638a8ed996..27d5f7341e 100644 --- a/erpnext/regional/india/setup.py +++ b/erpnext/regional/india/setup.py @@ -450,6 +450,26 @@ def make_custom_fields(update=True): } ] + payment_entry_fields = [ + dict(fieldname='gst_section', label='GST Details', fieldtype='Section Break', insert_after='deductions', + print_hide=1, collapsible=1), + dict(fieldname='company_address', label='Company Address', fieldtype='Link', insert_after='gst_section', + print_hide=1, options='Address'), + dict(fieldname='company_gstin', label='Company GSTIN', + fieldtype='Data', insert_after='company_address', + fetch_from='company_address.gstin', print_hide=1, read_only=1), + dict(fieldname='place_of_supply', label='Place of Supply', + fieldtype='Data', insert_after='company_gstin', + print_hide=1, read_only=1), + dict(fieldname='gst_column_break', fieldtype='Column Break', + insert_after='place_of_supply'), + dict(fieldname='customer_address', label='Customer Address', fieldtype='Link', insert_after='gst_column_break', + print_hide=1, options='Address', depends_on = 'eval:doc.party_type == "Customer"'), + dict(fieldname='customer_gstin', label='Customer GSTIN', + fieldtype='Data', insert_after='customer_address', + fetch_from='customer_address.gstin', print_hide=1, read_only=1) + ] + custom_fields = { 'Address': [ dict(fieldname='gstin', label='Party GSTIN', fieldtype='Data', From e1fffdb26247392728b88840ab4ca496f1d8f643 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Thu, 2 Sep 2021 19:08:48 +0530 Subject: [PATCH 12/20] fix: Linting issues --- erpnext/accounts/doctype/payment_entry/regional/india.js | 4 ++-- erpnext/patches/v13_0/create_gst_payment_entry_fields.py | 2 -- erpnext/regional/report/gstr_1/gstr_1.py | 6 +++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/erpnext/accounts/doctype/payment_entry/regional/india.js b/erpnext/accounts/doctype/payment_entry/regional/india.js index fa35ec9426..abb344581c 100644 --- a/erpnext/accounts/doctype/payment_entry/regional/india.js +++ b/erpnext/accounts/doctype/payment_entry/regional/india.js @@ -7,7 +7,7 @@ frappe.ui.form.on("Payment Entry", { 'name': frm.doc.company }, 'callback': function(r) { - me.frm.set_value('company_address', r.message); + frm.set_value('company_address', r.message); } }); }, @@ -21,7 +21,7 @@ frappe.ui.form.on("Payment Entry", { 'name': frm.doc.party }, 'callback': function(r) { - me.frm.set_value('customer_address', r.message); + frm.set_value('customer_address', r.message); } }); } diff --git a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py index aee5ce6d11..1ae06bed3b 100644 --- a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py +++ b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py @@ -1,8 +1,6 @@ # Copyright (c) 2021, Frappe and Contributors # License: GNU General Public License v3. See license.txt -from __future__ import unicode_literals -import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def execute(): diff --git a/erpnext/regional/report/gstr_1/gstr_1.py b/erpnext/regional/report/gstr_1/gstr_1.py index 3d839100eb..61443f1dc6 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.py +++ b/erpnext/regional/report/gstr_1/gstr_1.py @@ -62,7 +62,7 @@ class Gstr1Report(object): def get_data(self): if self.filters.get("type_of_business") in ("B2C Small", "B2C Large"): self.get_b2c_data() - elif self.filters.get("type_of_business") in ("Advances"): + elif self.filters.get("type_of_business") == "Advances": self.get_advance_data() elif self.invoices: for inv, items_based_on_rate in self.items_based_on_tax_rate.items(): @@ -78,7 +78,7 @@ class Gstr1Report(object): self.data.append(row) def get_advance_data(self): - advances_data = {} + Advances_data = {} advances = self.get_advance_entries() for entry in advances: # only consider IGST and SGST so as to avoid duplication of taxable amount @@ -695,7 +695,7 @@ class Gstr1Report(object): "width": 120 } ] - elif self.filters.get("type_of_business") == "Advances": + elif self.filters.get("type_of_business") == "Advances": self.invoice_columns = [ { "fieldname": "place_of_supply", From ebdc568e857d753e5778b39e2ddd3f5910a6d702 Mon Sep 17 00:00:00 2001 From: GangaManoj Date: Thu, 2 Sep 2021 19:32:39 +0530 Subject: [PATCH 13/20] fix: Rename 'Action if Same Rate is Not Maintained' to 'Action if Same Rate is Not Maintained Throughout Sales Cycle' --- .../selling/doctype/selling_settings/selling_settings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.json b/erpnext/selling/doctype/selling_settings/selling_settings.json index 2d09777642..59fcb98281 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.json +++ b/erpnext/selling/doctype/selling_settings/selling_settings.json @@ -149,7 +149,7 @@ "depends_on": "maintain_same_sales_rate", "fieldname": "maintain_same_rate_action", "fieldtype": "Select", - "label": "Action if Same Rate is Not Maintained", + "label": "Action if Same Rate is Not Maintained Throughout Sales Cycle", "mandatory_depends_on": "maintain_same_sales_rate", "options": "Stop\nWarn" }, @@ -204,7 +204,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2021-09-01 22:53:53.394444", + "modified": "2021-09-01 22:55:33.803624", "modified_by": "Administrator", "module": "Selling", "name": "Selling Settings", @@ -223,4 +223,4 @@ "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +} From e68c55ce83a43827719426427b41e308ca1179bb Mon Sep 17 00:00:00 2001 From: Shariq Ansari <30859809+shariquerik@users.noreply.github.com> Date: Fri, 3 Sep 2021 11:00:33 +0530 Subject: [PATCH 14/20] fix: Removing first Spacer from home page (#27321) --- erpnext/setup/workspace/home/home.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/setup/workspace/home/home.json b/erpnext/setup/workspace/home/home.json index cc9569f642..a4e7ad863b 100644 --- a/erpnext/setup/workspace/home/home.json +++ b/erpnext/setup/workspace/home/home.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"Your Shortcuts\",\"level\":4,\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Customer\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Supplier\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Leaderboard\",\"col\":4}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"level\":4,\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Accounting\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Stock\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Human Resources\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"CRM\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Data Import and Settings\",\"col\":4}}]", + "content": "[{\"type\":\"header\",\"data\":{\"text\":\"Your Shortcuts\",\"level\":4,\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Customer\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Supplier\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":4}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Leaderboard\",\"col\":4}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"level\":4,\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Accounting\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Stock\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Human Resources\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"CRM\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Data Import and Settings\",\"col\":4}}]", "creation": "2020-01-23 13:46:38.833076", "developer_mode_only": 0, "disable_user_customization": 0, From d1fe060e4afb96324492beca77c69698cb32a085 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 3 Sep 2021 12:02:32 +0530 Subject: [PATCH 15/20] fix: south africa vat patch failure (#27323) reload doc is necessary on new doctypes --- erpnext/patches/v13_0/add_custom_field_for_south_africa.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/erpnext/patches/v13_0/add_custom_field_for_south_africa.py b/erpnext/patches/v13_0/add_custom_field_for_south_africa.py index 93a7de6a21..96aa5477f0 100644 --- a/erpnext/patches/v13_0/add_custom_field_for_south_africa.py +++ b/erpnext/patches/v13_0/add_custom_field_for_south_africa.py @@ -1,8 +1,6 @@ # Copyright (c) 2020, Frappe and Contributors # License: GNU General Public License v3. See license.txt -from __future__ import unicode_literals - import frappe from erpnext.regional.south_africa.setup import add_permissions, make_custom_fields @@ -13,5 +11,8 @@ def execute(): if not company: return + frappe.reload_doc('regional', 'doctype', 'south_africa_vat_settings') + frappe.reload_doc('accounts', 'doctype', 'south_africa_vat_account') + make_custom_fields() add_permissions() From 798b464ee3b9473774dd554ed5ad572a4d990e26 Mon Sep 17 00:00:00 2001 From: Subin Tom <36098155+nemesis189@users.noreply.github.com> Date: Fri, 3 Sep 2021 12:30:57 +0530 Subject: [PATCH 16/20] fix: braintree payment processed twice (#27300) --- .../accounts/doctype/payment_request/payment_request.py | 8 ++++++++ erpnext/hooks.py | 3 +++ 2 files changed, 11 insertions(+) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 1570b499ac..2c967497d5 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -549,3 +549,11 @@ def make_payment_order(source_name, target_doc=None): }, target_doc, set_missing_values) return doclist + +def validate_payment(doc, method=""): + if not frappe.db.has_column(doc.reference_doctype, 'status'): + return + + status = frappe.db.get_value(doc.reference_doctype, doc.reference_docname, 'status') + if status == 'Paid': + frappe.throw(_("The Payment Request {0} is already paid, cannot process payment twice").format(doc.reference_docname)) \ No newline at end of file diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 53f40bc07c..2f7e930a2f 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -317,6 +317,9 @@ doc_events = { }, "Company": { "on_trash": "erpnext.regional.india.utils.delete_gst_settings_for_company" + }, + "Integration Request": { + "validate": "erpnext.accounts.doctype.payment_request.payment_request.validate_payment" } } From 64fcd1a092a4890c24fe5abc65b5ac2f2b1e18cb Mon Sep 17 00:00:00 2001 From: Ganga Manoj Date: Fri, 3 Sep 2021 12:54:47 +0530 Subject: [PATCH 17/20] fix: make datetime objects readable (#27301) * fix: Make datetime objects readable * fix: Remove unused imports --- erpnext/support/doctype/issue/test_issue.py | 64 ++++++++++----------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/erpnext/support/doctype/issue/test_issue.py b/erpnext/support/doctype/issue/test_issue.py index 229a7a1780..6f0b8a67f3 100644 --- a/erpnext/support/doctype/issue/test_issue.py +++ b/erpnext/support/doctype/issue/test_issue.py @@ -26,58 +26,58 @@ class TestSetUp(unittest.TestCase): class TestIssue(TestSetUp): def test_response_time_and_resolution_time_based_on_different_sla(self): - creation = datetime.datetime(2019, 3, 4, 12, 0) + creation = get_datetime("2019-03-04 12:00") # make issue with customer specific SLA customer = create_customer("_Test Customer", "__Test SLA Customer Group", "__Test SLA Territory") issue = make_issue(creation, "_Test Customer", 1) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 4, 14, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 4, 15, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-04 14:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-04 15:00")) # make issue with customer_group specific SLA customer = create_customer("__Test Customer", "_Test SLA Customer Group", "__Test SLA Territory") issue = make_issue(creation, "__Test Customer", 2) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 4, 14, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 4, 15, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-04 14:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-04 15:00")) # make issue with territory specific SLA customer = create_customer("___Test Customer", "__Test SLA Customer Group", "_Test SLA Territory") issue = make_issue(creation, "___Test Customer", 3) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 4, 14, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 4, 15, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-04 14:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-04 15:00")) # make issue with default SLA issue = make_issue(creation=creation, index=4) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 4, 16, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 4, 18, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-04 16:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-04 18:00")) # make issue with default SLA before working hours - creation = datetime.datetime(2019, 3, 4, 7, 0) + creation = get_datetime("2019-03-04 7:00") issue = make_issue(creation=creation, index=5) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 4, 14, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 4, 16, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-04 14:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-04 16:00")) # make issue with default SLA after working hours - creation = datetime.datetime(2019, 3, 4, 20, 0) + creation = get_datetime("2019-03-04 20:00") issue = make_issue(creation, index=6) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 6, 14, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 6, 16, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-06 14:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-06 16:00")) # make issue with default SLA next day - creation = datetime.datetime(2019, 3, 4, 14, 0) + creation = get_datetime("2019-03-04 14:00") issue = make_issue(creation=creation, index=7) - self.assertEqual(issue.response_by, datetime.datetime(2019, 3, 4, 18, 0)) - self.assertEqual(issue.resolution_by, datetime.datetime(2019, 3, 6, 12, 0)) + self.assertEqual(issue.response_by, get_datetime("2019-03-04 18:00")) + self.assertEqual(issue.resolution_by, get_datetime("2019-03-06 12:00")) - frappe.flags.current_time = datetime.datetime(2019, 3, 4, 15, 0) + frappe.flags.current_time = get_datetime("2019-03-04 15:00") issue.reload() issue.status = 'Closed' issue.save() @@ -85,21 +85,21 @@ class TestIssue(TestSetUp): self.assertEqual(issue.agreement_status, 'Fulfilled') def test_issue_metrics(self): - creation = datetime.datetime(2020, 3, 4, 4, 0) + creation = get_datetime("2020-03-04 4:00") issue = make_issue(creation, index=1) create_communication(issue.name, "test@example.com", "Received", creation) - creation = datetime.datetime(2020, 3, 4, 4, 15) + creation = get_datetime("2020-03-04 4:15") create_communication(issue.name, "test@admin.com", "Sent", creation) - creation = datetime.datetime(2020, 3, 4, 5, 0) + creation = get_datetime("2020-03-04 5:00") create_communication(issue.name, "test@example.com", "Received", creation) - creation = datetime.datetime(2020, 3, 4, 5, 5) + creation = get_datetime("2020-03-04 5:05") create_communication(issue.name, "test@admin.com", "Sent", creation) - frappe.flags.current_time = datetime.datetime(2020, 3, 4, 5, 5) + frappe.flags.current_time = get_datetime("2020-03-04 5:05") issue.reload() issue.status = 'Closed' issue.save() @@ -109,33 +109,33 @@ class TestIssue(TestSetUp): self.assertEqual(issue.user_resolution_time, 1200) def test_hold_time_on_replied(self): - creation = datetime.datetime(2020, 3, 4, 4, 0) + creation = get_datetime("2020-03-04 4:00") issue = make_issue(creation, index=1) create_communication(issue.name, "test@example.com", "Received", creation) - creation = datetime.datetime(2020, 3, 4, 4, 15) + creation = get_datetime("2020-03-04 4:15") create_communication(issue.name, "test@admin.com", "Sent", creation) - frappe.flags.current_time = datetime.datetime(2020, 3, 4, 4, 15) + frappe.flags.current_time = get_datetime("2020-03-04 4:15") issue.reload() issue.status = 'Replied' issue.save() self.assertEqual(issue.on_hold_since, frappe.flags.current_time) - creation = datetime.datetime(2020, 3, 4, 5, 0) - frappe.flags.current_time = datetime.datetime(2020, 3, 4, 5, 0) + creation = get_datetime("2020-03-04 5:00") + frappe.flags.current_time = get_datetime("2020-03-04 5:00") create_communication(issue.name, "test@example.com", "Received", creation) issue.reload() self.assertEqual(flt(issue.total_hold_time, 2), 2700) - self.assertEqual(issue.resolution_by, datetime.datetime(2020, 3, 4, 16, 45)) + self.assertEqual(issue.resolution_by, get_datetime("2020-03-04 16:45")) - creation = datetime.datetime(2020, 3, 4, 5, 5) + creation = get_datetime("2020-03-04 5:05") create_communication(issue.name, "test@admin.com", "Sent", creation) - frappe.flags.current_time = datetime.datetime(2020, 3, 4, 5, 5) + frappe.flags.current_time = get_datetime("2020-03-04 5:05") issue.reload() issue.status = 'Closed' issue.save() From 2b34028acd38b340f662211381af2f1f6a13ad1f Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Thu, 2 Sep 2021 22:01:24 +0530 Subject: [PATCH 18/20] fix: Patch and linting errors --- erpnext/patches/v13_0/create_gst_payment_entry_fields.py | 2 ++ erpnext/regional/india/setup.py | 4 ++-- erpnext/regional/report/gstr_1/gstr_1.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py index 1ae06bed3b..3867d24f26 100644 --- a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py +++ b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py @@ -4,6 +4,8 @@ from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def execute(): + frappe.reload_doc('accounts', 'doctype', 'payment_entry') + custom_fields = { 'Payment Entry': [ dict(fieldname='gst_section', label='GST Details', fieldtype='Section Break', insert_after='deductions', diff --git a/erpnext/regional/india/setup.py b/erpnext/regional/india/setup.py index 27d5f7341e..963c4075cd 100644 --- a/erpnext/regional/india/setup.py +++ b/erpnext/regional/india/setup.py @@ -123,8 +123,8 @@ def add_print_formats(): def make_property_setters(patch=False): # GST rules do not allow for an invoice no. bigger than 16 characters journal_entry_types = frappe.get_meta("Journal Entry").get_options("voucher_type").split("\n") + ['Reversal Of ITC'] - sales_invoice_series = frappe.get_meta("Sales Invoice").get_options("naming_series").split("\n") + ['SINV-.YY.-', 'SRET-.YY.-', ''] - purchase_invoice_series = frappe.get_meta("Purchase Invoice").get_options("naming_series").split("\n") + ['PINV-.YY.-', 'PRET-.YY.-', ''] + sales_invoice_series = ['SINV-.YY.-', 'SRET-.YY.-', ''] + frappe.get_meta("Sales Invoice").get_options("naming_series").split("\n") + purchase_invoice_series = ['PINV-.YY.-', 'PRET-.YY.-', ''] + frappe.get_meta("Purchase Invoice").get_options("naming_series").split("\n") if not patch: make_property_setter('Sales Invoice', 'naming_series', 'options', '\n'.join(sales_invoice_series), '') diff --git a/erpnext/regional/report/gstr_1/gstr_1.py b/erpnext/regional/report/gstr_1/gstr_1.py index 61443f1dc6..e3e09ef8e5 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.py +++ b/erpnext/regional/report/gstr_1/gstr_1.py @@ -78,7 +78,7 @@ class Gstr1Report(object): self.data.append(row) def get_advance_data(self): - Advances_data = {} + advances_data = {} advances = self.get_advance_entries() for entry in advances: # only consider IGST and SGST so as to avoid duplication of taxable amount From 79d250845ec0856f2ca27ec080288845f62fcbaa Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 3 Sep 2021 11:18:24 +0530 Subject: [PATCH 19/20] fix: Patch --- erpnext/patches/v13_0/create_gst_payment_entry_fields.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py index 3867d24f26..7b54614f09 100644 --- a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py +++ b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py @@ -1,6 +1,7 @@ # Copyright (c) 2021, Frappe and Contributors # License: GNU General Public License v3. See license.txt +import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def execute(): @@ -18,9 +19,7 @@ def execute(): dict(fieldname='place_of_supply', label='Place of Supply', fieldtype='Data', insert_after='company_gstin', print_hide=1, read_only=1), - dict(fieldname='gst_column_break', fieldtype='Column Break', - insert_after='place_of_supply'), - dict(fieldname='customer_address', label='Customer Address', fieldtype='Link', insert_after='gst_column_break', + dict(fieldname='customer_address', label='Customer Address', fieldtype='Link', insert_after='place_of_supply', print_hide=1, options='Address', depends_on = 'eval:doc.party_type == "Customer"'), dict(fieldname='customer_gstin', label='Customer GSTIN', fieldtype='Data', insert_after='customer_address', From a06a70d1a448a914979629c2a089790805f79cc4 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 3 Sep 2021 12:40:13 +0530 Subject: [PATCH 20/20] fix: Patch error and tests --- erpnext/patches/v13_0/create_gst_payment_entry_fields.py | 1 + erpnext/regional/india/utils.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py index 7b54614f09..334c9d2b81 100644 --- a/erpnext/patches/v13_0/create_gst_payment_entry_fields.py +++ b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py @@ -5,6 +5,7 @@ import frappe from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def execute(): + frappe.reload_doc('accounts', 'doctype', 'advance_taxes_and_charges') frappe.reload_doc('accounts', 'doctype', 'payment_entry') custom_fields = { diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index 4ef4dd9e26..bf06d4a497 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -772,7 +772,7 @@ def update_place_of_supply(doc, method): if country != 'India': return - address = frappe.db.get_value("Address", doc.customer_address, ["gst_state", "gst_state_number"], as_dict=1) + address = frappe.db.get_value("Address", doc.get('customer_address'), ["gst_state", "gst_state_number"], as_dict=1) if address and address.gst_state and address.gst_state_number: doc.place_of_supply = cstr(address.gst_state_number) + "-" + cstr(address.gst_state)