diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index e762580ed76..6eaf9ccec66 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 diff --git a/.github/helper/.flake8_strict b/.github/helper/.flake8_strict index c17871dfa94..4c7f5f82cfb 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 745e6463b8a..83d4acfe4ab 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 c2363397c47..16e490a4609 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 df15b687c36..2b3a471f774 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 17d650568a4..45218276f68 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 628b7134723..a6d08d8ff61 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 85f54f98ba8..5eb857719a9 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 173b1eee9a5..bcd07718a59 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 f763df0852b..f6198eb23ba 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 927adc7086c..d6ccd169362 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 eb3e7ffd906..72223573a23 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 161e52a67d0..f058afba6a7 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 acb11e557a5..9f339520356 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 533eda31d58..0c3b33e0b9e 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 fac28c92397..af8255f9448 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): @@ -47,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/accounting_dimension/test_accounting_dimension.py b/erpnext/accounts/doctype/accounting_dimension/test_accounting_dimension.py index 4f3ee7643ab..3769fc12707 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 17cf549fc45..c116f164536 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 6aef9caa747..cb8c7d1c984 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 7f6254f99f5..9968f689916 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 739d8f6bc63..67d1a8a09bd 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 dc472c7695d..5885b58e481 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 62c97f24d5f..f54473351a2 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 014cf45e518..c1c156fa65e 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 597d2ccc625..0c98f248746 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 c2afc1a2621..b5e7ad3fbe2 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 a3e4bbcd094..3e84c3071b0 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 0fccaf302fb..91331fadd51 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 99fa21c8f9a..e1eb984f5f5 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 d8741f24c54..62d14d6fc63 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 3e08c2812ef..703f55de807 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 ed34d17ee74..dc970f3d99e 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 ab52c4af77c..84fa0c92b80 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 ca3addc979d..d4eb88b3656 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 b7dc0e0dc37..bba43dc486c 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 f04725a2e55..00fd4338d22 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 79f5596384c..340b4481785 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 833abde5ce3..bdf3c7f48ae 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 59299f81e50..1b23400cd37 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 a0aac6ab170..8043c5f04e5 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 816743a9b03..5cd455fd6c6 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 8a17233cf74..ce64ee4f5a2 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 d96950abbce..55b83b6bdfe 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 ffc9d1c4658..25d1023c270 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 cd5831412d9..5b45fa204bf 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 235af2d8628..c4cf37e0c82 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 dc3b8674700..e8d032be360 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 439d4891194..35d08bd8033 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 95a5bc33883..8b809fe705d 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 d6d7c109cf5..2546f27a46e 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 d93b6ffbaf9..9c20e82f169 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 6c25f0024d5..cc8220920e3 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 81b2709ba8b..454e47d7a1a 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 cfe28f3ff9f..b1ab6481597 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 c4c95db0f24..e5c56157318 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 20e423a610e..1316227df91 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 4f5fd7f7d78..d78fdf52858 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 72515338378..96920b329e7 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 b1ad2972beb..9ec466a7a6d 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 499c820479e..5e44c61379b 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 fc63b8f9af6..51740353192 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 6f77a39bab9..fabf5796bcf 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 e10b63829fd..f0ff33fb38f 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 081c6fa4718..cab7d407b54 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 3c489a78727..981093f3d04 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 f73703158d8..a2a8b9437e4 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 8456b49c8ee..61968cf627d 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 6ab19b771bf..ca9cf699aa7 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 d62ee9deeb5..0f595ba933a 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 fa9c5b5eb09..8ce8794cfcf 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 048ceeecbf5..50469bc19c6 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 981fec308cc..166ebb83ac2 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 7779ccefc20..142b925c2ea 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 92a816d25e9..bb2615b3610 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 06987a8a4a5..bf8c014a5b9 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 df782ac9e0c..100bfd5e665 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 a577145e4ee..da3533fcc68 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 93dfcc14bda..11faa773c65 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 48c589f0c0f..436704008ea 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 1ef512a4894..65ada530df5 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 33c6ab080c9..fa3330f7cfd 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 67692ecc472..9e8b6553360 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 426497b6072..b14fdc11f2a 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 87087484289..64e7cf420fe 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 b2fb26f34a5..ae08907273e 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 dbbcedcadfa..9c173d0c517 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 b5cfa04ed67..7358f561ed4 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 3b037d1dc47..e725ce4da45 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 87d7b673465..58375dd4ef9 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 bc9fce2ce86..527b8e67886 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 bb9a46d88ca..87a8ae260c0 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 42556269fdd..6854ac910d2 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 cec4f4492d6..b0365afa827 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 8dfc2fa7e29..b9c57f67b0e 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 0844995f296..1e983b1d429 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 4167ca70df2..14959520767 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 d7848495a69..9ca3f9ac51d 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 b73d8bfbb11..8867f1cd9bf 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 6d35ca24397..bab8e46c31e 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 919dd0cba77..58aea92e817 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 d9155cbab4a..1e26afe0253 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 acf1e446e74..46bb300e37d 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 d51bed0520a..aa3b5420d60 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 dc341d7ad79..24368f04419 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 5835d462ae9..d03a08851a6 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 2e77cf2b44e..86d3df4dc22 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 e0b9cbc9193..f0813f5e275 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 5f74a2042fd..61fea94e823 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 48e6abbc284..d0408ca2fcd 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 3579a1a9604..0813926f5f2 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 b6e2d57b9fb..07856cfd5d6 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 e4382b6c789..506e2ce8398 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 cb753a3723d..89ed461fd5d 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 189004f5ec8..267bbbf00b2 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 31994885aa6..a039e32b8b9 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 42cc38cb4c2..4bbcf3ae9f0 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 cea921e999e..dfe42df226a 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 ad6cd4795f3..299687b067e 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 5cb195a3ba4..40b5f302f2c 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 ad8623fb4ee..c0e00d62099 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 efbf4eb105f..63faa158f15 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 d9e8bf9c778..8ec30c79af7 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 9914b45dfc1..2b94bf4c1f1 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 8d6de2d562f..ed3c6a9da0a 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 d47c3e94ecc..4008022a26b 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 21cfb96dba4..08d67c7a7be 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 9cbba352736..daf667caf0c 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 a3ea3959ba4..2ae338133e0 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 f9fa63d8231..a5303215d5b 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 @@ -1390,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 @@ -1410,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": @@ -1450,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/accounts/doctype/payment_entry/regional/india.js b/erpnext/accounts/doctype/payment_entry/regional/india.js new file mode 100644 index 00000000000..abb344581ce --- /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) { + 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) { + frm.set_value('customer_address', r.message); + } + }); + } + } +}); \ No newline at end of file diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py index dac927b2cef..c90a3c503c2 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 d6686bbe422..9cfed7b56d3 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 51f8c06165a..a686f495cda 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 3529c16a1c2..1d8a8ac5e19 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 08982296f3d..2edc1a1590b 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 84c3bc4a600..f76aa4a80f8 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 8d29ae70ae7..e9b5ad9dc4d 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 a4f335833ee..d9262be9b86 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 9ba57aef300..6414473346b 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 b3a92940e27..4bb98a3b61a 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 1286bf0f0bb..9de79aee58a 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 87eaaee8564..2271f48a2b9 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 0fb63b1cd17..9db8e62af08 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 800d8009754..5ac1855c030 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 c76f7852c8c..78c84ff5a6a 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 f83cb375fcf..2c967497d59 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): @@ -542,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/accounts/doctype/payment_request/test_payment_request.py b/erpnext/accounts/doctype/payment_request/test_payment_request.py index ad6ff6f5553..c97c873fc4e 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 41740170f03..33d5efa10e3 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 5d4df053fb2..a04c183bedc 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 d9baa5907b9..bc0645f9a62 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 39627eb376a..35685911324 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 6daaf1ed74e..2052a5093d2 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 54c0fda0119..c857a88b9f5 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 ebe55f6a6e9..888bf9fd940 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 2a636bb3381..2d417a4cfba 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 82528728ddc..896ebdfd5e6 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 5b18ebb40dd..44c87d6e41b 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 46b6c773bc3..4293abdfdc1 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 f72d9a61e10..74cf7540311 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 85c1c9f8ddf..570eb9ea177 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 b4720b309bd..00faebb7abb 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 034a217a26d..d6e41e6f90d 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 d2527fb2e50..e6e0dd238f0 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 92ce61be529..99e471991c3 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 e50d437ba6a..0be8ca7ee69 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 1b9659409c0..c531bb9f079 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 4c45265f608..9bce082c958 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 ceaa57ba60c..b5ff794ccc3 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 3318fefab14..979479ffb58 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 c115be5ae94..35a2b5835fd 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 555706227fc..be5d876a164 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 8a46d84bfe2..851d8efde1d 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 cf7ed26d277..b64e2eda2db 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 0033965700e..83ecfb47bb5 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 d77cddea614..404c4ab6296 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 5c69ab1fb8f..dca35564082 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 720ea77745f..32f9f9298b1 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 d925dd9d86e..5c5aaa04ed3 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 a3df10803c0..949fed775bf 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 ccfb29f3556..e5bf3b80641 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 680370b6af0..2e2d425dab7 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 6f24587ac7b..12b486e45eb 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 e2f70af4a12..5e10b8411a4 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 3cb7da91584..a90ecbb6f7f 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 4468620314c..4746b39e175 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 d3c36197c77..ff1ba75a60f 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 5e7583a9745..72b7b23e149 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 03c269ac766..69e2caa8e82 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 30b1edcec8d..73f30385120 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 30efbb36833..7ddcd105af9 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 1a760101dba..fe940094071 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 3d7a891f333..d09f7dc2da2 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 54fedb77387..6d079242682 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 286f7cf6edd..190b734cc17 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 380ae32f9a5..ab8efc33141 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 2931106f768..85019b4e455 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 0aeef3ed3a8..cb5aaa9c5e0 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 f4a5dee9752..1cd995179d5 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 e2f02f37ee7..62cd90ee9fc 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 b6467a3d5ca..4cc319d594f 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 37ff52c6109..20d6c466e4c 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 d157837a7a5..ec2ce65168d 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 50ec7d8b4d8..ad2a24c0e2f 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 5854ddee940..34ac25753b3 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 efcef469bde..53b549f6829 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 97fbca31b6b..c60c81b7239 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 983d0156a58..d96ef62c293 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 93546c3be74..ec249c24194 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 3238ead4316..64b35b2987e 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 e06a3bb5b18..da0c3151933 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 28aeef4d5e1..ae69598a66a 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 a73b03acc84..063c591f768 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 cc0b7a620db..a980ece580b 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 afc05ab7ede..e8d4b114fef 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 9796c7b0ccf..97489d155fc 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 b1de9d85fdb..39872f33770 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 8f9eb6577b8..0a0bb3e00b9 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 1c0c0c77e75..1cad4129f83 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 bd165cd38a4..0353e998237 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 3d4543fb051..5117ef8b5b5 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 2ff9b02129f..b40e5fbbf8e 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 ab4b8bc1ef2..5b133aa34ab 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 1c1f0516588..a6f8d611c1b 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 c507fcfaa9d..12c50c8283b 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 3b77fd51b5e..0084f2567ab 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 9ce00932fad..6790fdd2ff7 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 d32a348741e..28521014720 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 abc6ab82d3d..bdd9be3beda 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 db6ef117c22..66cd269e51b 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 b9646cfc293..9576acd0aba 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 4bd8c65a046..d9a3bcc0df4 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 8bf7b78f585..445eb3c7096 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 4f2cf487a4f..e2cf4d5a442 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 6f459b4790d..687c94cce2c 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 e60a4eeca99..2cc3038d913 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 a341c2af6ac..c7bb58cb26d 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 73afbf620ec..ba997632479 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 1d9606ff78c..a63a27700cc 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 cc378e4d9fd..54735834baa 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 82c7e1d269e..5875ee069ec 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 de0444ee193..61c16fe0ff1 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 ad66e230c80..2105b1d3327 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 2870e3200f8..df31a5e45f9 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 548d00852aa..90931058f07 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 58142318177..150498d6acc 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 cf7226822ed..f937274edf5 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 76e3fa32b0c..fd194829e56 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 5772ac23b8d..b4bdd73c492 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 d51ba65b13b..152ee460814 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 0f921db678d..c4a5ba52fea 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 6e32abec390..6556277509a 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 d46edc9dca8..bcc02be2dd3 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 31261384080..4bf2b828edd 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 1bc4d1874c8..f57de916dd1 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 b78ea428509..7ea6ccee5b4 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 be64c327fdf..9ae61ddcfd2 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 f5c9449e85d..94c73f5264b 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 246ead6016e..0de573e4541 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 c08582b564c..6034ec0d83b 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 cedfc0f58b8..e91fdf27cdd 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 cca67608238..1d24561bb3f 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 4bfb022c4ee..106f224a740 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 2162a02eff9..0fd4ca0f24a 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 5001ad9f12f..d34bc854bba 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 7838385dc56..78ee7cab9af 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 95f724cc580..1a1fa964fe0 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 63317c52d80..b9843068a18 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 2dcea22f7e6..6c4cd671b24 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 443126e4655..c204250377f 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 3577457c980..d5271885b7e 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 c11c15390b3..bbc020e591f 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 fc4212733a3..e419727c2d1 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 c79d7401e6a..603fbac5aa9 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 9953d8fcaf5..f096094296c 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 de7ed4926e1..4212137d7a6 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 f5309cd6fda..2cb8a6802a7 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 3723c8e0d23..a0445187499 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 8e33af7ee8e..49522d9c873 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 8ea5e07aef8..f08bca9ddaa 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 7dea80cbe26..8f822711a7a 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 685419a17e4..cd25c050040 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 c9c22c246ed..847a127d365 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 51735056896..b61f87df5bf 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 556f5ad4f79..6c6af1cc5a2 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 b7e112c0c9a..c9463caa6db 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 5d04824b571..ef799f63bf9 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 48bd7308bca..ad97808973b 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 ba236b9969d..b26c733bc7e 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 10edd41aa88..5d4a03ce60a 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 a5eced5f80b..adf6b29ea8f 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 ee3992f6f48..0ec54c932b8 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 ff774681a29..9ad7007a2cc 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 e4a3d3527fd..9fd7bc3de73 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 f38bd78c0d2..57b69aa8187 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 9f22f81d2bc..03efc9ec33a 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 3ed3c91141e..9be662220d0 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 fbd25b13bb5..00316ba2652 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 18436de3d8a..f03498d5b20 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 743ddba0240..e74b905db17 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 6b9df41f54e..c4a8c7a899a 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 ceefa31cfa1..9e1382b9222 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 1fc0faab3a7..d65bcc4ada3 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 f034e7450ee..8e245443c33 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 1250d676a06..71fe4a294a3 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 ba461edaf86..57ff9b0ec9e 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 628c8ce6463..d7b60daa37b 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 c46eb7e6310..4692869343f 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 3bd3d7db065..b0441c236fc 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 d79970b742f..4213e45c078 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 ce39368cd99..642f49189da 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 e828151d0d8..2b3c3386972 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 8f37735c812..02b937a74b2 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 b3079837c35..1968a04796d 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 8c90b839b59..b73fc32f7fd 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 8e6ceb4b1de..e474efe5153 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 80861770b0d..1959d1f8112 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 c475f002981..75c2542b85a 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 4c71d33fe80..c11c61afec2 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 d3852425918..a050b710107 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 3e49d3e18fd..e622e84dc32 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 daea54b6132..608bf8c5e3a 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 c4e9245cd79..02eb133de91 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 1b7589298e2..f580e165762 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 b65f93de0a0..62382500166 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 cbd2fd7431a..6b6e8436124 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 c1731846a86..9f719874ed2 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 234d0d4b011..e0c8177e630 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 b89d7563115..24fe0748d38 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 b073c200c09..09b917c549a 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 d7a5f091793..636af77f4f8 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 16d105c9c58..c701eb8f271 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 a7525ae6e96..9980e8b0cae 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 b6467b7f45d..5cddeeb1616 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 ece07002868..228ae340f20 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 6833f905394..8771733213c 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 b4ab3ae6f35..1b4bab9a53a 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 235e684e511..b41964dafda 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 89db74cd7cb..42fcbcb719a 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 2c701796072..39f0f1a88be 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 f1bf31a8e69..8ff4f9790aa 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 62bb4be53aa..cd04e1d8f04 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 9a61b79ed35..609791012a2 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 605ce2e2503..4cc9be5b05d 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 39032d637b5..1e56c010c46 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 9f7ada65d82..53ec4ed38ef 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 67925f4fe8b..66280acb2e8 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 bdc2acfb792..c4f095305c5 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 e14f1d88dcb..ec55fa4efcb 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 7610152039d..0f915086a9f 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 34facd8d050..1f2393649d0 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 a1ec8792b2d..7ad69e92aba 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 2a5666d5064..2280f557284 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 f741a8fff3e..46e9029941c 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 a0c0b146f1b..8d757b74c06 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 1771e27ddfe..901bdb5c001 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 2b2d2b44004..058bbd1abd6 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 4c6aaab58a0..24da37176e8 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 746f582fdcd..99a7d9bfbf8 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 5e727d007a9..9945a328cfc 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 fa22a5712f4..2a8d64ef490 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 2f6b5ee2dc9..2c11018caa9 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 a9dc9795ee3..52728d6fd69 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 54fba3f68c1..3199b7dc8dc 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 3e49d3e18fd..e622e84dc32 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 317894cb58e..1430306bec1 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 3d9e555db6d..8fc5c9c43c1 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 c805e56e5ca..f8958c6bbef 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 7d07397944b..e370b9d0cb3 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 a634a0908b0..9e72c1890c5 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 bf6eec67d4c..4998aebd6bb 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 ca3bd90960c..ac86337b257 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 ab514dac308..af1dceb4070 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 fa174ba8fa8..1453b8e7e4d 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 b6e28b6c674..a391a3d0688 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 c85ca2fbafc..909faeca6ad 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 00c93ed1ea3..caec4e8b7aa 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 8ed6c9e2a6d..af1a9a907a9 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 751336dc4c6..0708cab30a1 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 36f87b0b841..33fde8e6dc8 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 cc897af944b..35f3305b8ef 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 4b0bbbee8c2..47c0deb39f3 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 c9750caa65a..2a9f784ec6e 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 89804662700..8a4eefa4fd3 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 4473ddea28e..6d71f7d5160 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 c75044d44eb..55ba85ef2d6 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 25e4e2a4dcf..af462fc6859 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 6b40305e01f..014b1025dd3 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 6f34ca6c390..2db8e22f08b 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 64dda879450..03adab54626 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 e956afdf749..f944fe44665 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 8e5cce5696b..7186e01d084 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 a5f05ea5258..ef7fae3f111 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 33a0dc78377..c456377d9b7 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 3babfc8cab3..9fca9a9f17a 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 cc345e96bb8..b03d216ce23 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 8baa3185ba7..de8bc0a0272 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 b64abed8a67..79d5082ab6a 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 e8ad79f33d3..5063b20ddbb 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 58a8a99a09c..476cb35e8cd 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 678855a457b..4fc45e89c7b 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 4d966513137..5ac5927d081 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 89a6459bbab..30b2a1893f1 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 14b87105e66..990413cd404 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 99bcbe633cc..cb992342820 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 c36083f2aff..a5b09473a05 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 0f949477b1c..bef66da4818 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 bda172769a9..5d59456550b 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 095a44319d6..9781480afa7 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 faf67c9f7f3..42cc6ebc0a6 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 9a45972837b..202d3641859 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 2da53d726b7..9299cca0da4 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 cb304a1fdab..7aeae451645 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 96cacb6f1b5..a8fad967d40 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 2448e17c50f..dcdc5e36abe 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 a5a3105a847..62b83ede04b 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 17928634e78..81d995ce8de 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 2276c738fbe..f3bf11ad652 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 f233da07d5d..b15c3bed71b 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 d68d2d67a76..5189b09dc3e 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 1c8ab10f537..ecd771f608c 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 ab4db964772..d4d4a72a5d1 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 fc5dc098e5c..b90db054b57 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 974ade35849..e0b3ad801ec 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 f43c80416f3..b8dc92efdeb 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 8c361a2e561..1b56ae9d4dc 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 e08c400068b..f6e061bcdcf 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 4b4c8befa53..aafaf5b9e08 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 f673a9b6e57..5f2fbeb0c93 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 844c40c8a64..0158a1120f9 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 7b24e50b143..8738204ce09 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 17707ecae7f..78a6e52e4d7 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 969829f9651..3addb91aaa0 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 993c354f7a7..70cc8a58bfe 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 813f0a00758..b3633e6ff09 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 7a4b2d36148..2d1ae43f074 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 aaeac5d9399..41673d1e6fb 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 9b4b0eb9173..05d900d0f04 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 7c072e4fad3..ff2ed45bd24 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 f7c6b6c7993..f2055349bd2 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 c7563e9d15b..59138a9ea9b 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 ad781d68599..7e1da677312 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 3dc3c399712..5c5432c5246 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 3cadbc95590..4741c8af5a1 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 8258471eed1..e33d87b1939 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 e32799f34eb..8b628004098 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 7124b8c7d60..2e25eb6a790 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 8445b8a397e..f053e6e7e4f 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 c39397bf4b4..9654613f041 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 d5f4e71bffa..87716368177 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 60390357277..ae56f93fc84 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 c78796be6bd..82e7ad35c9e 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 9281220eef4..fc1845c372d 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 b2b0db66a59..50655054c85 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 767b1901ab9..28f844d0970 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 71c93e8d393..4b74f25ead7 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 f5eab483330..f68b8c6d290 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 7610a24648c..5cf110ff27b 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 50e88a5188e..5edf2b62382 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 d7bc46165fd..833c43e0596 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 5c64fb8b4ad..8de1c4301b1 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 b5bc6490cf9..ecf61171e99 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 c56eed84cef..03c9d9c762c 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 9c3ef3f32f0..1d86f0c66fe 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 3baa011e64d..88abd423cfa 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 830ea693437..92adf56876c 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 2f9ed34f7c4..b95cc4cde0d 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 a74a94afd68..0b3f50897ab 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 b8c53f077ae..693a86cfcdf 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 52aa0b036ae..347bf6366d2 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 7a5ed63f883..225cfe9d324 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 48b63b091e2..b25f02afffd 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 8723f1d0457..4bb5c54b1d9 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 48abac3fe29..5b64e980965 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 6410bbc3401..f86a70e8cfa 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 3fa6fe85374..367aa3d3123 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 0fffad19395..fa44e204351 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 2be5a5f39ad..40edbe0524e 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 a80f4cc0894..e9e176f0871 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 80b65130e67..83d1f269fd7 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 8e441edba85..14d4521e1e6 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 ec81ee58710..c2d041898aa 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 3f999c1af4b..ff3163c559b 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 9c37ffd7715..0205cca2b92 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 f244daffea3..0da0e0e71af 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 238884b5190..87f516b8c72 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 2ffbc3e62ac..df57893ef49 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 e66bc1ec8e3..71efdb96e75 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 072a47611b7..11e82764278 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 8fe16a2f4ce..5406eba6d8e 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 858dcc4da81..b308ceb272d 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 425b7a8fdd7..4a16f3d5396 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 a4e4220c3a9..5be24206ca0 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 cf9451d5dae..304bc3d2c3c 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 aa389e56b41..5d5707f6470 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 7d6b5012ea6..5db3519c2ce 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 82d1c15ea3e..d94d2d6763a 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 05ee28a24a4..42f83a3b4e8 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 7fab7722358..2a248244850 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 883a6d88cf2..adc0463a7ff 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 dc094e1c918..ec0e4c818ba 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 0211bc8a90a..17d5829f908 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 bece0798faa..6e01f0f5a67 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 044e2967fde..b6b99de532d 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 b7aca79cf9b..ec32f973dae 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 8d5ba28b79a..95494ee3242 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 d44da7d127e..188fc13f24d 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 c0589bb489b..a3164b25970 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 4493a3fef17..d2a8805c897 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 fa7f2899dcb..b8e22b68c62 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 eb2f90742ce..a1087b8fc42 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 0964a56454b..6329103870f 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 f2858a42d4b..77b67d8a5d7 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 d3734df8036..49d68c3af28 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 9da75a72143..31135c40f38 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 b5cc5cbc7a6..f3c77880fc1 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 2fce07f82c1..cda79ad4579 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 bfbf26cf6c1..f8f04bf5135 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 fc0d7451108..1098d0369fb 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 75381e1d0bf..e62c0305520 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 5b293371bb8..d65f1e78d1d 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 88acc124d31..3425109331f 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 1a23606a61d..83438c0ed74 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 2fd98b6d02f..822d65c9bb7 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 16136c19f71..2a58a313cdd 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 8ac3faf6dde..672953852ed 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 2de4f23f5b9..9a6b8860358 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 53b477f700a..795462d6308 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 7dfe0cf6c27..01f483f8b0b 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 2526076d308..f9e2008ebc7 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 adce57769dd..fa0ad1f692c 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 d0515931590..234dff044f5 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 a0d286ccbe9..83b4f5634e9 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 f784ccb256b..bcc57220e78 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 2ae7a5c94c9..076e2d37c00 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 b239d211a3f..9c2491697de 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 268b9be2e7a..f6bd49bb802 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 92f92ed9f3e..9cc373a5fe2 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 8de91b1c092..8eca2a13509 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 4667ac45a23..dd43ef447c2 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 3aa1ea0c5b3..61b51a05a16 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 5269a6b71a3..778cefecab1 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 ade2a390a27..df384c53143 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 0d2f85ab500..1dd08adbb01 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 9be4b1f5ce3..320fa111f7e 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 ce88990a70d..21e74516f89 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 37972fe354c..253325c586e 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 874bf121f47..e5feb1b7f7c 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 748728d104e..38379e4c778 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 22ce7e1ec24..12a1735f4ea 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 5bb4de85846..1b45ceda484 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 66587f055f6..4f7ed368211 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 d921f8e0e15..27379b70e1c 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 2364f17a49c..11eb457b7c3 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 7ce46d28adf..0bba7f54788 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 6c7e95c80da..71d13f733bd 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 038fb6e57e1..3611cbef21a 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 55234442bae..f531f8af6ee 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 48e7589a0c0..875568416f5 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 8694610927b..dba39af5948 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 0b025c75347..6bf46671790 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 4d7da21ea17..34f870578fd 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 44e0756d64d..86b74de3421 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 11d56973808..5e9ed61ba82 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 776534d6faf..ba30a91516f 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 9755717ee94..a6cc7019215 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 fdf7df7aa26..c053b4ea4ba 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 785ae4e7d37..1311f13997e 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 7e867049047..a5dc0dca31c 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 c6bb704b412..fbf7a571fe8 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 0e732971619..ed75f31d841 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 2a3f13b156d..268871a04e8 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 5364d7c8879..e5d83c20c12 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 41ac5ffd5c0..6e55aac40ba 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 e82cc546af4..f79e1310345 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 61420f6cec5..446e2612215 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 f5c4cf1d49c..4a3040f0600 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 bf6f5c13730..62867d89089 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 b1bfcbb2f10..92fb8b04b90 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 c19c85947d6..bb08a54903c 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 4061422a74d..b698a20e111 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 75217b22f67..68ab7a639e9 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 a11d77afb23..a064384129b 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 9d886b7b9e6..7de34cf30fb 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 6c503e1bf1f..66960767f16 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 204f2961e7f..3222aa6004b 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 684b6fade76..d5236a109a4 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 dd4aa576ac0..79c5a14d8c8 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 c47f8666898..f829276dac9 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 497ee288aac..65de38af2dd 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 e1f564eff0f..5c0706dbce1 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 03a311e1640..53bae7c1504 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 5833b67f9bb..69fa66558d3 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 f22b3b1c8d4..55734cbc94b 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 38dc1c8437a..67653458f5f 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 cadcc4eeb80..70105ee6be9 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 fb3b50478c8..e74aa93ad8e 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 552872e15fb..1ce10c0cb83 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 a128e1f3427..474bea111b9 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 344fd544ee8..22eb23d4fda 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 24c7175397d..0fc76032283 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 fb0425d8096..44e3a3f92ba 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 317e75b2cb2..20cb9f7b38c 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 a4fd9f062f3..059d294cff6 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 86ee52d87d3..08ac4811bca 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 f26e9c4b45b..dc68a0dd0cf 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 7bcb97f709f..6a43b6037f8 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 33ffd9173e1..5718d51d658 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 8751e5c646c..2f9c5f46a80 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 5cf96d5daa2..b58b7d49ce1 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 6be9e7104b2..ae498ba57db 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 d2614628b10..efff2e64907 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 fcb2b5fb930..ec6abb56efb 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 0febb96aebb..67ef67b4aa2 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 748c7ae1b39..c9cfbca14a7 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 406027ca2cb..2377d2648da 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 193b6d32977..36a0757531b 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 9734a88b935..b7258a4ae1d 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 2e9e6cf8d65..3826afb0492 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 e405b8aed9d..489f64d6804 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 9f4153845b5..d453aeda1c6 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 972973fbadb..96767deb6d2 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 ffc42af4749..a94a3f235df 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 e6d38ea2545..ce507160e05 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 09534f355c9..75ebeb29b80 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 bd3a8358898..bb362d5834a 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 f31c34bd941..92386237883 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 756cab87eb8..0893769045e 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 3d4572abf70..2347d317317 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 d37445f7b98..36329bd8d85 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 8b9b47d9ceb..06022511e5b 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 28ff7d618c1..2007f8aa7cc 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 9ca56588f2c..432da090134 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 b3411ea7c55..b9d1e0d7fe7 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 b6cc588b673..81a7ed25af5 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 1fe4ea1dc35..7ee4caec5e3 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 04445bcc594..56d7df7d0a8 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 be6d5debe4b..6ec0b1fc6e1 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 592b94a4fc2..1d7c003ae5e 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 ef670124c31..50c14aae22b 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 0ff6d1a76ea..2674f5415d9 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 9cae2577481..506dc738d88 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 8b12886863c..2ca49ca12d3 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 1fe191fe955..533191f3b47 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 17bc3678266..1cf79213150 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 417816642ec..f6227136d9d 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 4adc3f35bae..b36cf59dbb3 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 4e20d84ae71..412cf050c16 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 d03db1cb93a..b6c6c7516fa 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 fb680d725b0..1834b2e060c 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 cf304f60bc3..6fdcbdae717 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 9b2c90bb4f2..9339bbde5aa 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 c3487ccaffb..d5b66757fcd 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 21184a637ca..64ceb42731a 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 1043e5bd45b..ad07ee1949c 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 e6e0ba2ebc2..ae7f34b5e1c 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 c0ec0357cc6..1717ed55aec 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 5bebd4385c6..a21a93686ef 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 e2576a0c710..b65350f1b22 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 04dc8c0e563..f6d9c5a012e 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 7ce82122537..33394e17963 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 2334f8b26d8..f57de916dd1 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 a505ee09d28..192ec147e36 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 aeb5352a220..5a4a57c2e25 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 9d3f02eaaf6..bab8031e024 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 148c1a6a166..a757a43b59c 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 7fd3b34fd5d..652fa9200d9 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 9c598401492..ac59eb7925c 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 7b40014c521..844df59576a 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 52ba0239bb5..88ef64d307c 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 bff928c1c96..f1314fc122f 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 9c9df653145..b416ce8808f 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 d77a352cdb1..1b76ee5afc7 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 25784a5620a..d003edb9b0e 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 c65e3cefeeb..6484973106a 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 e377f3482cb..b17aef50986 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 d1adeeee072..6d46a1c884a 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 139e2fb192b..368139b872f 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 de933578613..4ce85e58a61 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 d4cb6b982bb..de81b821321 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 73f5927df40..d4cf56af6b2 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 eddcb3401f6..d2748c2faad 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 e2243eabde0..32b5b8f2657 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 866ea662788..39b9bb232e0 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 6ce7c92ae8e..5604b40d140 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 77dba8beea2..e1e7f62df4e 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 9f67e55ca16..aae8f6d4db0 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 7f5f0f0e7a8..9dd481747ec 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 7cdfd009561..c871b05642b 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 458a23fae29..3d184584361 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 45f261007f8..2e15fab0d3f 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 820c7405328..f0315eb7eef 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 574fe254c90..870a4ef54cc 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 caafc0821e1..bb5c0c2dd10 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 04291cd5bd1..9c6b13f8035 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 eca7143e689..9c71ce86ac4 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 8236c8ab73a..6a4b7648b96 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 6ac4f4f9fc0..b6ec79f7ff4 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 67a24f31e03..94d023f2c3d 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 845e4466c11..b9c6edbb19c 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 b2e0e82bad0..026d5d79fd9 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 300493a52b6..77e8dd90a07 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 cb3a61150ef..a81ba179bfe 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 03715297692..07488f01177 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 cbf89ee3bde..df4c2ef9055 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 0326e5e9da7..b5c3744204a 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 d59e5175972..16c5369cfe5 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 58194f10a8c..16e0969ae40 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 9aab5216e1e..a69899d3ead 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 62e138b8ed2..f754c76341f 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 ae29c03bbbd..232d92ca9df 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 717f9dbb4ae..20e00f6b029 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 2b9273a9675..d3e10692b03 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 7ccf6b57aa5..c08604694ab 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 281f32db7ff..84184fbcca5 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 f56e79062a5..05add1b5300 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 046af08094c..6b2d88b61b8 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 81cfcf6f7de..0161b82ba3b 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 e36a0160cf3..9e74743a7c6 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 68a2dc5d3c3..744bdb03ef5 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 efd89997fec..5d2b1f1a96d 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 17e97b89609..bbb297275f9 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 80ef3a7de89..dcaea08aba3 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 ae44a2b77b5..48eb6ba2d81 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 bf217e893a6..583aea911ae 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 13d7e5732f6..412ef3225ed 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 59586e0c31b..aa30becd337 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 957f85211de..ce1947f5bad 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 c8192808320..c03978aad11 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 6fd2015fa2e..f8e008e7d38 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 5da5a0657c6..4550e7ab4c2 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 bcee44430ac..8e0292e97c2 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 de8201b1517..214bcd287aa 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 e58ea53c2cd..721da24adc5 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 5e76ed7284f..550b9fbff27 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 bced2fe1f63..84197e56c56 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 a318e506003..181cb529fc2 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 0ac548b3ffd..7421ec3b89c 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 3ee3377b004..839e1d6a4db 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 a16fceb74dd..9ab88817661 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 1b620d5f5da..af2f2b4c4f5 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 3a299eda262..b28e37a9c31 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 a4bec45596f..ca9364d66a1 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 ff9e21252a1..dde7739f7ac 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 644898d9edc..91734312d4a 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 b379e98fe13..2e6d73208f7 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 798976283b3..477f8c97615 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 ebfe366346e..15800ad15f6 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 52de25b4571..c8f3296d0db 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 f4d1eaf2e3f..2e26677db5d 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 92cc6103f45..0f4adce4edf 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 b4a961264f2..58934e6a03a 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 b788a0db7e7..a3f9aa24c48 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 03e16f55755..7db497c24d7 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 c9f0029ed80..da10bd86bdf 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 1e2cef4e18b..2e3c4093c7c 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 4c66b7276b6..3a765fe2436 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 2bc56bd3241..8896572d783 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 543dee27ebc..c052693d044 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 94dfeea7a42..a4f9d4b714e 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 4c9f55a839e..8d8ac647500 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 7ce8d2d1c81..ce11c0ffce3 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 0b3f516497d..9fe2de51a6d 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 0deaac38ca3..4ed3d31e907 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 b1e04027907..7584b050a65 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 7b2731c1def..be0ea8922ed 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 fde095d8098..3b046e360f3 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 0f2d4fc5f91..7be5a1ade34 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 543750a7e7d..6435a23e928 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 63abf0297e7..e72f7269fc3 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 bc2c9914846..9df48559cde 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 1ead762c2fe..dfb9c0dd0d4 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 ecb96650e11..9d7ea0ba33d 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 019a55b396c..6bb8e8f4c07 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 02393c27004..3428403e3c0 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 9dae1f68b06..970c000d008 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 7f7cfa8e5b9..a388b74f61a 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 9274b6f5e85..4b8c7326468 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 f0d5af93416..dcbcda09d81 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 085c4f6cbf8..43c63c96e6d 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 36ef2d1623a..8ca30b8cbe0 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 7bad20dffdc..90cb30035d4 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 3fda8550f6c..0ffbd1f5049 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 0519599ac0c..4da679b8892 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 b8e00747171..783c5378481 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 e722f9905ec..f06fffb1ef4 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 40da7630132..4686e9e2617 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 083cab5d017..e0d8fca37f7 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 86dbd5438cd..7d639cb6af4 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 c935274070f..2daa6c145c8 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 39e54f5b35c..3b64d988715 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 96976821a71..fa643a31d8e 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 34b0cf8a580..e4d2069a50e 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 bdb7bb218eb..47f2a2be7e9 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 f0a1f929f45..34e15dc46a2 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 9e0d3c3e278..b763591d3ac 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 9169ea642b9..c37a2adc368 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 2d94911855a..b7dd09bc10c 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 35e42bd6bd5..ac2cffa3e89 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 5b7d8d62c83..099146c7ee7 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 150b96200d0..17bc20940d6 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 8bd0937948b..7fa31e5fb67 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 52638cb618e..1ecaa47248a 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 c18a4406cab..4eba1fbf6b4 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 dea263dca09..19f9b70bb61 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 e61a4188966..cabfd35e23d 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 96ddf8dafe8..988276da748 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 fe5524c5aa7..197bb3e7fb9 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 62ea9f1a400..f4d29fa6a30 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 461f8095076..7de6ac08ca1 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 bf7c36b9d28..f61781d3f86 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 1616d2decbb..c772c72faf0 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 64f1e6ca255..53f7acc4af0 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 54e00ea48ee..4f96f6a7066 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 e2096604344..6d63f391895 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 6526acda153..25c8df1d6b7 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 44211f32e3a..1842fc2197b 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 33ee29db7d7..cd3d5686bc0 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 635d4beb8df..f5512be207f 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 c748fbfcb7c..def5c482d15 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 7b979fe9fc8..104c1bf28bd 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 75bb8df1963..e4afacf3f0a 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 51f267f9496..915e6e42f4c 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 9de7e293238..b8a37820ba0 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 80fc83fd6ce..23d542236b8 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 3f6a36a9686..3517ef2c5ad 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 21ede7129f1..b8a1dd77869 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 a92e2668fe8..dbe0e9ae5f4 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 5f58b06af60..8b8d89f07f3 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 6d34568e15c..c2d08bcc1ab 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 5d3e00740f9..22b52fb4822 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 4bb3940ae0f..29dbeb470dd 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 4cdfd64a697..77d8846f373 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 46bfb3db5d4..c17f10574a9 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 28b60bdcc92..2e809fb66b0 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 fae5ecef843..7f7bebf514a 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 ba4ca4172dc..e2a53bb1e46 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 9a4840acfea..1afb5da1fb4 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 7c80bdb73ce..cae3008ca82 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 5a8c8a421cd..ec08985b191 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 09bcb42b579..80c12fd2144 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 1bc4d1874c8..f57de916dd1 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 efdeaa906ae..f6f273ad580 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 b1a64f95bf9..5b6e1eeafcd 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -1,4 +1,5 @@ from __future__ import unicode_literals + from frappe import _ app_name = "erpnext" @@ -286,6 +287,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" }, @@ -316,6 +318,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" } } diff --git a/erpnext/hotels/doctype/hotel_room/hotel_room.py b/erpnext/hotels/doctype/hotel_room/hotel_room.py index 6a2fc02574f..93a62c98e79 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 e307b5ac37a..4fedbd42a92 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 69da007fc6b..982b3ef911d 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 8a62eea8fa1..1864081842d 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 ebf7f2b7e9f..fe5d79dcc32 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 8eee0f24c5c..5797fef30db 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 b73fd44cd5e..72030c69397 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 6bf01bf941b..4a344df8485 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 9ae9fcfaf83..f594ac709ec 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 fec1c86ad02..ea258ccb75d 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 a8ebe8610ec..4944862284a 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 d4979968e61..e03005cf042 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 3406faea0e6..0cf854722e1 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 1fc1303f393..610cf181c1d 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 3b243e95669..6dba7b7407b 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 d78bca149df..f8f8fe964da 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 a081acc0e08..5cf58b994e1 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 259edb9c06d..f02baebdf6f 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 85b82c50145..b9a8ec63017 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 b9ce9819c5a..88637b9fe93 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 a1a49e536b6..f4db456af38 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 c23881f8007..acb5c1f6924 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 3d061ac8e93..46dd3e12727 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 c2ed4579844..96a4ffa524a 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 f70dc481c80..cf2bd7c2427 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 11d9f3944d5..d9789a028bd 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 d0dfad4be31..d10a0de3bce 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 392b370e6c3..b8d04944edb 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 e3029d980a0..a814ec8d5b2 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 b3c5704fa53..1b15fbd51e1 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 c1a7c8f88a5..002f9bbcac2 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 5dd9403674e..bbe67dfcc8f 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 838b704c5a5..ab443774212 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 7f88fed73a2..1e7429656d2 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 2d3eb000119..8feb6f2f23e 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 9e668aa72fb..a9db74cbf75 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 a847c8e2174..c770dc34090 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 807698ba0a2..7bf9b395308 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 3db81654a65..f24483bf827 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 3b99c57051a..95bdd514ef3 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 76c7a14693b..92cf6aac851 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 38684799763..bed12e31eaa 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 ece331aa718..152b1a9c7c5 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 eefcc0c3a65..d69a7fbf987 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 539a360269f..b4771b3fed0 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 e4f6645ee42..2fb3b95ef43 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 d337959d534..113ea1887fc 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 a3f84aab5f0..0291a992cd9 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 2778862a1c2..33aa2433cee 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 c37d21f454e..2074dc9df51 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 2cd22cd5480..5c428b57fc9 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 4bc4a8fd57b..fa3623745ba 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 33ba138e27c..63ac4184bd9 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 643f3da2ff7..79e8f6140aa 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 e853bee69f2..ce307be60e8 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 2155c027a9b..fc018664b46 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 5feb6de8f2b..8d6dfa2c1d2 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 f46a3d1f625..52c00982443 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 cbb3cc813b4..87d42d34e39 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 2f493e2d4e6..17d5bd27a6e 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 100968bb7aa..f8e5f535cb5 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 16c1a32b9b5..7c751a47a6b 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 496f1653ba0..48c85f48aa2 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 6c0cd4f963b..1ae9b1fa829 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 7ba511f08d5..71c6498dd7c 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 f0a76172b2c..cadf5d64594 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 517ef57be85..4d0e8d9b74a 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 42a9f161359..b097038b5c2 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 df679104185..92d9fa082c9 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 93058cf1083..cd4fcb5aeb4 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 17055829efb..fd9a33b3771 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 ed897ee1032..e2d0002aa62 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 3025877b8e1..b2fe5eb3ad6 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 26a61c407b2..053e840740a 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 816611d018d..d9407a96fa6 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 abc01ef8d4b..4f2d1a07653 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 f0787f52d20..38e3ee316bb 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 2f385a8113e..6076abb3468 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 ca9b2987a6f..e96447b7976 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 ea46aa24a6c..eae600db7b8 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 6f1c3167315..a46b3cdda39 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 ab0eb2f5dce..1d2e8ae18db 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 f4b5b883428..92a328b71ef 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 a3a61834c8c..164d48b8952 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 9e7d3186b88..39af6ff7cc7 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 fb67852d164..9e2549284fb 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 547a95e3bdf..5cb5bb5fd3a 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 caca2961a1a..85d6c2089b8 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 599f3262240..d0ee2fcdea7 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 8afee25d31c..ad279e8ce4c 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 2c11cbbe2c7..c7068dd78d0 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 0508fc462e2..7a263dcac10 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 75f985cec39..970ba26d794 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 3fd3d398bd1..4c91a791038 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 ac05fba624b..6f860c6c599 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 073f02fa258..d93c22f2ab8 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 810796d66cf..068116a77f6 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 c2007747fb3..b1f66098f0d 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 93fc7a27056..ad2f3ade054 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 1a665dc1008..f67fd7c6564 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 39c20a6f716..287dac66f10 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 00aa6bb9bc4..e2a55570fd9 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 0297ffa01a3..2ba4e8c1a46 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 4dc089cb1d2..d785db7872c 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 fe973507019..a5682dc1e95 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 d61c590ac98..9cb65f7e080 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 f34633cf58b..a982002ebb4 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 c4e7b026e3b..5607f41d917 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 5d48990c5ce..019e9f4dfe2 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 a637a540213..101461c54b1 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 1d894308d3a..f0c900e6ef0 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 4103bef1ffe..596e8c719a4 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 23372240c6b..661af7da888 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 6d59c99a16d..9afe0f2c163 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 d53cd91642a..4b239abec38 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 4c98cf1adb1..f539537fdb3 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 8ecc129ccdd..f6c1d1545b1 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 618cf0a0318..5d8d41cb73d 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 a02a34d41fa..481f4e58a79 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 78a95b9b741..fbfe7563aa2 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 f65e6e12074..f46f14d8416 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 05641c7dc26..bbba36af875 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 64bed6637bd..27131932db4 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 a47409363c7..c295bcbc0d9 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 b0b07b0c0b3..69a060a90f9 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 d9d81d2fa8f..862cd374fb4 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 1265afaf457..87f302450db 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 2a9c19c09d8..1b8f49f9585 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 a7fe83bccc8..f3727bee0b0 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 14aeb03a87e..6971e5b4fef 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 ed97978a8ad..c0059431cfc 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 872834230e6..e583e25eae0 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 5f543d285cf..9139584aa5c 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 f318df20f7c..0c29124560b 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 7e650f76917..07a7809891d 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 edb21321fcc..3f3eca17e62 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 6dbe6757a70..573cc6ae21d 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 1e897671770..38d9a718170 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 31ef33ef2ce..a13e2a7c23a 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 815ce5bdb8c..a66975c91ed 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 4757cd3b192..e4886d7ae72 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 7a063d92eac..84423bd2b45 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 fdcd533660b..b1850562e3a 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 2e37c135947..9e6fc6d0f14 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 2832e2fad3b..b9c785a8a9c 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 9cb9fc05cee..9ba079c6e1f 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 45aa4915bc6..30e7572c383 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 0eb69a55a70..dd90e4f9eea 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 8e5a09e01ec..2f648470f73 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 54978a1e83a..4a8f45dbcd1 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 642ab6a8132..681a5e27943 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 9a907c885ac..f64b2334e86 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 d136210a043..7656abfa45e 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 c1da8b47ffa..762745b88f4 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 33a6243e609..6cf96851556 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 6f7725c254e..5fa419da43c 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 86dccfc2225..143d23ab14b 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 7c2c9632d85..a64c63af867 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 cbb34371fc9..5c5ae133a13 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 964a5de83ec..b11459d8155 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 474f3a77ad0..76f886c73eb 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 af7567b5bc7..b0743f535bf 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 d7cb1c88c92..f62b3002194 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 a2f7f5866b7..79142a63429 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 0089804f512..cbb26a1e285 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 c103f08cd97..f889424ee51 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 610b1fa332e..4cf9db26a2d 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 21f180b857d..195c8587b97 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 c8944fcb9e2..773d4e88beb 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 048dddd3ef9..ee8db743f2a 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 6a632011060..5f8f591c97c 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 d0dd14d1e62..ec7edd44c6f 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 62f62a5c249..f66fd276a56 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 ccd950dff3a..b33f389a48b 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 89ae4d535d4..69af5c54c3b 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 07d92fe61d6..84003e2ec28 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 2731da125a8..a6ac7c83aeb 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 f70b61a20a6..3ceafc0cefe 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 60b7676e251..7b4a3ca5aab 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 d5fdda80944..e53373df279 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 aedd190bcb4..b78c69a2a1e 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 bc4f0eafcd5..699030f2196 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 8d242120753..ebaa410fbdd 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 e6c783aca22..57a92b05871 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 8e89d53c8e0..24ae1223440 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 1c6218e9a70..4517cba2335 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 28a651e72d8..ea89df3ba6e 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 6a275b330c0..ed44fa60704 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 e2c30cb3145..9b01d3d9026 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 19afd8dd6e1..a917c8744f7 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 234e958a212..089235507a2 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 4c0c18029d0..a9bf6d6bbde 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 3d4b9b3ea96..6a41a657cea 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 9d5b28616b1..aec319f4077 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 7a3720b66b6..6f3ab5a806f 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 0fc18a80298..b2eed6895ca 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 29ed2a0ff38..17ccc4b4eef 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 7cdc51f8010..9cfc5707cac 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 54e2a18260a..b0d4605910c 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 0b369beb134..467ef16aaee 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 dac5517aab0..95bf8b9c8bc 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 60834d3f4a6..b10333fd2d6 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 9fa85e84c28..9b38d888fcb 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 03b0cf3da21..e0a776c45d0 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 9c765d73716..030ecec74f9 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 ff3429d0e7e..2bc94c65090 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 1df50682683..2ff190426dd 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 628c8972cec..6a01bcffd50 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 ed02120cca3..1b0bfcb08f9 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 04c94e37d5a..73c848b0346 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 18ed7821382..bc93a97481d 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 2334f8b26d8..f57de916dd1 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 2334f8b26d8..f57de916dd1 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 4423d29e402..1baf805f4b9 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 58cdc4b7e1d..a5e7c44c31d 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 d8691b4d025..62ffb7d3445 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 363e31d0960..d0c295df9f1 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 fe77b6abc96..725c5a15713 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 e8d78449bff..b284e6babe6 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 b8953b3eaac..6bca1368d3f 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 0fb3f5eebaa..bcbb066d9f1 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 59f56d7345f..3a268821361 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 bcb0ee4d0da..c6e6432d200 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 303c829eb6c..c598e9e3730 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 26e0f26392e..2ba87efd9b2 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 c0535591860..2be3565a059 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 eb35e4295ce..deec6442093 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 2334f8b26d8..f57de916dd1 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 85ffe29d118..6ac3255c12a 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 42f90006f4d..55304917759 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 be2cd6b3ee9..823c79eb72b 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 92b294064fb..c403f902a2c 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 de43f4e0c04..1f7c8fc3f20 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 440be14c0bf..e08ed68ed8f 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 91c7bf5850a..33d23f6eae4 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 549b9914c34..7922f45ab59 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 b61b88bf078..2e4c2668436 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 6ce2a54b190..0911e8f49bb 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 ff7fbbdf49a..7dbd42297e1 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 711a7829baf..28ccc03b684 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 122d7236051..ec0aebbb8a4 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 d8f3577b2c3..e492920abb3 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 3975adf4431..992d6699747 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 2a659e9fc2e..aefa08970a4 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 f113c10ef71..6d9d4f490d3 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 da56710c679..b17c9a177e0 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 b5b30486de4..93513a83e7e 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 eb626f3eee0..06b801e47c5 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 6c74a9bf5ab..13b73573274 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 73585a51592..c6ca630e599 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 a83b9b59415..495466c382e 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 8858c818362..91cce67852a 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 3eec5660ac1..35f3ba6830f 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 24dbc680461..910b658a93c 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 c390b6c526d..eb6c79ec4fc 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 d2347c00985..41bc78ede48 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 9fc1fda53f4..6ede6a2739f 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 2fe0bd5a24e..ac630868427 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 61f17780481..5863c03f0f4 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 b82f3d25936..fefec43bf41 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 cb8a50a27ba..ca1957fb3aa 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 17de8c1da4d..7a2732e3190 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 f7d845a779c..99d7aafb343 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 4f936dd7c11..0af0de1a53a 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 5b5c205bda0..17eb7c63c7a 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 50ef930dbbe..5458d358f3b 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 95d97fdf9b0..96b2c4aedcf 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 5877ab6f7f0..9e57fdef2fa 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 676df701cc3..4d5e7df4de1 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 9f6700e2749..57337c7e5d2 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 0457ad7abdb..5a41cde4b58 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 2e01dc114d7..adcbc6eae03 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 8c67c0affee..efee701dc04 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 e104c6646b0..fcd0399c6e9 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 6bfd3f42103..e7d360209ca 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 b4aad25ac80..c3f59543c4e 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 e67e4d4738f..ced3bd7e4fb 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 cd379a1bea2..50e0a46ee4f 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 dfa5c7965a0..5c125e1307e 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 2aa27b09687..af9c6696aca 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 9ee0b96dc1d..64be1b2673e 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 7ed838d4e13..5660c421022 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 ba1372f175d..663f2e72beb 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 205230a308f..2e82e239979 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 f2cbbb469f0..ff527029f67 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 a505e72c4d9..c4adef1c7ba 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 65910770881..9d8a425b30c 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 34bbe5a4503..3d6242a4fa1 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 19518554759..a93a381eb3f 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 97289032d70..52e41c5863e 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 c733dd0c92c..38654de6638 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 e69b4fb65e0..27c95a1ea2b 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 1dd47fea24f..9c4a690789d 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 d63c7003870..814ec0cae4b 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 2bea8d1e2f6..57e728d1b13 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 a7f0f5b3bb9..4c59562685d 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 7ba43d6471e..1bc12ff35eb 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 1aedb1e590f..59eb168d4e4 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 d9aa0ca49d0..83260ec1b9f 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 9a0a72fb475..3104ae01177 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 f07f3c8e046..0825f763dcf 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 6e1c7dd81b1..28a84b25062 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 361826e2d0c..f65df011a93 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 8408f10b187..7950dd9d972 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 39ccbddbea2..4317d3adf68 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 220c73e1493..2954238a571 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 e3501eb9cf6..5e46c7ef932 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 b6d423f09f2..891fc53c71e 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 8fbcd4ea1db..ed71c6d6d7b 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 80d1cdfc8f2..88c69ce2a5e 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 4088a7fc540..f627b4e5283 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 bcc5ddab089..5bd8cf568c7 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 56ec4356af4..62833d7cd20 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 8b2a8d36c12..37169f4439a 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 3efbe88adaf..3bf9de2708c 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 c2aa2bd968a..3ec6697b9f4 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 8fa0b27fcb8..db0e08fcd0a 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 373cba293e3..a1338364aa4 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 85d72982ed3..43d14220649 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 3dc66891216..ed27e7ff824 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 149fe3e22b8..18d78b59f53 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 7391f65dec9..fd0ac725914 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 73e369c149e..bc26644067f 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 dc43b69ef24..2675af94a72 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 374f32019bd..2926f911ea1 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 8deb9ec6e0b..284fd9dfc2f 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 8e7e7237263..2b24118fc41 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 2c77c9c23fe..91e57489644 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 52a56af7bce..b4bc3467e46 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 78028039c48..6a942d54335 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 37cf5a49dc9..24029d8f2ce 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 51fbc3633b1..9d25d6fc20f 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 44786f8388d..d1d935c955b 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 f605985ae96..1548bd7b88a 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 ecab5fbae12..905252da604 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 99c7273a640..ea53a986964 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 6850a2eb4ed..be0ed1b96a8 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 ece0db717a2..20fb370d942 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 50a3fe62da5..9ef6ee57523 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 92f26946ab7..b84b2ba1e6d 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 f4b27758e9d..37b64f23d29 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 d3410ca3120..c5749dbc962 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 c0ed6115340..bb431498636 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 24b33d523e4..e282dd3ecba 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 403d46d8d42..f0fc43f1656 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 9aa53b5e3c3..3f2664b16e9 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 3c20d8e88a0..d25c9f21890 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 9b73aca6010..6c6ab77dd8f 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 f4483f75472..6daf950c5ff 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 3ddbe731700..3e4b38aae85 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 215df4c9b5d..719d83db51a 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 2334f8b26d8..f57de916dd1 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 858b5546b02..c122fa9b614 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 8778d9ba557..3c2d2153697 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 d7ebfd6b82b..c085990acc3 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 ed8b93929a1..b8ef68dbb68 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 dc424b7605c..bbf503718f9 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 b4db98c3d7e..0dcad448d79 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 74c794b5dd0..a1c6fd12622 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 9a6c764c609..f014e7f9b57 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 a8939051523..a7aec315ff2 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 42c9d97cb5e..9e0978aee7f 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 81b1791ae81..9a4d0c42db4 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 806d268ffde..e27270ae8b9 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 a12ac7f9d91..54df208346c 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 599a738f6f6..5b2e2620fd7 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 d0766f9abe5..b65af33cec5 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 d4fc76bbfa5..ff400c81ae3 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 30cb8c0acdf..5e1cbf85961 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 3bc6ed74c26..0cbc2088c96 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 19b485db1fb..29a73881a58 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 e9554b1f55c..c5c9569e74e 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 d757a1f9159..04cdc277475 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 a1b25f2d4e2..1638294de12 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 9aa7e13433c..e4e2b4e7d65 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 3da89423d37..4a16077ef47 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 b206f54523e..6b9ade9185c 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 ab6a197ed51..a46163a0128 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 3b6724eb63a..5ce01998bc3 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 e9262ac2a52..4d34725d024 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 e7939136b71..7857ec5ad21 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 b810fd027af..92a62563ab9 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 da16acfaacb..d15809112ab 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 67828d6efc8..f7e7f105d55 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 743db2513af..ff929a59093 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 748a500deec..38ad87f2f67 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 9eb973bfee6..b65dc8e1e37 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 5ad2088fc31..5f52cdaca81 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 c712b99c3b8..1b847d94b99 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 d2c9beed0df..2503ba17d1c 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 50c93516adc..cb365cb6c10 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 3f0ede32e59..a0a54030cc9 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 6f3bee0edd9..346eac56770 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 699868aeb79..6c9232b0ea1 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 dc9f8231944..3422ec2dec3 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 78f65c731a2..2c64d21bba4 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 9776402a43f..116f5d8b52f 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 122db45ea4e..2167b651c34 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 2334f8b26d8..f57de916dd1 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 2334f8b26d8..f57de916dd1 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 186722a8bf0..dab0e9fda85 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.txt b/erpnext/patches.txt index ca7295281ae..a03f90ea5b0 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -301,4 +301,6 @@ 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.v13_0.create_gst_payment_entry_fields +erpnext.patches.v14_0.delete_shopify_doctypes 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 d607b2f745e..5c28597faad 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 f6a14998956..16c7abfc978 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 0315ae72a7d..a3e49577a33 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 daa258e8825..a3c61a5294a 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 f832936b10a..4fc419e302c 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 a9dd3103100..1b8c6fb7ea5 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 c4139312d9f..2a3f1c03bde 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 9d6bda71685..2c55a052173 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 3d1a88e800c..2d5b0c5bd4a 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 f4c18955390..197b3b72676 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 0f1e4966231..f8538df2ef2 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 a613bd88497..74b93efbf80 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 a45f39d4340..9bb91dc14c1 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 0243dfb38ed..08ad855e5e2 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 2a15ad1e2a3..6849b27feee 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 a8841ef3a44..e7cc7d1117c 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 83b2a4cc09e..9df1b586e30 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 d06c6889ff7..23e48747b82 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 0a1a36007e5..5eaf21220bd 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 31feff25b93..4a598371f82 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 e9b5950a133..7799a650405 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 d3ea7a3c1c0..c3cc9b6d309 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 029f75a2258..e45d01cef58 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 4247c788e33..a59291ce420 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 8d187965011..b09f4a7e7f2 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 730eebc01ce..fa83af00655 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 dfcf5ab2886..1d3f8c1204d 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 29d25c9a2d4..994df721c25 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 9c41c0b991f..e361d5a8381 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 8c92b5180d9..e855b3ee5e1 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 9720af41219..1c3d34ee208 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 83617f77fd0..42fdf1358ad 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 ef703d0ea71..accfa5ecb39 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 4cb74c7256c..6caca4730c2 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 7c8a822fa22..b1ed0f598c6 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 97ddd41ddb6..caf74f578de 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 bb0bdf59da1..eab3237878e 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 8eb70167447..5b2c2863f2f 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 923b23048df..707dff75e24 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 0e6036b0740..4ad6ea9999d 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 00ab562c353..61f3856e8eb 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 4e99fac8224..48f73fb2f41 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 06fc6151675..a4f53b078e1 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 9705681b33f..7a8c52f102f 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 9aeb433cff8..5c96367a737 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 84f5518926f..a3d7970aa1f 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 fbf925d955c..c7124af2e45 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 2f620f413ba..995f1affe4e 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 c4b3838c71d..2e53fb832fe 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 d5ca4cc5749..894aaee5f0b 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 56e95e03286..a664baf6dd6 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 46223761095..ff754247fba 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 175d2a189f3..c9699655db3 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 8f8a545c410..7a0a9890252 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 d8ce31f3076..b70dc357aa7 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 d0cabb38359..da4d4bd943a 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 2f90f14db3e..7840d5e0feb 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 4e72917547b..66d1b6b40ab 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 91470b3558a..a408d86b9a7 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 dabaeffc94a..e51874f48a0 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 799e91a3e22..bfcfc9f6f44 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 37a616c7021..c3b18bd9817 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 977d84fefe8..a489378895d 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 42f017e04d2..da259582747 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 2b382037109..f7ecf6e4523 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 6c6ca3c5c28..c89b9b50607 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 b393926b237..1369805349d 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 9407256acfa..e79a5f9e6bc 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 2892674d374..aad3df267c8 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 b7ad28a3fd6..56d0dbf1a1f 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 b706e5c1ffb..db0c3454c74 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 fc3ec74083a..9ea6cd82c9c 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 4c4b14fd4e7..95a8225832c 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 8e8725c8af6..21285637c4e 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 b13239f7d12..4325490c793 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 cb444b2e5dd..6569200a14c 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 e2ef3433d3e..93d9f0e7d89 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 6d847ec3d05..4a4cf302575 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 ec01fbb642e..64db97e92bc 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 49a9a177246..b69767d7ea4 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 6ccfed9617c..bb33f19e9cf 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 354e636c9b0..33007afcd8c 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 8c360ad9353..22dabae7d2e 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 074b904002c..e7218b1ade5 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 855d21dd992..384a1f5022a 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 6fe578dbd95..7f39dfef59d 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 cf1ed3676bf..973da895623 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 a0b1f87d61b..e05c8211c03 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 c90819238c8..30e47cb333c 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 2e42368b152..1d77e5ad3d1 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 29a7b4bd602..6722b7bcef0 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 4c823e13bdf..d10a6d79f29 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 893f7a4909e..c3a422c49e5 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 f171542df16..02fbe62837a 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 93d2576bb6d..35eaca7f400 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 23a8f24d780..65265c4c8e8 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 a6230f42771..9267ebffb27 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 b9ee81df50e..40de8d8aef2 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 163855729df..cacc463d4b4 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 3622df6bc81..36f51bca60d 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 ac7e82d2d0d..e5c4b8c524f 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 fe072d7eb96..aed56d621b8 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 ebc28320aea..cfc2472e9e2 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 a670adebfd6..3e9d429ed18 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 c9293b9b63c..2662632b52b 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 6013eaa29c6..55f5cd52a35 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 5c3fa5991c9..677a564af0d 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 d2bcb12070c..dafea280c28 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 97badf355d9..72f4df5cabc 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 46794bebe70..a19e9a96dba 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 be884f94d15..fba41184159 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 4fcffb702a4..f6a1984e17a 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 6b1b601db19..6fa1c04dad3 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 904bfe4bf19..bf71c4810ff 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 9a08ad45213..27357a8ef15 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 7489ea30a09..7e02fff4d82 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 2efa854fba9..5c79ce2a81b 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 978b1c92b96..629cd5bda66 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 c71b91c9256..337302a3c18 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 e08e3769153..d5bf38d204d 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 9d8626b8527..e6fb1f31e16 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 b9ad622b0ea..4bf3840b783 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 20b096331ed..ca2427bc3dd 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 f88a22f6c9d..ff332f771d3 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 c52f380d8c2..5150430dbb9 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 85202bff4d6..b76e34abe13 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 b5d7e3dcb9e..849e96e9665 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 4415cfeaba9..d3045a1a576 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 13110dfe03f..e363c26a86f 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 a290e31cf24..1e4333aa466 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 038bd6d21ae..85112f2a540 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 a27c7b24a8c..49b3bff0f82 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 cc093953bf4..094e2a3134b 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 8fdc73b8ff1..a991b3c15df 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 a5c8f7524a7..fada5f08fb0 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 84645a38639..f8792952d8b 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 e2235105f94..01cab14db9d 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 66696bee541..6d7d0993460 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 6c11cb415f9..9c851ddcee1 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 babaebeaefc..248d33504e1 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 e54c7f315c6..73c6ce8220e 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 52c9a2d7b3c..cad947fadcd 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 87643a23545..bb172769ebb 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 88c3e2e3024..f8b510e3c37 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 3b5f5ef3407..9a05e707a65 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 dbd7e5a8181..1b4955a75be 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 1cc37caba42..21ee23b2072 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 4a6e2288564..72d5521f44d 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 17fdcd9395a..b99501d942d 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 3474a34af4b..823dd226372 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 b8efb210a03..61c4c601b55 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 0d582da4b5c..d41aae2a876 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 f4516649610..024cb2b7630 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 8a871718133..283407567f2 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 34848725cec..60ad3251146 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 c45f6221f93..208076b1496 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 9e5f599d2c8..520b5d04b4b 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 1a54216b885..bee89199316 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 d0b04433979..bfad3ddcba7 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 f69dcc95794..3e7c37f0d19 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 e15894df890..3ad983d686f 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 6ebaf48e0e8..09e2319eb80 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 09f07074299..e4c10089235 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 3a8cd43e302..4ff39257688 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 985613a9739..6f102e9b42b 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 8dbfa1866d3..25cf6b97e3b 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 24914fd13bc..7c7477a6739 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 01a4ae04add..69bfaaa2cb1 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 73ff1cad5b6..96aa5477f01 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,14 +1,18 @@ # 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 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'}) 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() diff --git a/erpnext/patches/v13_0/add_doctype_to_sla.py b/erpnext/patches/v13_0/add_doctype_to_sla.py index cdc5a1eabb5..7252b3e8a87 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 0d8109c41ad..bd18b9bd173 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 a7b66f0d2bb..f029f75accd 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 1c60b18e5b2..15b7c71dc2c 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 d05b258db0c..699c480c872 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 7de9fa1e23e..07d1cee64f8 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 1e4f383dda6..5a0320a7eb2 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 7a52dc88d21..aac87ba36fa 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 341955aa35f..66ac62fdc4c 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_gst_payment_entry_fields.py b/erpnext/patches/v13_0/create_gst_payment_entry_fields.py new file mode 100644 index 00000000000..334c9d2b816 --- /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 + +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 = { + '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='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', + 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/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 08d4876c0d1..543faeb74ac 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 9a354537f7d..b1b5c24adc8 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 6ad3402ba02..3bfa78fa282 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 125be9b842d..eee9f1189e5 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 77a23cfc3f8..089bbe3b48f 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 57620d3e986..3cb7e120d67 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 905a42c0c4c..c9a366655ce 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 50a4a0efcbe..1ea22d63561 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 8d6340d44ef..87565f0fe42 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 76b8041cd94..a7aee521983 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 f20c73ae102..e91c1db4dd4 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 41ab945eb12..86ad1885990 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 2549a1e91ee..f2976544a40 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 c4ad1b7ff4f..e4cb9ae7cdc 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 d2228c3bf31..43c6c4941ea 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 73361f00262..746e4080b69 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 24d9196d29f..9116f5835a1 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 4d7c85ce2d1..064e8d71a04 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 a901064b889..85d5109248d 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 426292067ab..e73fa7b9ecd 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 15aeb76e53f..bb539a7962c 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 0de3728f5c6..f2022b28b8b 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 53da7006b98..bbe3eb5815b 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 491dc82f784..2a04211a407 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 4885c0b7afa..4aeafeabe74 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 4ef04ad9b1b..1d245db4d59 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 f60567b6b21..23a782a1e82 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 014f026060c..813fbd2d5c9 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 d8bcd7f0775..989f1a0a281 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 bc1fc98e4da..103c79177f1 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 1caa17f45ee..29343b71bf7 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 3f886f1d159..4a88442bcdc 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 a5b93f63071..e9396c2df29 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 13ec41ec55e..c744f35b72f 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 4fdd82f97b3..e26285e508d 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 7f75946af9f..da889e61bab 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 7968e74f50f..8c7f5088b74 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 3db183fb2ab..4e3d8f5e6a5 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 f6104d1579f..1594e52e4e5 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 c8c160fae71..a6a3ff3be4b 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 833c355d5f8..7a2a2539670 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 01fd6a158e9..01e75a6009b 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 83581dd4144..80622d46096 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 1830bab02ba..d89e0521d8d 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 6f199c87b6c..245d1a96250 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 7b93ce35768..5fcd6a3a625 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 50f233deef4..dd87a5302d2 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 dc9ed18eade..dc973a9d451 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 bcc09527a29..54059318c75 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 ef70b55d94c..de578612f7d 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 733b3a960cf..a0405e50396 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 0d03c42e980..6223500e6b6 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 4056f84069c..769658e2b8a 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 8cf09aa6925..b01a87722ef 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 4816b40250e..c9e920b7cb5 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 262e38dd056..71fe9ed6805 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 b41b74205c7..f0d0a5a7ef5 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 ccdc334f306..84075024a47 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 d9aa03f0fd6..f4a48107c45 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 ef4d9763837..444ec9ecb98 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 a5769d2957c..efb3a5961f9 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 c425599e26b..f2d7d1d1e3f 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 c156ba95772..bcfbf8b24cb 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 0f521cb57a8..bcdf72ec69c 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 d25e9c805b7..e0ea78fa4d9 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 d9c3e453d47..e21fe578212 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 341b0e8e2e2..436d2e6a6da 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 a36c84ea6e2..d993d54191f 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 7d344f9cd7e..c760a6a52f1 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 03f9929c5c6..41a38fe29c1 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 6e5775b3ac2..a3a8149be32 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/v14_0/delete_shopify_doctypes.py b/erpnext/patches/v14_0/delete_shopify_doctypes.py new file mode 100644 index 00000000000..96bee3979d4 --- /dev/null +++ b/erpnext/patches/v14_0/delete_shopify_doctypes.py @@ -0,0 +1,6 @@ +import frappe + + +def execute(): + frappe.delete_doc("DocType", "Shopify Settings", ignore_missing=True) + frappe.delete_doc("DocType", "Shopify Log", ignore_missing=True) diff --git a/erpnext/patches/v4_2/repost_reserved_qty.py b/erpnext/patches/v4_2/repost_reserved_qty.py index 36117aad8cc..4fa3b468719 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 8a31c73e1e4..9330a443bf3 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 2045358ddb2..82b5b1cc2d2 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 55f5f8201fb..ecfdc41f9b8 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 c214990693c..140b22656b1 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 eb24a90f013..65ec14e8826 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 381f399e9fa..ed10f2bc67a 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 2a9c56179e7..2ad4afef251 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 a1cde08a74c..9983f012875 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 34e1a8fbc1d..ea05e0e0e05 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 65405feaf19..ddcbaa20619 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 c6713f3aa46..7898e04cf44 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 aff73e5c816..f3f2229fb2e 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 6b918ba76d1..74d073668d7 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 f7597ad6057..3c95fa80ec0 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 ab63c0de623..73a0321c8fe 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 2eeca7a23de..5b735b37a16 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 4f705db22e5..f88f551a2ee 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 669fb71f46e..e6bc3abf127 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 e11d60a4649..099ab0dcde0 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 311f3527f6e..b7154a4da15 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 bff747f90de..2923e57333d 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 8131ae0fa85..f35fd3caf90 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 cb9ed5f971c..aafc0a13211 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 0244ae66468..e0a11aec162 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 d3f24c93780..5948ef208bf 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 5d705567a2d..0086086bde6 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 8217bc3ae42..cc28dc4972f 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 23c99b1cbd5..1599fc2bdef 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 8cb47283a59..1403e9b9389 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 23e4340b04f..d76b26d05f6 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 29a6ebe1a6a..95d2929fffa 100644 --- a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py +++ b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule.py @@ -3,16 +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.model.document import Document + 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.")) diff --git a/erpnext/payroll/doctype/gratuity_rule/gratuity_rule_dashboard.py b/erpnext/payroll/doctype/gratuity_rule/gratuity_rule_dashboard.py index 0f27315cfbf..60dcfa45297 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 1f5dc4e571e..c81d7b7b9e6 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 fa468e77beb..dcd7e468655 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 81e364778ca..f778fd90e13 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 deaaf650a96..d76299049de 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 b4098ecbf3e..3314677485f 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 aeb11fd7e27..074d2232245 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 13cc423fc2c..f1557c78a37 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 0346a7cc594..16e44d08684 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 b80b32061f3..dd0e1270800 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 66dec075d8f..0de8d63df73 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 e33299559cc..4105d8ee928 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 d06dc739a6e..e93c0e524de 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 a3ee269d8e6..fa6835da53b 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 459b7eacb43..b85d5545d04 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 314866e128e..30a6a332b7c 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 055bea74108..7e731e7fce1 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 eef4f1444e1..a380d9fb44a 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 7c926314a21..761d4436f37 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 4f7db0c71ca..939fa4aade1 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 0b187543d48..50d1958caec 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 37a0b60052c..8c48345d8fd 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 636ec0b5a66..480daa25954 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 7a92bf18f76..fc8282b82ba 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 7adb12e83a4..79c4c6e5715 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 6dfb3a57d5d..ef401b2d1a7 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 0159e3530fb..11d9a944096 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 3957d834d33..ff4a55e29cf 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 5fb3ce2a98e..385cf36b7f5 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 a9833bf7338..fbb894c43ed 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 49c52557dbc..c0827c445db 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 2334f8b26d8..f57de916dd1 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 05a5366a5c1..d55317e71e4 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 8a79416edbf..296a7c233f3 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 a0dab63654e..57ea1b3c283 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 d09745c37bb..bc8fd9d40b2 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 a1b1a8c56b5..2a9dad66e25 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 54ea7c62df4..7eeaf4b80a0 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 e646775ab32..bc8a8282472 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 936e07d34ea..8e8f77605e6 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 1ed703050b8..081786126e7 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 5bb9682bc56..6fb7d0a6f07 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 bd17279f99a..b71045207cc 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 9a708924ae0..d4f09b9c8c2 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 d04a0098829..5495cc9d961 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 b8b667a6135..f9ba733b85d 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 2aa8a6f98d4..335d4575b61 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 fc294ce58bb..636ae8d4917 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 ec7c83aa397..5db74f2c40d 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 d60b1a2b05e..cf623c8d429 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 d6d44694203..bae8f353b35 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 99226ea581c..e210324862b 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 5f35f299b36..c031f3cedab 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 50e18ef4de9..4c94fe45650 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 dcb01018de0..02619af7abd 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 90a96ac1b7c..3f62cef7056 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 1e4b2b0b865..2a8870b2305 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 39cf016d61f..64fbbf5ebab 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 70139c6da84..ebc132626ca 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 2426fd2af89..493ce5b07cb 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 67f74f54f06..8eeaa8d6bd8 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 d546fd09a30..f71984f3a41 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 57bc4f1835e..e0861419886 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 36137ca0186..1089483cb3f 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 ee23390f53f..a79020f14ff 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 2e1ec746ed6..147e591f8fd 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 2edd2f85a31..15966039799 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 3198f3b0893..7abe9459f24 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 9dcac14f9ad..88bb247a3c6 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 d671da73b77..326624686da 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 5976e016fa9..6b9062297ed 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 0fad5e88074..41a9c168dfa 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 723a0fc339b..ddb67ee30cb 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 9c0b5325c64..5aacf8a2395 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 1db6e27ed74..7690c3775af 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 2b0c3abdd77..6b32c66dfe5 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 5f569d6bcd4..e144e82a7d5 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 088d98c4d5f..3ef1d92dcdb 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 7da94b77772..4fd233ebb21 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 a22ed7b8338..dec2824fcc0 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 3dcae5b1b53..3a33b4b1a7e 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 cdabe6487ea..301639015c3 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 78291b2d781..88c77c88b43 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 17c92c234d5..30bd9f0182f 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 4d22f462463..d59a2ac52a6 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 969fc556e8d..f456c84a588 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 17c92c234d5..30bd9f0182f 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 0a52f7bf904..13e02c89355 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 180926fe258..8cf169b38f4 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 98dd617f9b3..dbb4e848578 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 c13d7cf3344..5d2b7dbc5be 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 c39f908e43e..69264704b4b 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 e5a94048be1..aed794261ea 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 d4e8cc7a716..a4613fdaf6b 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 54f8b58cfb0..759b117f9b0 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 02401ba689d..646a0dfc2c8 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 98d665f3910..33229d4b451 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 de8873feb0c..b456fb7e9a0 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 d3e96cf2d94..9189c282973 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 5a8bd5ce30c..7a87c362446 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 d652e8a57bb..9a21b263603 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 0c6dfc07802..c6a520a3c59 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 afed14b6ad0..1de58aae3ed 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 3f3348fd7fa..44a6b014a0c 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 3e616b75ceb..2888401782a 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 0e135b50212..84240d227ea 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 f4bd357f1b2..c9c2c6e564c 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 9e453ebfc2e..0ac0484399e 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 6bf4c179c6b..e57256d2896 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 5d77975d74c..5e4d9ff37a7 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 4750cc1f7af..8744d275ed8 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 47b2c95bd9e..e3d061b36ca 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 117db0012ba..56293c98e09 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 4fa7734bc68..b064011bf6c 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 0d9a286052d..e281294643d 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 34cc890e219..b766623510a 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 161ecd01ef1..2f28ddac45e 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 3092a1e9979..23b11e87e6a 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 faa59129a5a..45a689efa8b 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 8a05ea26f45..2880d6253f9 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 cff5bba58fd..0d2d9eb4b47 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 0271329f4d2..73412f755d7 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 4791dc26753..0704de8387f 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 ed54f207139..1a90e6d711c 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 af3d92e59a7..7b27fb6c5bc 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 d118dee6177..836d3a88c33 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 0ee5b097b54..d8ce3197395 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 065f80d610a..115f9b88165 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 00300539e9a..76cb621f541 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 d1caf77fc2c..4be4c3a22f9 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 656c3296e58..d8553f1d913 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 7e950206fcc..54443c0206a 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 e476361eb20..b6be9e0920b 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 53a5624e63e..2668f2391af 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 d74154bfe78..4c3e8a78e9d 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 1c36652ad6e..0f19f25f88d 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 41a0f1193bc..64b2ec5646c 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 41b42036687..74e9ced3941 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 bdad798d980..76d8912b004 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 80d6b3a5f1f..a1b27d7e3d3 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 b88439f9b85..cec30e61cef 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 20dc604510b..1bf37dd499d 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 424615dbbc0..63c5a1f583b 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 c1fa6e492d1..a68cecc0d63 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 c5c2bc41f4d..9d1fabbada7 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 faeb36fc693..5c4d30881d1 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/setup.py b/erpnext/regional/india/setup.py index 4db5551cb30..963c4075cd2 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', @@ -464,6 +484,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/test_utils.py b/erpnext/regional/india/test_utils.py index a16f56c704a..2c77c8d8aa8 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 ac31f776192..bf06d4a497d 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}$") @@ -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.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) + @frappe.whitelist() def get_regional_round_off_accounts(company, account_list): country = frappe.get_cached_value('Company', company, 'country') diff --git a/erpnext/regional/italy/utils.py b/erpnext/regional/italy/utils.py index 56f609eb234..d6c7f1dbfa9 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 9abdb3b3e76..c46c0df22c7 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 59b878e94a5..b53889366f1 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 376ba3ee471..f4ce7a77ad9 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 09d5f791679..c78084f7dff 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 697058def52..9567916cd2a 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 b5948f9952d..092f72adf15 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 e13f509f475..44f623bfae9 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 12e9676b4ba..e9724441b17 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 075bd483cf0..6975af35854 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.js b/erpnext/regional/report/gstr_1/gstr_1.js index 444f5dbb8ca..ef2bdb67980 100644 --- a/erpnext/regional/report/gstr_1/gstr_1.js +++ b/erpnext/regional/report/gstr_1/gstr_1.js @@ -51,7 +51,9 @@ 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": "EXPORT", "label": __("Export Invoice - 6A") } + { "value": "CDNR-UNREG", "label": __("Credit/Debit Notes (Unregistered) - 9B") }, + { "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 9d4f9206f50..e3e09ef8e56 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() @@ -50,26 +54,45 @@ 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") == "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(): 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") 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 = {} @@ -106,7 +129,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) @@ -167,6 +190,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 = "" @@ -198,6 +231,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 +542,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 = [ { @@ -578,6 +695,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() @@ -616,12 +752,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": + 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, @@ -701,6 +854,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: @@ -780,6 +967,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 +995,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"], @@ -832,7 +1051,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] diff --git a/erpnext/regional/report/gstr_2/gstr_2.py b/erpnext/regional/report/gstr_2/gstr_2.py index 616c2b853df..5e44955ce30 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 1adddbdae57..7a938c7e0f2 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 f67d622fdf8..b1a5d109621 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 54808e59e1a..5300b928925 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 82423f005cc..ae5d6b90b4e 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 daa69768c57..e19aeaa0eff 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 b0614238ba0..f4c049d1623 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 dea17a66fda..77beff36ecd 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 88f6b923e66..3637bcaf439 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 bd12d661f00..8b1905051c5 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 7d5fd6ecf86..66a96514fc1 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 513570ed6df..19e9a3546f8 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 0bb7b692c75..486afc3a11e 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 adce5c73352..5b78bb2f45a 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 3ba7f5785eb..574cd1f9e4a 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 952c46769b7..632f4850d8a 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 29f95fd8b1f..00cbf358d6f 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 cc86bb3165e..5d095f49a8e 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 357deaac007..1ed5921f350 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 e0c051b1ad7..ee8928b13a1 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 f96de44c3d6..f6d2a7c8cc4 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 71681b2f183..885da724aa0 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 d5ea9d53981..0b5d6352711 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 ffdb6f742a3..44059aee607 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 1164f40237a..4be8139d575 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 3d3dffa8403..fd1db8fd526 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 60a4a9a5d25..53bcc1b102e 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 7a30d6524a0..6d413ece2e7 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 ebc6366155e..d6cf79ba89b 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 ffcbb2daf09..128a9415c87 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 553d070da0f..abfda9cd6b8 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 7e1205231bb..862c2a1bb51 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 ae3482f402b..4c73916f852 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 7d1d372b111..13bd2a30923 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 8721bfad866..5f71a27f369 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 6cd03dd2791..99c43bfc87e 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 d1bb788937b..9586cb10b59 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 854260059c4..a44089a9ce4 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 7384871ed44..ea472497299 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 47ebfe90d31..93676094218 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 2a71c27009f..ee3c707b5b8 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 054791e9e4f..bbfe7c06d87 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 62afef3e170..772aa6c8ae5 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 68d289f0189..bdabef2fdbe 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 fb8f8b0417a..895b0ecf00a 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 28bea254d68..9b542c0eead 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.json b/erpnext/selling/doctype/selling_settings/selling_settings.json index 531cf653e79..59fcb982819 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.json +++ b/erpnext/selling/doctype/selling_settings/selling_settings.json @@ -18,9 +18,10 @@ "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", @@ -29,7 +30,6 @@ "dn_required", "sales_update_frequency", "column_break_5", - "role_to_override_stop_action", "allow_multiple_items", "allow_against_multiple_purchase_orders", "hide_tax_id" @@ -147,15 +147,14 @@ { "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", + "label": "Action if Same Rate is Not Maintained Throughout Sales Cycle", "mandatory_depends_on": "maintain_same_sales_rate", "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", @@ -205,7 +204,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2021-08-24 22:08:34.470897", + "modified": "2021-09-01 22:55:33.803624", "modified_by": "Administrator", "module": "Selling", "name": "Selling Settings", @@ -224,4 +223,4 @@ "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.py b/erpnext/selling/doctype/selling_settings/selling_settings.py index b54559ad288..5bed43e4609 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 961a54de0a8..572a110cc3e 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 87846a84d30..45aee4ea6f0 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 8c652c9d7c6..b4338c920a9 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 78aaa49a668..043a3e7f0fa 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 f295333322c..fea19f9f16d 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 5523bad5715..c7040bef708 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 f15f63d7bb7..a29b5c8a627 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 6fb7666c2ce..ed2fbfd595c 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 eb9273a5626..535d551cfab 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 e7aff36e828..c79efe24b78 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 1700fc7bdd5..539631240e1 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 e89c45182fd..f241a3e13d9 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 f2518f09f8e..95e332ac537 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 968e2ff26f7..d2ee9a8b742 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 d036a1cb095..56bcb3180a3 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 4d81a1e4dda..a1800993f4f 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 00dcd69c6e6..805c3d804fa 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 de7d3f2f778..89daf447781 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 2c49d51a920..a84dec032e5 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 89cfa16abe0..d4f49c71464 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 87ed5a8ea21..de21c4ad02d 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 f07293d8ec2..39ec072f6ba 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 9917d72af86..13245b789ef 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 ea9bbab0c72..83a1c2ce75c 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 41c7f765175..9dc2923b0a2 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 b1d89cc3fb8..b340124a040 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 e8835001707..c334381b430 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 e440f33020d..955ef5e9396 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 8dbccc497b7..c41d000215b 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 827839f8b75..be072fc47f3 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 fec5c7ca95d..332d7f438a7 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 eb8e6ebe78c..ab0f4201219 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 332f1039921..8a0f6649078 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 a8d1cf8ff2d..4cfb018c865 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 25ed86ef1dd..16873c9fc92 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 6dee2ad92a0..6257d560ec8 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 2d760284e5a..3afea098a0f 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 1b7fd4fd5c8..abc4689a20e 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 6480f60f59c..0b86e293778 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 0eb7e7bf46c..2b007e9efd5 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 c06669b16b4..6e72810c561 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 ec90b376cdc..e04b79b8f39 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 217829f1269..4e9a8ccad87 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 5451ee1daff..c77fe824ac9 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 afe693afd2f..b3d0ce325b8 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 968c51c345b..5c8d695b6e5 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 a0ba1efb5b4..66d3b9ee480 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 0495af7b414..70a7c08c111 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 c46b6cc9bdb..ddf3e662e0c 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 745b13a5bed..a816f391c62 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 c5d57479612..005cfec769a 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 96e60936a4b..8424c7fe938 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 079fe2fe3b7..e5f2908eb46 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 3d5cd2d6f9e..cf25638608b 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 b2be2e375e4..06f801a654e 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 42c5a5a54fb..9131cc334a7 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 f6b30b649b5..ab8d61f1ebe 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 7bb8d02670e..434f24ea925 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 675f9ca560b..6c741a8fb44 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 4548a4e19b5..6ece2390405 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 19c2e5b9543..c7cad6bb998 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 662008ec8db..61c1ba46d35 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 8313cb45084..497aaad74f8 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 9d84f9097b5..0ca35257926 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 0e3d23d6bd3..b3a636635ec 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 633be45d20b..89cd814f2d1 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 5b00ccbdbb3..8c9059f61ef 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 6fea78f46ae..abfa9214d64 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 7eefe77495c..f61796b9bdf 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 efe00c5a30b..a3aa866fff3 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 933a8c3bed8..aa0f79b4c86 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 8a491554801..efb038faccc 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 2176cb10deb..a113d504538 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 330d30358d9..e222c134942 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 404b84b1134..f0e97b34e25 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 04596efbca6..33795d6b5b2 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 3566c537c6c..45342e9fee9 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 e416b509b98..2f720134484 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 239733a48de..ad4d90003d2 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 = """