diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py index cae202847b..eccbb47205 100644 --- a/erpnext/accounts/doctype/account/account.py +++ b/erpnext/accounts/doctype/account/account.py @@ -206,7 +206,7 @@ class DocType: def before_rename(self, old, new, merge=False): # Add company abbr if not provided - from setup.doctype.company.company import get_name_with_abbr + from erpnext.setup.doctype.company.company import get_name_with_abbr new_account = get_name_with_abbr(new, self.doc.company) # Validate properties before merging diff --git a/erpnext/accounts/doctype/c_form/c_form.py b/erpnext/accounts/doctype/c_form/c_form.py index 81d5a150a3..80a9f44b3c 100644 --- a/erpnext/accounts/doctype/c_form/c_form.py +++ b/erpnext/accounts/doctype/c_form/c_form.py @@ -76,7 +76,7 @@ class DocType: } def get_invoice_nos(doctype, txt, searchfield, start, page_len, filters): - from utilities import build_filter_conditions + from erpnext.utilities import build_filter_conditions conditions, filter_values = build_filter_conditions(filters) return webnotes.conn.sql("""select name from `tabSales Invoice` where docstatus = 1 diff --git a/erpnext/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py index 692d47e5ae..0d38cc820c 100644 --- a/erpnext/accounts/doctype/cost_center/cost_center.py +++ b/erpnext/accounts/doctype/cost_center/cost_center.py @@ -75,7 +75,7 @@ class DocType(DocTypeNestedSet): def before_rename(self, olddn, newdn, merge=False): # Add company abbr if not provided - from setup.doctype.company.company import get_name_with_abbr + from erpnext.setup.doctype.company.company import get_name_with_abbr new_cost_center = get_name_with_abbr(newdn, self.doc.company) # Validate properties before merging diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py index 3a0b28c78f..358261fb9d 100644 --- a/erpnext/accounts/doctype/gl_entry/gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py @@ -51,7 +51,7 @@ class DocType: self.doc.cost_center = None def validate_posting_date(self): - from accounts.utils import validate_fiscal_year + from erpnext.accounts.utils import validate_fiscal_year validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, "Posting Date") def check_pl_account(self): diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js index a5cd06d971..f1b695956f 100644 --- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js +++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js @@ -165,7 +165,7 @@ cur_frm.cscript.account = function(doc,dt,dn) { var d = locals[dt][dn]; if(d.account) { return wn.call({ - method: "accounts.utils.get_balance_on", + method: "erpnext.accounts.utils.get_balance_on", args: {account: d.account, date: doc.posting_date}, callback: function(r) { d.balance = r.message; @@ -208,7 +208,7 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) { if(in_list(["Bank Voucher", "Cash Voucher"], doc.voucher_type)) { return wn.call({ type: "GET", - method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account", + method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account", args: { "voucher_type": doc.voucher_type, "company": doc.company @@ -222,7 +222,7 @@ cur_frm.cscript.voucher_type = function(doc, cdt, cdn) { } else if(doc.voucher_type=="Opening Entry") { return wn.call({ type:"GET", - method: "accounts.doctype.journal_voucher.journal_voucher.get_opening_accounts", + method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_opening_accounts", args: { "company": doc.company }, diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py index 00cbc03651..32f8139cab 100644 --- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py +++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py @@ -8,9 +8,9 @@ from webnotes.utils import cint, cstr, flt, fmt_money, formatdate, getdate from webnotes.model.doc import addchild from webnotes.model.bean import getlist from webnotes import msgprint, _ -from setup.utils import get_company_currency +from erpnext.setup.utils import get_company_currency -from controllers.accounts_controller import AccountsController +from erpnext.controllers.accounts_controller import AccountsController class DocType(AccountsController): def __init__(self,d,dl): @@ -47,7 +47,7 @@ class DocType(AccountsController): self.check_credit_limit() def on_cancel(self): - from accounts.utils import remove_against_link_from_jv + from erpnext.accounts.utils import remove_against_link_from_jv remove_against_link_from_jv(self.doc.doctype, self.doc.name, "against_jv") self.make_gl_entries(1) @@ -240,7 +240,7 @@ class DocType(AccountsController): Purchase Invoice")) def make_gl_entries(self, cancel=0, adv_adj=0): - from accounts.general_ledger import make_gl_entries + from erpnext.accounts.general_ledger import make_gl_entries gl_map = [] for d in self.doclist.get({"parentfield": "entries"}): if d.debit or d.credit: @@ -334,7 +334,7 @@ class DocType(AccountsController): @webnotes.whitelist() def get_default_bank_cash_account(company, voucher_type): - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on account = webnotes.conn.get_value("Company", company, voucher_type=="Bank Voucher" and "default_bank_account" or "default_cash_account") if account: @@ -345,7 +345,7 @@ def get_default_bank_cash_account(company, voucher_type): @webnotes.whitelist() def get_payment_entry_from_sales_invoice(sales_invoice): - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on si = webnotes.bean("Sales Invoice", sales_invoice) jv = get_payment_entry(si.doc) jv.doc.remark = 'Payment received against Sales Invoice %(name)s. %(remarks)s' % si.doc.fields @@ -363,7 +363,7 @@ def get_payment_entry_from_sales_invoice(sales_invoice): @webnotes.whitelist() def get_payment_entry_from_purchase_invoice(purchase_invoice): - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on pi = webnotes.bean("Purchase Invoice", purchase_invoice) jv = get_payment_entry(pi.doc) jv.doc.remark = 'Payment against Purchase Invoice %(name)s. %(remarks)s' % pi.doc.fields @@ -407,7 +407,7 @@ def get_payment_entry(doc): @webnotes.whitelist() def get_opening_accounts(company): """get all balance sheet accounts for opening entry""" - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on accounts = webnotes.conn.sql_list("""select name from tabAccount where group_or_ledger='Ledger' and is_pl_account='No' and company=%s""", company) diff --git a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py index 70fb4e220e..587445f2ef 100644 --- a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py +++ b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py @@ -34,14 +34,14 @@ class TestJournalVoucher(unittest.TestCase): where against_jv=%s""", jv_invoice.doc.name)) def test_jv_against_stock_account(self): - from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory + from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory set_perpetual_inventory() jv = webnotes.bean(copy=test_records[0]) jv.doclist[1].account = "_Test Warehouse - _TC" jv.insert() - from accounts.general_ledger import StockAccountInvalidTransaction + from erpnext.accounts.general_ledger import StockAccountInvalidTransaction self.assertRaises(StockAccountInvalidTransaction, jv.submit) set_perpetual_inventory(0) @@ -61,7 +61,7 @@ class TestJournalVoucher(unittest.TestCase): {"voucher_type": "Journal Voucher", "voucher_no": jv.doc.name})) def test_monthly_budget_crossed_stop(self): - from accounts.utils import BudgetError + from erpnext.accounts.utils import BudgetError webnotes.conn.set_value("Company", "_Test Company", "monthly_bgt_flag", "Stop") self.clear_account_balance() @@ -77,7 +77,7 @@ class TestJournalVoucher(unittest.TestCase): webnotes.conn.set_value("Company", "_Test Company", "monthly_bgt_flag", "Ignore") def test_yearly_budget_crossed_stop(self): - from accounts.utils import BudgetError + from erpnext.accounts.utils import BudgetError self.clear_account_balance() self.test_monthly_budget_crossed_ignore() @@ -96,7 +96,7 @@ class TestJournalVoucher(unittest.TestCase): webnotes.conn.set_value("Company", "_Test Company", "yearly_bgt_flag", "Ignore") def test_monthly_budget_on_cancellation(self): - from accounts.utils import BudgetError + from erpnext.accounts.utils import BudgetError webnotes.conn.set_value("Company", "_Test Company", "monthly_bgt_flag", "Stop") self.clear_account_balance() diff --git a/erpnext/accounts/doctype/mis_control/mis_control.py b/erpnext/accounts/doctype/mis_control/mis_control.py index 3a0483f056..d2c09613a9 100644 --- a/erpnext/accounts/doctype/mis_control/mis_control.py +++ b/erpnext/accounts/doctype/mis_control/mis_control.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import flt, get_first_day, get_last_day, has_common import webnotes.defaults -from accounts.utils import get_balance_on +from erpnext.accounts.utils import get_balance_on class DocType: def __init__(self, doc, doclist): @@ -29,7 +29,7 @@ class DocType: ret['period'] = ['Annual','Half Yearly','Quarterly','Monthly'] - from accounts.page.accounts_browser.accounts_browser import get_companies + from erpnext.accounts.page.accounts_browser.accounts_browser import get_companies ret['company'] = get_companies() #--- to get fiscal year and start_date of that fiscal year ----- diff --git a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py index 6a31191969..efd2e9110c 100644 --- a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py +++ b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py @@ -121,14 +121,14 @@ class DocType: lst.append(args) if lst: - from accounts.utils import reconcile_against_document + from erpnext.accounts.utils import reconcile_against_document reconcile_against_document(lst) msgprint("Successfully allocated.") else: msgprint("No amount allocated.", raise_exception=1) def gl_entry_details(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond return webnotes.conn.sql("""select gle.voucher_no, gle.posting_date, gle.%(account_type)s from `tabGL Entry` gle 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 5d7fc1e867..db5804042f 100644 --- a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +++ b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, flt, getdate from webnotes import msgprint, _ -from controllers.accounts_controller import AccountsController +from erpnext.controllers.accounts_controller import AccountsController class DocType(AccountsController): def __init__(self,d,dl): @@ -33,7 +33,7 @@ class DocType(AccountsController): _("must be a Liability account")) def validate_posting_date(self): - from accounts.utils import get_fiscal_year + from erpnext.accounts.utils import get_fiscal_year self.year_start_date = get_fiscal_year(self.doc.posting_date, self.doc.fiscal_year)[1] pce = webnotes.conn.sql("""select name from `tabPeriod Closing Voucher` @@ -99,5 +99,5 @@ class DocType(AccountsController): "credit": abs(net_pl_balance) if net_pl_balance < 0 else 0 })) - from accounts.general_ledger import make_gl_entries + from erpnext.accounts.general_ledger import make_gl_entries make_gl_entries(gl_entries) 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 97e49ae860..c779d9be86 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 @@ -11,7 +11,7 @@ class TestPeriodClosingVoucher(unittest.TestCase): # clear GL Entries webnotes.conn.sql("""delete from `tabGL Entry`""") - from accounts.doctype.journal_voucher.test_journal_voucher import test_records as jv_records + from erpnext.accounts.doctype.journal_voucher.test_journal_voucher import test_records as jv_records jv = webnotes.bean(copy=jv_records[2]) jv.insert() jv.submit() diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 9d752647ad..c20b297678 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -44,7 +44,7 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ cur_frm.add_custom_button(wn._('From Purchase Order'), function() { wn.model.map_current_doc({ - method: "buying.doctype.purchase_order.purchase_order.make_purchase_invoice", + method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice", source_doctype: "Purchase Order", get_query_filters: { supplier: cur_frm.doc.supplier || undefined, @@ -59,7 +59,7 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ cur_frm.add_custom_button(wn._('From Purchase Receipt'), function() { wn.model.map_current_doc({ - method: "stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", + method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", source_doctype: "Purchase Receipt", get_query_filters: { supplier: cur_frm.doc.supplier || undefined, @@ -107,7 +107,7 @@ cur_frm.cscript.is_opening = function(doc, dt, dn) { cur_frm.cscript.make_bank_voucher = function() { return wn.call({ - method: "accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_purchase_invoice", + method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_purchase_invoice", args: { "purchase_invoice": cur_frm.doc.name, }, diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index 6c71fff527..ddc68e75f1 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -8,12 +8,12 @@ from webnotes.utils import add_days, cint, cstr, flt, formatdate from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ -from setup.utils import get_company_currency +from erpnext.setup.utils import get_company_currency import webnotes.defaults -from controllers.buying_controller import BuyingController +from erpnext.controllers.buying_controller import BuyingController class DocType(BuyingController): def __init__(self,d,dl): self.doc, self.doclist = d, dl @@ -289,7 +289,7 @@ class DocType(BuyingController): lst.append(args) if lst: - from accounts.utils import reconcile_against_document + from erpnext.accounts.utils import reconcile_against_document reconcile_against_document(lst) def on_submit(self): @@ -425,11 +425,11 @@ class DocType(BuyingController): ) if gl_entries: - from accounts.general_ledger import make_gl_entries + from erpnext.accounts.general_ledger import make_gl_entries make_gl_entries(gl_entries, cancel=(self.doc.docstatus == 2)) def on_cancel(self): - from accounts.utils import remove_against_link_from_jv + from erpnext.accounts.utils import remove_against_link_from_jv remove_against_link_from_jv(self.doc.doctype, self.doc.name, "against_voucher") self.update_prevdoc_status() @@ -455,7 +455,7 @@ class DocType(BuyingController): @webnotes.whitelist() def get_expense_account(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond # expense account can be any Debit account, # but can also be a Liability account with account_type='Expense Account' in special circumstances. diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py index 9d82ca78e9..8a8b4a7b6e 100644 --- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py @@ -9,7 +9,7 @@ import webnotes.model import json from webnotes.utils import cint import webnotes.defaults -from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory test_dependencies = ["Item", "Cost Center"] test_ignore = ["Serial No"] @@ -171,7 +171,7 @@ class TestPurchaseInvoice(unittest.TestCase): self.assertEqual(tax.total, expected_values[i][2]) def test_purchase_invoice_with_advance(self): - from accounts.doctype.journal_voucher.test_journal_voucher \ + from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \ import test_records as jv_test_records jv = webnotes.bean(copy=jv_test_records[1]) diff --git a/erpnext/accounts/doctype/sales_invoice/pos.js b/erpnext/accounts/doctype/sales_invoice/pos.js index adbdca1b63..c432765981 100644 --- a/erpnext/accounts/doctype/sales_invoice/pos.js +++ b/erpnext/accounts/doctype/sales_invoice/pos.js @@ -199,7 +199,7 @@ erpnext.POS = Class.extend({ var me = this; me.item_timeout = null; wn.call({ - method: 'accounts.doctype.sales_invoice.pos.get_items', + method: 'erpnext.accounts.doctype.sales_invoice.pos.get_items', args: { sales_or_purchase: this.sales_or_purchase, price_list: this.price_list, @@ -450,7 +450,7 @@ erpnext.POS = Class.extend({ var me = this; me.barcode_timeout = null; wn.call({ - method: 'accounts.doctype.sales_invoice.pos.get_item_code', + method: 'erpnext.accounts.doctype.sales_invoice.pos.get_item_code', args: {barcode_serial_no: this.barcode.$input.val()}, callback: function(r) { if (r.message) { @@ -503,7 +503,7 @@ erpnext.POS = Class.extend({ msgprint(wn._("Payment cannot be made for empty cart")); else { wn.call({ - method: 'accounts.doctype.sales_invoice.pos.get_mode_of_payment', + method: 'erpnext.accounts.doctype.sales_invoice.pos.get_mode_of_payment', callback: function(r) { for (x=0; x<=r.message.length - 1; x++) { mode_of_payment.push(r.message[x].name); diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 7784005578..1940c6e1c3 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -90,7 +90,7 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte this.$sales_order_btn = cur_frm.appframe.add_primary_action(wn._('From Sales Order'), function() { wn.model.map_current_doc({ - method: "selling.doctype.sales_order.sales_order.make_sales_invoice", + method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice", source_doctype: "Sales Order", get_query_filters: { docstatus: 1, @@ -107,7 +107,7 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte this.$delivery_note_btn = cur_frm.appframe.add_primary_action(wn._('From Delivery Note'), function() { wn.model.map_current_doc({ - method: "stock.doctype.delivery_note.delivery_note.make_sales_invoice", + method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice", source_doctype: "Delivery Note", get_query: function() { var filters = { @@ -258,14 +258,14 @@ cur_frm.cscript.is_opening = function(doc, dt, dn) { cur_frm.cscript['Make Delivery Note'] = function() { wn.model.open_mapped_doc({ - method: "accounts.doctype.sales_invoice.sales_invoice.make_delivery_note", + method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_delivery_note", source_name: cur_frm.doc.name }) } cur_frm.cscript.make_bank_voucher = function() { return wn.call({ - method: "accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_sales_invoice", + method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_sales_invoice", args: { "sales_invoice": cur_frm.doc.name }, diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index b1834d5a5a..d5b4c51f44 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -17,7 +17,7 @@ from webnotes import _, msgprint month_map = {'Monthly': 1, 'Quarterly': 3, 'Half-yearly': 6, 'Yearly': 12} -from controllers.selling_controller import SellingController +from erpnext.controllers.selling_controller import SellingController class DocType(SellingController): def __init__(self,d,dl): @@ -109,7 +109,7 @@ class DocType(SellingController): self.check_stop_sales_order("sales_order") - from accounts.utils import remove_against_link_from_jv + from erpnext.accounts.utils import remove_against_link_from_jv remove_against_link_from_jv(self.doc.doctype, self.doc.name, "against_invoice") self.update_status_updater_args() @@ -184,7 +184,7 @@ class DocType(SellingController): if cint(self.doc.is_pos) != 1: return - from selling.utils import get_pos_settings, apply_pos_settings + from erpnext.selling.utils import get_pos_settings, apply_pos_settings pos = get_pos_settings(self.doc.company) if pos: @@ -285,7 +285,7 @@ class DocType(SellingController): lst.append(args) if lst: - from accounts.utils import reconcile_against_document + from erpnext.accounts.utils import reconcile_against_document reconcile_against_document(lst) def validate_customer_account(self): @@ -464,7 +464,7 @@ class DocType(SellingController): if not d.warehouse: d.warehouse = cstr(w) - from stock.doctype.packed_item.packed_item import make_packing_list + from erpnext.stock.doctype.packed_item.packed_item import make_packing_list make_packing_list(self, 'entries') else: self.doclist = self.doc.clear_table(self.doclist, 'packing_details') @@ -511,7 +511,7 @@ class DocType(SellingController): gl_entries = self.get_gl_entries() if gl_entries: - from accounts.general_ledger import make_gl_entries + from erpnext.accounts.general_ledger import make_gl_entries update_outstanding = cint(self.doc.is_pos) and self.doc.write_off_account \ and 'No' or 'Yes' @@ -523,7 +523,7 @@ class DocType(SellingController): self.update_gl_entries_after() def get_gl_entries(self, warehouse_account=None): - from accounts.general_ledger import merge_similar_entries + from erpnext.accounts.general_ledger import merge_similar_entries gl_entries = [] @@ -749,7 +749,7 @@ def manage_recurring_invoices(next_date=None, commit=True): def make_new_invoice(ref_wrapper, posting_date): from webnotes.model.bean import clone - from accounts.utils import get_fiscal_year + from erpnext.accounts.utils import get_fiscal_year new_invoice = clone(ref_wrapper) mcount = month_map[ref_wrapper.doc.recurring_type] @@ -903,7 +903,7 @@ def get_bank_cash_account(mode_of_payment): @webnotes.whitelist() def get_income_account(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond # income account can be any Credit account, # but can also be a Asset account with account_type='Income Account' in special circumstances. diff --git a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py index 89789d3959..2002d14fe4 100644 --- a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py @@ -9,7 +9,7 @@ from webnotes.utils import flt, fmt_money no_cache = True def get_context(): - from portal.utils import get_transaction_context + from erpnext.portal.utils import get_transaction_context context = get_transaction_context("Sales Invoice", webnotes.form_dict.name) modify_status(context.get("doc")) context.update({ diff --git a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py index 871e37de9a..7c2e4ed9fc 100644 --- a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py +++ b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py @@ -7,7 +7,7 @@ import webnotes no_cache = True def get_context(): - from portal.utils import get_currency_context + from erpnext.portal.utils import get_currency_context context = get_currency_context() context.update({ "title": "Invoices", @@ -20,8 +20,8 @@ def get_context(): @webnotes.whitelist() def get_invoices(start=0): - from portal.utils import get_transaction_list - from accounts.doctype.sales_invoice.templates.pages.invoice import modify_status + from erpnext.portal.utils import get_transaction_list + from erpnext.accounts.doctype.sales_invoice.templates.pages.invoice import modify_status invoices = get_transaction_list("Sales Invoice", start, ["outstanding_amount"]) for d in invoices: modify_status(d) diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py index 9b740d1061..478ed3c4fa 100644 --- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -5,8 +5,8 @@ import webnotes import unittest, json from webnotes.utils import flt from webnotes.model.bean import DocstatusTransitionError, TimestampMismatchError -from accounts.utils import get_stock_and_account_difference -from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory +from erpnext.accounts.utils import get_stock_and_account_difference +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory class TestSalesInvoice(unittest.TestCase): def make(self): @@ -262,7 +262,7 @@ class TestSalesInvoice(unittest.TestCase): webnotes.conn.sql("""delete from `tabGL Entry`""") w = self.make() - from accounts.doctype.journal_voucher.test_journal_voucher \ + from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \ import test_records as jv_test_records jv = webnotes.bean(webnotes.copy_doclist(jv_test_records[0])) @@ -399,7 +399,7 @@ class TestSalesInvoice(unittest.TestCase): webnotes.delete_doc("Account", "_Test Warehouse No Account - _TC") # insert purchase receipt - from stock.doctype.purchase_receipt.test_purchase_receipt import test_records \ + from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \ as pr_test_records pr = webnotes.bean(copy=pr_test_records[0]) pr.doc.naming_series = "_T-Purchase Receipt-" @@ -505,7 +505,7 @@ class TestSalesInvoice(unittest.TestCase): set_perpetual_inventory(0) def _insert_purchase_receipt(self): - from stock.doctype.purchase_receipt.test_purchase_receipt import test_records \ + from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \ as pr_test_records pr = webnotes.bean(copy=pr_test_records[0]) pr.doc.naming_series = "_T-Purchase Receipt-" @@ -514,7 +514,7 @@ class TestSalesInvoice(unittest.TestCase): pr.submit() def _insert_delivery_note(self): - from stock.doctype.delivery_note.test_delivery_note import test_records \ + from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records \ as dn_test_records dn = webnotes.bean(copy=dn_test_records[0]) dn.doc.naming_series = "_T-Delivery Note-" @@ -523,7 +523,7 @@ class TestSalesInvoice(unittest.TestCase): return dn def _insert_pos_settings(self): - from accounts.doctype.pos_setting.test_pos_setting \ + from erpnext.accounts.doctype.pos_setting.test_pos_setting \ import test_records as pos_setting_test_records webnotes.conn.sql("""delete from `tabPOS Setting`""") @@ -531,7 +531,7 @@ class TestSalesInvoice(unittest.TestCase): ps.insert() def test_sales_invoice_with_advance(self): - from accounts.doctype.journal_voucher.test_journal_voucher \ + from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \ import test_records as jv_test_records jv = webnotes.bean(copy=jv_test_records[0]) @@ -654,7 +654,7 @@ class TestSalesInvoice(unittest.TestCase): def _test_recurring_invoice(self, base_si, first_and_last_day): from webnotes.utils import add_months, get_last_day - from accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices + from erpnext.accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices no_of_months = ({"Monthly": 1, "Quarterly": 3, "Yearly": 12})[base_si.doc.recurring_type] @@ -706,8 +706,8 @@ class TestSalesInvoice(unittest.TestCase): webnotes.conn.sql("delete from `tabGL Entry`") def test_serialized(self): - from stock.doctype.stock_entry.test_stock_entry import make_serialized_item - from stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos se = make_serialized_item() serial_nos = get_serial_nos(se.doclist[1].serial_no) @@ -728,7 +728,7 @@ class TestSalesInvoice(unittest.TestCase): return si def test_serialized_cancel(self): - from stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos si = self.test_serialized() si.cancel() @@ -740,8 +740,8 @@ class TestSalesInvoice(unittest.TestCase): "delivery_document_no")) def test_serialize_status(self): - from stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos - from stock.doctype.stock_entry.test_stock_entry import make_serialized_item + from erpnext.stock.doctype.serial_no.serial_no import SerialNoStatusError, 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.doclist[1].serial_no) diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py index dd4db5fb75..5c084f3c60 100644 --- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py +++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py @@ -8,7 +8,7 @@ import webnotes from webnotes import _, msgprint from webnotes.utils import flt, fmt_money from webnotes.model.controller import DocListController -from setup.utils import get_company_currency +from erpnext.setup.utils import get_company_currency class OverlappingConditionError(webnotes.ValidationError): pass class FromGreaterThanToError(webnotes.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 8bac02be97..6bf6bd386e 100644 --- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py +++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py @@ -3,7 +3,7 @@ import webnotes import unittest -from accounts.doctype.shipping_rule.shipping_rule import FromGreaterThanToError, ManyBlankToValuesError, OverlappingConditionError +from erpnext.accounts.doctype.shipping_rule.shipping_rule import FromGreaterThanToError, ManyBlankToValuesError, OverlappingConditionError class TestShippingRule(unittest.TestCase): def test_from_greater_than_to(self): diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py index 87814b128f..b638e6cc7b 100644 --- a/erpnext/accounts/general_ledger.py +++ b/erpnext/accounts/general_ledger.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import flt, cstr from webnotes import _ -from accounts.utils import validate_expense_against_budget +from erpnext.accounts.utils import validate_expense_against_budget class StockAccountInvalidTransaction(webnotes.ValidationError): pass @@ -107,7 +107,7 @@ def validate_account_for_auto_accounting_for_stock(gl_map): def delete_gl_entries(gl_entries=None, voucher_type=None, voucher_no=None, adv_adj=False, update_outstanding="Yes"): - from accounts.doctype.gl_entry.gl_entry import check_negative_balance, \ + from erpnext.accounts.doctype.gl_entry.gl_entry import check_negative_balance, \ check_freezing_date, update_outstanding_amt, validate_frozen_account if not gl_entries: diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js index d57073a072..4623fdddb4 100644 --- a/erpnext/accounts/page/accounts_browser/accounts_browser.js +++ b/erpnext/accounts/page/accounts_browser/accounts_browser.js @@ -63,7 +63,7 @@ pscript['onload_Accounts Browser'] = function(wrapper){ // load up companies return wn.call({ - method:'accounts.page.accounts_browser.accounts_browser.get_companies', + method: 'erpnext.accounts.page.accounts_browser.accounts_browser.get_companies', callback: function(r) { wrapper.$company_select.empty(); $.each(r.message, function(i, v) { @@ -108,7 +108,7 @@ erpnext.AccountsChart = Class.extend({ parent: $(wrapper), label: ctype==="Account" ? "Accounts" : "Cost Centers", args: {ctype: ctype, comp: company}, - method: 'accounts.page.accounts_browser.accounts_browser.get_children', + method: 'erpnext.accounts.page.accounts_browser.accounts_browser.get_children', click: function(link) { if(me.cur_toolbar) $(me.cur_toolbar).toggle(false); @@ -261,7 +261,7 @@ erpnext.AccountsChart = Class.extend({ return wn.call({ args: v, - method:'accounts.utils.add_ac', + method: 'erpnext.accounts.utils.add_ac', callback: function(r) { $(btn).done_working(); d.hide(); @@ -308,7 +308,7 @@ erpnext.AccountsChart = Class.extend({ return wn.call({ args: v, - method:'accounts.utils.add_cc', + method: 'erpnext.accounts.utils.add_cc', callback: function(r) { $(btn).done_working(); d.hide(); diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.py b/erpnext/accounts/page/accounts_browser/accounts_browser.py index 68a53b2923..6dfbf4afe3 100644 --- a/erpnext/accounts/page/accounts_browser/accounts_browser.py +++ b/erpnext/accounts/page/accounts_browser/accounts_browser.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes import webnotes.defaults from webnotes.utils import flt -from accounts.utils import get_balance_on +from erpnext.accounts.utils import get_balance_on @webnotes.whitelist() def get_companies(): diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.py b/erpnext/accounts/report/accounts_payable/accounts_payable.py index e5489d100f..bb02ab250a 100644 --- a/erpnext/accounts/report/accounts_payable/accounts_payable.py +++ b/erpnext/accounts/report/accounts_payable/accounts_payable.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import getdate, nowdate, flt, cstr from webnotes import msgprint, _ -from accounts.report.accounts_receivable.accounts_receivable import get_ageing_data +from erpnext.accounts.report.accounts_receivable.accounts_receivable import get_ageing_data 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 431a6496d2..f2a1edda52 100644 --- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py +++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py @@ -12,7 +12,7 @@ def execute(filters=None): columns = get_columns() data = get_entries(filters) - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on balance_as_per_company = get_balance_on(filters["account"], filters["report_date"]) total_debit, total_credit = 0,0 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 a5860c83bd..8d164f8c64 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py @@ -6,8 +6,8 @@ import webnotes from webnotes import _, msgprint from webnotes.utils import flt import time -from accounts.utils import get_fiscal_year -from controllers.trends import get_period_date_ranges, get_period_month_ranges +from erpnext.accounts.utils import get_fiscal_year +from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py index 8e73062049..4f7a1e4c6f 100644 --- a/erpnext/accounts/report/gross_profit/gross_profit.py +++ b/erpnext/accounts/report/gross_profit/gross_profit.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import flt -from stock.utils import get_buying_amount, get_sales_bom_buying_amount +from erpnext.stock.utils import get_buying_amount, get_sales_bom_buying_amount def execute(filters=None): if not filters: filters = {} 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 127336005a..4662462a4e 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 @@ -4,7 +4,7 @@ from __future__ import unicode_literals import webnotes from webnotes import msgprint, _ -from accounts.report.accounts_receivable.accounts_receivable import get_ageing_data +from erpnext.accounts.report.accounts_receivable.accounts_receivable import get_ageing_data def execute(filters=None): if not filters: filters = {} 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 4c38bed863..458761884e 100644 --- a/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py +++ b/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from 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_invoice_trends/sales_invoice_trends.py b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py index 70c61d7206..da7062319a 100644 --- a/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py +++ b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from 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/utils.py b/erpnext/accounts/utils.py index caad793ca1..2b7c06fd8f 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -8,7 +8,7 @@ from webnotes.utils import nowdate, nowtime, cstr, flt, now, getdate, add_months from webnotes.model.doc import addchild from webnotes import msgprint, _ from webnotes.utils import formatdate -from utilities import build_filter_conditions +from erpnext.utilities import build_filter_conditions class FiscalYearError(webnotes.ValidationError): pass @@ -260,7 +260,7 @@ def fix_total_debit_credit(): (d.diff, d.voucher_type, d.voucher_no)) def get_stock_and_account_difference(account_list=None, posting_date=None): - from stock.utils import get_stock_balance_on + from erpnext.stock.utils import get_stock_balance_on if not posting_date: posting_date = nowdate() diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.py b/erpnext/buying/doctype/buying_settings/buying_settings.py index 53e4479578..25d0f7238d 100644 --- a/erpnext/buying/doctype/buying_settings/buying_settings.py +++ b/erpnext/buying/doctype/buying_settings/buying_settings.py @@ -14,6 +14,6 @@ class DocType: for key in ["supplier_type", "supp_master_name", "maintain_same_rate", "buying_price_list"]: webnotes.conn.set_default(key, self.doc.fields.get(key, "")) - from setup.doctype.naming_series.naming_series import set_by_naming_series + from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series set_by_naming_series("Supplier", "supplier_name", self.doc.get("supp_master_name")=="Naming Series", hide_name_field=False) diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js index 9661f6edaf..86b252d8d9 100644 --- a/erpnext/buying/doctype/purchase_common/purchase_common.js +++ b/erpnext/buying/doctype/purchase_common/purchase_common.js @@ -112,7 +112,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ cur_frm.fields_dict[me.frm.cscript.fname].grid.grid_rows[item.idx - 1].remove(); } else { return this.frm.call({ - method: "buying.utils.get_item_details", + method: "erpnext.buying.utils.get_item_details", child: item, args: { args: { @@ -178,7 +178,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ var item = wn.model.get_doc(cdt, cdn); if(item.item_code && item.uom) { return this.frm.call({ - method: "buying.utils.get_conversion_factor", + method: "erpnext.buying.utils.get_conversion_factor", child: item, args: { item_code: item.item_code, @@ -211,7 +211,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ var item = wn.model.get_doc(cdt, cdn); if(item.item_code && item.warehouse) { return this.frm.call({ - method: "buying.utils.get_projected_qty", + method: "erpnext.buying.utils.get_projected_qty", child: item, args: { item_code: item.item_code, diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py index c265874992..b2e59b0b08 100644 --- a/erpnext/buying/doctype/purchase_common/purchase_common.py +++ b/erpnext/buying/doctype/purchase_common/purchase_common.py @@ -8,10 +8,10 @@ from webnotes.utils import cstr, flt from webnotes.model.utils import getlist from webnotes import msgprint, _ -from buying.utils import get_last_purchase_details +from erpnext.buying.utils import get_last_purchase_details -from controllers.buying_controller import BuyingController +from erpnext.controllers.buying_controller import BuyingController class DocType(BuyingController): def __init__(self, doc, doclist=None): self.doc = doc @@ -94,7 +94,7 @@ class DocType(BuyingController): if not item: msgprint("Item %s does not exist in Item Master." % cstr(d.item_code), raise_exception=True) - from stock.utils import validate_end_of_life + from erpnext.stock.utils import validate_end_of_life validate_end_of_life(d.item_code, item[0][3]) # validate stock item diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index dad2864ab2..7db00359e5 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -42,14 +42,14 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( make_purchase_receipt: function() { wn.model.open_mapped_doc({ - method: "buying.doctype.purchase_order.purchase_order.make_purchase_receipt", + method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt", source_name: cur_frm.doc.name }) }, make_purchase_invoice: function() { wn.model.open_mapped_doc({ - method: "buying.doctype.purchase_order.purchase_order.make_purchase_invoice", + method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice", source_name: cur_frm.doc.name }) }, @@ -58,7 +58,7 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( cur_frm.add_custom_button(wn._('From Material Request'), function() { wn.model.map_current_doc({ - method: "stock.doctype.material_request.material_request.make_purchase_order", + method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order", source_doctype: "Material Request", get_query_filters: { material_request_type: "Purchase", @@ -74,7 +74,7 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( cur_frm.add_custom_button(wn._('From Supplier Quotation'), function() { wn.model.map_current_doc({ - method: "buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", + method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", source_doctype: "Supplier Quotation", get_query_filters: { docstatus: 1, @@ -88,7 +88,7 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( cur_frm.add_custom_button(wn._('For Supplier'), function() { wn.model.map_current_doc({ - method: "stock.doctype.material_request.material_request.make_purchase_order_based_on_supplier", + method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order_based_on_supplier", source_doctype: "Supplier", get_query_filters: { docstatus: ["!=", 2], diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index 33d8b48234..ebfda85366 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -10,7 +10,7 @@ from webnotes.model.code import get_obj from webnotes import msgprint -from controllers.buying_controller import BuyingController +from erpnext.controllers.buying_controller import BuyingController class DocType(BuyingController): def __init__(self, doc, doclist=[]): self.doc = doc @@ -35,8 +35,8 @@ class DocType(BuyingController): if not self.doc.status: self.doc.status = "Draft" - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"]) pc_obj = get_obj(dt='Purchase Common') @@ -83,7 +83,7 @@ class DocType(BuyingController): def update_bin(self, is_submit, is_stopped = 0): - from stock.utils import update_bin + from erpnext.stock.utils import update_bin pc_obj = get_obj('Purchase Common') for d in getlist(self.doclist, 'po_details'): #1. Check if is_stock_item == 'Yes' diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index f6c435c6fb..3659f6ddee 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -10,7 +10,7 @@ from webnotes.utils import flt class TestPurchaseOrder(unittest.TestCase): def test_make_purchase_receipt(self): - from buying.doctype.purchase_order.purchase_order import make_purchase_receipt + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt po = webnotes.bean(copy=test_records[0]).insert() @@ -33,7 +33,7 @@ class TestPurchaseOrder(unittest.TestCase): def test_ordered_qty(self): webnotes.conn.sql("delete from tabBin") - from buying.doctype.purchase_order.purchase_order import make_purchase_receipt + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt po = webnotes.bean(copy=test_records[0]).insert() @@ -75,7 +75,7 @@ class TestPurchaseOrder(unittest.TestCase): "warehouse": "_Test Warehouse - _TC"}, "ordered_qty")), 0.0) def test_make_purchase_invocie(self): - from buying.doctype.purchase_order.purchase_order import make_purchase_invoice + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice po = webnotes.bean(copy=test_records[0]).insert() @@ -98,14 +98,14 @@ class TestPurchaseOrder(unittest.TestCase): self.assertEquals(len(po.doclist.get({"parentfield": "po_raw_material_details"})), 2) def test_warehouse_company_validation(self): - from stock.utils import InvalidWarehouseCompany + from erpnext.stock.utils import InvalidWarehouseCompany po = webnotes.bean(copy=test_records[0]) po.doc.company = "_Test Company 1" po.doc.conversion_rate = 0.0167 self.assertRaises(InvalidWarehouseCompany, po.insert) def test_uom_integer_validation(self): - from utilities.transaction_base import UOMMustBeIntegerError + from erpnext.utilities.transaction_base import UOMMustBeIntegerError po = webnotes.bean(copy=test_records[0]) po.doclist[1].qty = 3.4 self.assertRaises(UOMMustBeIntegerError, po.insert) diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js index 061861643d..aa8ea2a122 100644 --- a/erpnext/buying/doctype/supplier/supplier.js +++ b/erpnext/buying/doctype/supplier/supplier.js @@ -38,7 +38,7 @@ cur_frm.cscript.make_dashboard = function(doc) { return wn.call({ type: "GET", - method:"buying.doctype.supplier.supplier.get_dashboard_info", + method: "erpnext.buying.doctype.supplier.supplier.get_dashboard_info", args: { supplier: cur_frm.doc.name }, diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py index b2873c5661..ace1d12247 100644 --- a/erpnext/buying/doctype/supplier/supplier.py +++ b/erpnext/buying/doctype/supplier/supplier.py @@ -10,7 +10,7 @@ from webnotes import msgprint, _ from webnotes.model.doc import make_autoname -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, doc, doclist=[]): @@ -149,7 +149,7 @@ class DocType(TransactionBase): self.delete_supplier_account() def before_rename(self, olddn, newdn, merge=False): - from accounts.utils import rename_account_for + from erpnext.accounts.utils import rename_account_for rename_account_for("Supplier", olddn, newdn, merge) def after_rename(self, olddn, newdn, merge=False): diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js index 92bf7a1b0c..597ad8655a 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js @@ -22,7 +22,7 @@ erpnext.buying.SupplierQuotationController = erpnext.buying.BuyingController.ext cur_frm.add_custom_button(wn._('From Material Request'), function() { wn.model.map_current_doc({ - method: "stock.doctype.material_request.material_request.make_supplier_quotation", + method: "erpnext.stock.doctype.material_request.material_request.make_supplier_quotation", source_doctype: "Material Request", get_query_filters: { material_request_type: "Purchase", @@ -38,7 +38,7 @@ erpnext.buying.SupplierQuotationController = erpnext.buying.BuyingController.ext make_purchase_order: function() { wn.model.open_mapped_doc({ - method: "buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", + method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", source_name: cur_frm.doc.name }) } diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py index dc564b9375..b4562e0832 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.model.code import get_obj -from controllers.buying_controller import BuyingController +from erpnext.controllers.buying_controller import BuyingController class DocType(BuyingController): def __init__(self, doc, doclist=None): self.doc, self.doclist = doc, doclist or [] @@ -17,8 +17,8 @@ class DocType(BuyingController): if not self.doc.status: self.doc.status = "Draft" - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"]) self.validate_common() diff --git a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py index 82ad42a702..82444eae7c 100644 --- a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py @@ -9,7 +9,7 @@ import webnotes.defaults class TestPurchaseOrder(unittest.TestCase): def test_make_purchase_order(self): - from buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order + from erpnext.buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order sq = webnotes.bean(copy=test_records[0]).insert() 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 df8d7cf0d5..1ecdab29d8 100644 --- a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py +++ b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from 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/utils.py b/erpnext/buying/utils.py index 0d9c8fa838..8a4ae3f304 100644 --- a/erpnext/buying/utils.py +++ b/erpnext/buying/utils.py @@ -83,7 +83,7 @@ def _get_basic_details(args, item_bean): return out def _get_price_list_rate(args, item_bean, meta): - from utilities.transaction_base import validate_currency + from erpnext.utilities.transaction_base import validate_currency item = item_bean.doc out = webnotes._dict() @@ -117,7 +117,7 @@ def _get_supplier_part_no(args, item_bean): return item_supplier and item_supplier[0].supplier_part_no or None def _validate_item_details(args, item): - from utilities.transaction_base import validate_item_fetch + from erpnext.utilities.transaction_base import validate_item_fetch validate_item_fetch(args, item) # validate if purchase item or subcontracted item diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index 5388ee120a..d48a7a6d17 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -6,9 +6,9 @@ import webnotes from webnotes import _, msgprint from webnotes.utils import flt, cint, today, cstr from webnotes.model.code import get_obj -from setup.utils import get_company_currency -from accounts.utils import get_fiscal_year, validate_fiscal_year -from utilities.transaction_base import TransactionBase, validate_conversion_rate +from erpnext.setup.utils import get_company_currency +from erpnext.accounts.utils import get_fiscal_year, validate_fiscal_year +from erpnext.utilities.transaction_base import TransactionBase, validate_conversion_rate import json class AccountsController(TransactionBase): @@ -403,7 +403,7 @@ class AccountsController(TransactionBase): raise_exception=1) def get_company_default(self, fieldname): - from accounts.utils import get_company_default + from erpnext.accounts.utils import get_company_default return get_company_default(self.doc.company, fieldname) def get_stock_items(self): diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py index b52d51cf31..8da572a71c 100644 --- a/erpnext/controllers/buying_controller.py +++ b/erpnext/controllers/buying_controller.py @@ -6,10 +6,10 @@ import webnotes from webnotes import _, msgprint from webnotes.utils import flt, _round -from buying.utils import get_item_details -from setup.utils import get_company_currency +from erpnext.buying.utils import get_item_details +from erpnext.setup.utils import get_company_currency -from controllers.stock_controller import StockController +from erpnext.controllers.stock_controller import StockController class BuyingController(StockController): def onload_post_render(self): @@ -50,7 +50,7 @@ class BuyingController(StockController): break def validate_warehouse(self): - from stock.utils import validate_warehouse_user, validate_warehouse_company + from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company warehouses = list(set([d.warehouse for d in self.doclist.get({"doctype": self.tname}) if d.warehouse])) diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py index 9d64d16719..535ca3b80a 100644 --- a/erpnext/controllers/queries.py +++ b/erpnext/controllers/queries.py @@ -186,7 +186,7 @@ def get_delivery_notes_to_be_billed(doctype, txt, searchfield, start, page_len, }, { "start": start, "page_len": page_len, "txt": ("%%%s%%" % txt) }) def get_batch_no(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond if filters.has_key('warehouse'): return webnotes.conn.sql("""select batch_no from `tabStock Ledger Entry` sle diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index fd4ca40947..61db75641c 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -4,11 +4,11 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cint, flt, comma_or, _round, cstr -from setup.utils import get_company_currency -from selling.utils import get_item_details +from erpnext.setup.utils import get_company_currency +from erpnext.selling.utils import get_item_details from webnotes import msgprint, _ -from controllers.stock_controller import StockController +from erpnext.controllers.stock_controller import StockController class SellingController(StockController): def onload_post_render(self): diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index 8a4a402990..eff6491db3 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -7,8 +7,8 @@ from webnotes.utils import cint, flt, cstr from webnotes import msgprint, _ import webnotes.defaults -from controllers.accounts_controller import AccountsController -from accounts.general_ledger import make_gl_entries, delete_gl_entries +from erpnext.controllers.accounts_controller import AccountsController +from erpnext.accounts.general_ledger import make_gl_entries, delete_gl_entries class StockController(AccountsController): def make_gl_entries(self, update_gl_entries_after=True): @@ -27,7 +27,7 @@ class StockController(AccountsController): def get_gl_entries(self, warehouse_account=None, default_expense_account=None, default_cost_center=None): - from accounts.general_ledger import process_gl_map + from erpnext.accounts.general_ledger import process_gl_map if not warehouse_account: warehouse_account = self.get_warehouse_account() @@ -160,7 +160,7 @@ class StockController(AccountsController): where voucher_type=%s and voucher_no=%s""", (voucher_type, voucher_no)) def make_adjustment_entry(self, expected_gle, voucher_obj): - from accounts.utils import get_stock_and_account_difference + from erpnext.accounts.utils import get_stock_and_account_difference account_list = [d.account for d in expected_gle] acc_diff = get_stock_and_account_difference(account_list, expected_gle[0].posting_date) @@ -190,7 +190,7 @@ class StockController(AccountsController): ]) if gl_entries: - from accounts.general_ledger import make_gl_entries + from erpnext.accounts.general_ledger import make_gl_entries make_gl_entries(gl_entries) def check_expense_account(self, item): @@ -226,7 +226,7 @@ class StockController(AccountsController): return sl_dict def make_sl_entries(self, sl_entries, is_amended=None): - from stock.stock_ledger import make_sl_entries + from erpnext.stock.stock_ledger import make_sl_entries make_sl_entries(sl_entries, is_amended) def get_stock_ledger_entries(self, item_list=None, warehouse_list=None): diff --git a/erpnext/home/page/activity/activity.js b/erpnext/home/page/activity/activity.js index c4b0cf3073..91b8184ab0 100644 --- a/erpnext/home/page/activity/activity.js +++ b/erpnext/home/page/activity/activity.js @@ -12,7 +12,7 @@ wn.pages['activity'].onload = function(wrapper) { var list = new wn.ui.Listing({ hide_refresh: true, appframe: wrapper.appframe, - method: 'home.page.activity.activity.get_feed', + method: 'erpnext.home.page.activity.activity.get_feed', parent: $(wrapper).find(".layout-main"), render_row: function(row, data) { new erpnext.ActivityFeed(row, data); diff --git a/erpnext/home/page/latest_updates/latest_updates.js b/erpnext/home/page/latest_updates/latest_updates.js index 80ba85e6a0..06c34efa08 100644 --- a/erpnext/home/page/latest_updates/latest_updates.js +++ b/erpnext/home/page/latest_updates/latest_updates.js @@ -13,7 +13,7 @@ wn.pages['latest-updates'].onload = function(wrapper) {
') return wn.call({ - method:"home.page.latest_updates.latest_updates.get", + method: "erpnext.home.page.latest_updates.latest_updates.get", callback: function(r) { parent.empty(); $("

"+wn._("Report issues at")+ diff --git a/erpnext/hr/doctype/appraisal/appraisal.js b/erpnext/hr/doctype/appraisal/appraisal.js index fd2856cc22..e3626b0f48 100644 --- a/erpnext/hr/doctype/appraisal/appraisal.js +++ b/erpnext/hr/doctype/appraisal/appraisal.js @@ -25,7 +25,7 @@ cur_frm.cscript.refresh = function(doc,cdt,cdn){ cur_frm.cscript.kra_template = function(doc, dt, dn) { wn.model.map_current_doc({ - method: "hr.doctype.appraisal.appraisal.fetch_appraisal_template", + method: "erpnext.hr.doctype.appraisal.appraisal.fetch_appraisal_template", source_name: cur_frm.doc.kra_template, }); } diff --git a/erpnext/hr/doctype/attendance/attendance.py b/erpnext/hr/doctype/attendance/attendance.py index 3abc1ae7e4..10d42227b9 100644 --- a/erpnext/hr/doctype/attendance/attendance.py +++ b/erpnext/hr/doctype/attendance/attendance.py @@ -33,7 +33,7 @@ class DocType: raise_exception=1) def validate_fiscal_year(self): - from accounts.utils import validate_fiscal_year + from erpnext.accounts.utils import validate_fiscal_year validate_fiscal_year(self.doc.att_date, self.doc.fiscal_year) def validate_att_date(self): @@ -48,8 +48,8 @@ class DocType: _(" not active or does not exists in the system"), raise_exception=1) def validate(self): - import utilities - utilities.validate_status(self.doc.status, ["Present", "Absent", "Half Day"]) + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Present", "Absent", "Half Day"]) self.validate_fiscal_year() self.validate_att_date() self.validate_duplicate_record() diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js index 08cadbdc70..55be526061 100644 --- a/erpnext/hr/doctype/employee/employee.js +++ b/erpnext/hr/doctype/employee/employee.js @@ -29,7 +29,7 @@ erpnext.hr.EmployeeController = wn.ui.form.Controller.extend({ setup_leave_approver_select: function() { var me = this; return this.frm.call({ - method:"hr.utils.get_leave_approver_list", + method: "erpnext.hr.utils.get_leave_approver_list", callback: function(r) { var df = wn.meta.get_docfield("Employee Leave Approver", "leave_approver", me.frm.doc.name); diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py index 7129739322..c185963b72 100644 --- a/erpnext/hr/doctype/employee/employee.py +++ b/erpnext/hr/doctype/employee/employee.py @@ -27,8 +27,8 @@ class DocType: self.doc.employee = self.doc.name def validate(self): - import utilities - utilities.validate_status(self.doc.status, ["Active", "Left"]) + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Active", "Left"]) self.doc.employee = self.doc.name self.validate_date() @@ -143,7 +143,7 @@ class DocType: def validate_employee_leave_approver(self): from webnotes.profile import Profile - from hr.doctype.leave_application.leave_application import InvalidLeaveApproverError + from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError for l in self.doclist.get({"parentfield": "employee_leave_approvers"}): if "Leave Approver" not in Profile(l.leave_approver).get_roles(): diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js index c32df80a0c..c65fe0a39f 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.js +++ b/erpnext/hr/doctype/expense_claim/expense_claim.js @@ -7,7 +7,7 @@ erpnext.hr.ExpenseClaimController = wn.ui.form.Controller.extend({ make_bank_voucher: function() { var me = this; return wn.call({ - method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account", + method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account", args: { "company": cur_frm.doc.company, "voucher_type": "Bank Voucher" @@ -60,7 +60,7 @@ cur_frm.cscript.onload = function(doc,cdt,cdn) { } var exp_approver = doc.exp_approver; return cur_frm.call({ - method:"hr.utils.get_expense_approver_list", + method: "erpnext.hr.utils.get_expense_approver_list", callback: function(r) { cur_frm.set_df_property("exp_approver", "options", r.message); if(exp_approver) cur_frm.set_value("exp_approver", exp_approver); diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py index 6b792c8561..521195feb5 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.py +++ b/erpnext/hr/doctype/expense_claim/expense_claim.py @@ -22,7 +22,7 @@ class DocType: 'Rejected' before submitting""", raise_exception=1) def validate_fiscal_year(self): - from accounts.utils import validate_fiscal_year + from erpnext.accounts.utils import validate_fiscal_year validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, "Posting Date") def validate_exp_details(self): diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.py b/erpnext/hr/doctype/hr_settings/hr_settings.py index 2abd7c6a93..e7e5d3e859 100644 --- a/erpnext/hr/doctype/hr_settings/hr_settings.py +++ b/erpnext/hr/doctype/hr_settings/hr_settings.py @@ -15,7 +15,7 @@ class DocType: def validate(self): self.update_birthday_reminders() - from setup.doctype.naming_series.naming_series import set_by_naming_series + from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series set_by_naming_series("Employee", "employee_number", self.doc.get("emp_created_by")=="Naming Series", hide_name_field=True) diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.py b/erpnext/hr/doctype/job_applicant/job_applicant.py index 887e789690..0262568ffe 100644 --- a/erpnext/hr/doctype/job_applicant/job_applicant.py +++ b/erpnext/hr/doctype/job_applicant/job_applicant.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase from webnotes.utils import extract_email_id class DocType(TransactionBase): diff --git a/erpnext/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js index a3b62caca8..cd04384c22 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.js +++ b/erpnext/hr/doctype/leave_application/leave_application.js @@ -13,7 +13,7 @@ cur_frm.cscript.onload = function(doc, dt, dn) { var leave_approver = doc.leave_approver; return cur_frm.call({ - method:"hr.utils.get_leave_approver_list", + method: "erpnext.hr.utils.get_leave_approver_list", callback: function(r) { cur_frm.set_df_property("leave_approver", "options", $.map(r.message, function(profile) { diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py index 9b75b101b1..5d73719e31 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.py +++ b/erpnext/hr/doctype/leave_application/leave_application.py @@ -53,7 +53,7 @@ class DocType(DocListController): self.notify_employee("cancelled") def show_block_day_warning(self): - from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates + from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates block_dates = get_applicable_block_dates(self.doc.from_date, self.doc.to_date, self.doc.employee, self.doc.company, all_lists=True) @@ -64,7 +64,7 @@ class DocType(DocListController): webnotes.msgprint(formatdate(d.block_date) + ": " + d.reason) def validate_block_days(self): - from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates + from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates block_dates = get_applicable_block_dates(self.doc.from_date, self.doc.to_date, self.doc.employee, self.doc.company) @@ -290,7 +290,7 @@ def add_leaves(events, start, end, employee, company, match_conditions=None): def add_block_dates(events, start, end, employee, company): # block days - from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates + from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates cnt = 0 block_dates = get_applicable_block_dates(start, end, employee, company, all_lists=True) diff --git a/erpnext/hr/doctype/leave_application/leave_application_calendar.js b/erpnext/hr/doctype/leave_application/leave_application_calendar.js index a258c8fb62..ba09a39f15 100644 --- a/erpnext/hr/doctype/leave_application/leave_application_calendar.js +++ b/erpnext/hr/doctype/leave_application/leave_application_calendar.js @@ -16,5 +16,5 @@ wn.views.calendar["Leave Application"] = { right: 'month' } }, - get_events_method: "hr.doctype.leave_application.leave_application.get_events" + get_events_method: "erpnext.hr.doctype.leave_application.leave_application.get_events" } \ No newline at end of file diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py index 9f8a8e1c2e..44e818d97c 100644 --- a/erpnext/hr/doctype/leave_application/test_leave_application.py +++ b/erpnext/hr/doctype/leave_application/test_leave_application.py @@ -4,7 +4,7 @@ import webnotes import unittest -from hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError +from erpnext.hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError class TestLeaveApplication(unittest.TestCase): def tearDown(self): @@ -129,7 +129,7 @@ class TestLeaveApplication(unittest.TestCase): "docstatus"), 1) def _test_leave_approval_invalid_leave_approver_insert(self): - from hr.doctype.leave_application.leave_application import InvalidLeaveApproverError + from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError self._clear_applications() 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 973436ed12..4585e90833 100644 --- a/erpnext/hr/doctype/leave_block_list/leave_block_list.py +++ b/erpnext/hr/doctype/leave_block_list/leave_block_list.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes -from accounts.utils import validate_fiscal_year +from erpnext.accounts.utils import validate_fiscal_year from webnotes import _ class DocType: 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 0f0da652f3..13fa42c069 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 @@ -4,7 +4,7 @@ import webnotes import unittest -from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates +from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates class TestLeaveBlockList(unittest.TestCase): def tearDown(self): diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py index f5eeea164d..946106daf9 100644 --- a/erpnext/hr/doctype/salary_slip/salary_slip.py +++ b/erpnext/hr/doctype/salary_slip/salary_slip.py @@ -9,10 +9,10 @@ from webnotes.model.doc import make_autoname from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ -from setup.utils import get_company_currency +from erpnext.setup.utils import get_company_currency -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self,doc,doclist=[]): @@ -39,7 +39,7 @@ class DocType(TransactionBase): def pull_sal_struct(self, struct): - from hr.doctype.salary_structure.salary_structure import make_salary_slip + from erpnext.hr.doctype.salary_structure.salary_structure import make_salary_slip self.doclist = make_salary_slip(struct, self.doclist) def pull_emp_details(self): diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.py b/erpnext/hr/doctype/salary_slip/test_salary_slip.py index 29e94077d4..372a858cc2 100644 --- a/erpnext/hr/doctype/salary_slip/test_salary_slip.py +++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.py @@ -8,7 +8,7 @@ class TestSalarySlip(unittest.TestCase): def setUp(self): webnotes.conn.sql("""delete from `tabLeave Application`""") webnotes.conn.sql("""delete from `tabSalary Slip`""") - from hr.doctype.leave_application.test_leave_application import test_records as leave_applications + from erpnext.hr.doctype.leave_application.test_leave_application import test_records as leave_applications la = webnotes.bean(copy=leave_applications[4]) la.insert() la.doc.status = "Approved" diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js index 8e36dbd5e7..dd9ab970d5 100644 --- a/erpnext/hr/doctype/salary_structure/salary_structure.js +++ b/erpnext/hr/doctype/salary_structure/salary_structure.js @@ -20,7 +20,7 @@ cur_frm.cscript.refresh = function(doc, dt, dn){ cur_frm.cscript['Make Salary Slip'] = function() { wn.model.open_mapped_doc({ - method: "hr.doctype.salary_structure.salary_structure.make_salary_slip", + method: "erpnext.hr.doctype.salary_structure.salary_structure.make_salary_slip", source_name: cur_frm.doc.name }); } diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.js b/erpnext/hr/doctype/upload_attendance/upload_attendance.js index 9f86dfe486..aed3d7f76c 100644 --- a/erpnext/hr/doctype/upload_attendance/upload_attendance.js +++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.js @@ -22,7 +22,7 @@ erpnext.hr.AttendanceControlPanel = wn.ui.form.Controller.extend({ } window.location.href = repl(wn.request.url + '?cmd=%(cmd)s&from_date=%(from_date)s&to_date=%(to_date)s', { - cmd: "hr.doctype.upload_attendance.upload_attendance.get_template", + cmd: "erpnext.hr.doctype.upload_attendance.upload_attendance.get_template", from_date: this.frm.doc.att_fr_date, to_date: this.frm.doc.att_to_date, }); @@ -36,7 +36,7 @@ erpnext.hr.AttendanceControlPanel = wn.ui.form.Controller.extend({ wn.upload.make({ parent: $wrapper, args: { - method: 'hr.doctype.upload_attendance.upload_attendance.upload' + method: 'erpnext.hr.doctype.upload_attendance.upload_attendance.upload' }, sample_url: "e.g. http://example.com/somefile.csv", callback: function(fid, filename, r) { diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.py b/erpnext/hr/doctype/upload_attendance/upload_attendance.py index 7bd1fd0aaa..4f1069a1e1 100644 --- a/erpnext/hr/doctype/upload_attendance/upload_attendance.py +++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.py @@ -51,7 +51,7 @@ def add_header(w): return w def add_data(w, args): - from accounts.utils import get_fiscal_year + from erpnext.accounts.utils import get_fiscal_year dates = get_dates(args) employees = get_active_employees() diff --git a/erpnext/startup/install.py b/erpnext/manage.py similarity index 79% rename from erpnext/startup/install.py rename to erpnext/manage.py index 94a3f55a1a..6f62673f41 100644 --- a/erpnext/startup/install.py +++ b/erpnext/manage.py @@ -5,41 +5,23 @@ from __future__ import unicode_literals import webnotes -def post_import(): - webnotes.conn.begin() +def get_hooks(): + return { + "app_include_js": ["assets/js/erpnext.min.js"], + "app_include_css": ["assets/css/erpnext.css"], + "desktop_icons": get_desktop_icons(), + "boot_session": ["erpnext.startup.boot.boot_session"] + } - # feature setup +def after_install(): import_defaults() import_country_and_currency() - - # home page webnotes.conn.set_value('Control Panel', None, 'home_page', 'setup-wizard') - - # features feature_setup() - - # all roles to Administrator - from setup.page.setup_wizard.setup_wizard import add_all_roles_to + from erpnext.setup.page.setup_wizard.setup_wizard import add_all_roles_to add_all_roles_to("Administrator") - webnotes.conn.commit() -def feature_setup(): - """save global defaults and features setup""" - bean = webnotes.bean("Features Setup", "Features Setup") - bean.ignore_permissions = True - - # store value as 1 for all these fields - flds = ['fs_item_serial_nos', 'fs_item_batch_nos', 'fs_brands', 'fs_item_barcode', - 'fs_item_advanced', 'fs_packing_details', 'fs_item_group_in_details', - 'fs_exports', 'fs_imports', 'fs_discounts', 'fs_purchase_discounts', - 'fs_after_sales_installations', 'fs_projects', 'fs_sales_extras', - 'fs_recurring_invoice', 'fs_pos', 'fs_manufacturing', 'fs_quality', - 'fs_page_break', 'fs_more_info', 'fs_pos_view' - ] - bean.doc.fields.update(dict(zip(flds, [1]*len(flds)))) - bean.save() - def import_country_and_currency(): from webnotes.country_info import get_all data = get_all() @@ -138,4 +120,94 @@ def import_defaults(): if parent_link_field in bean.doc.fields and not bean.doc.fields.get(parent_link_field): bean.ignore_mandatory = True - bean.insert() \ No newline at end of file + bean.insert() + +def feature_setup(): + """save global defaults and features setup""" + bean = webnotes.bean("Features Setup", "Features Setup") + bean.ignore_permissions = True + + # store value as 1 for all these fields + flds = ['fs_item_serial_nos', 'fs_item_batch_nos', 'fs_brands', 'fs_item_barcode', + 'fs_item_advanced', 'fs_packing_details', 'fs_item_group_in_details', + 'fs_exports', 'fs_imports', 'fs_discounts', 'fs_purchase_discounts', + 'fs_after_sales_installations', 'fs_projects', 'fs_sales_extras', + 'fs_recurring_invoice', 'fs_pos', 'fs_manufacturing', 'fs_quality', + 'fs_page_break', 'fs_more_info', 'fs_pos_view' + ] + bean.doc.fields.update(dict(zip(flds, [1]*len(flds)))) + bean.save() + +def get_desktop_icons(): + return { + "Accounts": { + "color": "#3498db", + "icon": "icon-money", + "link": "accounts-home", + "type": "module" + }, + "Activity": { + "color": "#e67e22", + "icon": "icon-play", + "label": "Activity", + "link": "activity", + "type": "page" + }, + "Buying": { + "color": "#c0392b", + "icon": "icon-shopping-cart", + "link": "buying-home", + "type": "module" + }, + "HR": { + "color": "#2ecc71", + "icon": "icon-group", + "label": "Human Resources", + "link": "hr-home", + "type": "module" + }, + "Manufacturing": { + "color": "#7f8c8d", + "icon": "icon-cogs", + "link": "manufacturing-home", + "type": "module" + }, + "Notes": { + "color": "#95a5a6", + "doctype": "Note", + "icon": "icon-file-alt", + "label": "Notes", + "link": "List/Note", + "type": "list" + }, + "Projects": { + "color": "#8e44ad", + "icon": "icon-puzzle-piece", + "link": "projects-home", + "type": "module" + }, + "Selling": { + "color": "#1abc9c", + "icon": "icon-tag", + "link": "selling-home", + "type": "module" + }, + "Setup": { + "color": "#bdc3c7", + "icon": "icon-wrench", + "link": "Setup", + "type": "setup" + }, + "Stock": { + "color": "#f39c12", + "icon": "icon-truck", + "link": "stock-home", + "type": "module" + }, + "Support": { + "color": "#2c3e50", + "icon": "icon-phone", + "link": "support-home", + "type": "module" + } + } diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 7b647a7cec..45e96f771c 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -30,7 +30,7 @@ class DocType: self.clear_operations() self.validate_main_item() - from utilities.transaction_base import validate_uom_is_integer + from erpnext.utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "qty") self.validate_operations() @@ -152,7 +152,7 @@ class DocType: as per valuation method (MAR/FIFO) as on costing date """ - from stock.utils import get_incoming_rate + from erpnext.stock.utils import get_incoming_rate dt = self.doc.costing_date or nowdate() time = self.doc.costing_date == nowdate() and now().split()[1] or '23:59' warehouse = webnotes.conn.sql("select warehouse from `tabBin` where item_code = %s", args['item_code']) diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py index 7917ab3b27..5f9186a14d 100644 --- a/erpnext/manufacturing/doctype/bom/test_bom.py +++ b/erpnext/manufacturing/doctype/bom/test_bom.py @@ -98,14 +98,14 @@ test_records = [ class TestBOM(unittest.TestCase): def test_get_items(self): - from manufacturing.doctype.bom.bom import get_bom_items_as_dict + from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict items_dict = get_bom_items_as_dict(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=0) self.assertTrue(test_records[2][1]["item_code"] in items_dict) self.assertTrue(test_records[2][2]["item_code"] in items_dict) self.assertEquals(len(items_dict.values()), 2) def test_get_items_exploded(self): - from manufacturing.doctype.bom.bom import get_bom_items_as_dict + from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict items_dict = get_bom_items_as_dict(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1) self.assertTrue(test_records[2][1]["item_code"] in items_dict) self.assertFalse(test_records[2][2]["item_code"] in items_dict) @@ -114,6 +114,6 @@ class TestBOM(unittest.TestCase): self.assertEquals(len(items_dict.values()), 3) def test_get_items_list(self): - from manufacturing.doctype.bom.bom import get_bom_items + from erpnext.manufacturing.doctype.bom.bom import get_bom_items self.assertEquals(len(get_bom_items(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1)), 3) diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js index 2277262fd2..075f8bd1a4 100644 --- a/erpnext/manufacturing/doctype/production_order/production_order.js +++ b/erpnext/manufacturing/doctype/production_order/production_order.js @@ -70,7 +70,7 @@ cur_frm.cscript['Update Finished Goods'] = function() { cur_frm.cscript.make_se = function(purpose) { wn.call({ - method:"manufacturing.doctype.production_order.production_order.make_stock_entry", + method: "erpnext.manufacturing.doctype.production_order.production_order.make_stock_entry", args: { "production_order_id": cur_frm.doc.name, "purpose": purpose diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py index c5b2b04791..a6e219a568 100644 --- a/erpnext/manufacturing/doctype/production_order/production_order.py +++ b/erpnext/manufacturing/doctype/production_order/production_order.py @@ -20,15 +20,15 @@ class DocType: if self.doc.docstatus == 0: self.doc.status = "Draft" - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "In Process", "Completed", "Cancelled"]) self.validate_bom_no() self.validate_sales_order() self.validate_warehouse() - from utilities.transaction_base import validate_uom_is_integer + from erpnext.utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", ["qty", "produced_qty"]) def validate_bom_no(self): @@ -50,7 +50,7 @@ class DocType: self.validate_production_order_against_so() def validate_warehouse(self): - from stock.utils import validate_warehouse_user, validate_warehouse_company + from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company for w in [self.doc.fg_warehouse, self.doc.wip_warehouse]: validate_warehouse_user(w) @@ -128,7 +128,7 @@ class DocType: "posting_date": nowdate(), "planned_qty": flt(qty) } - from stock.utils import update_bin + from erpnext.stock.utils import update_bin update_bin(args) @webnotes.whitelist() diff --git a/erpnext/manufacturing/doctype/production_order/test_production_order.py b/erpnext/manufacturing/doctype/production_order/test_production_order.py index 52697292c8..62bb26eecf 100644 --- a/erpnext/manufacturing/doctype/production_order/test_production_order.py +++ b/erpnext/manufacturing/doctype/production_order/test_production_order.py @@ -5,8 +5,8 @@ from __future__ import unicode_literals import unittest import webnotes -from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory -from manufacturing.doctype.production_order.production_order import make_stock_entry +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory +from erpnext.manufacturing.doctype.production_order.production_order import make_stock_entry class TestProductionOrder(unittest.TestCase): @@ -20,7 +20,7 @@ class TestProductionOrder(unittest.TestCase): pro_bean.insert() pro_bean.submit() - from stock.doctype.stock_entry.test_stock_entry import test_records as se_test_records + from erpnext.stock.doctype.stock_entry.test_stock_entry import test_records as se_test_records mr1 = webnotes.bean(copy = se_test_records[0]) mr1.insert() mr1.submit() @@ -45,7 +45,7 @@ class TestProductionOrder(unittest.TestCase): return pro_bean.doc.name def test_over_production(self): - from stock.doctype.stock_entry.stock_entry import StockOverProductionError + from erpnext.stock.doctype.stock_entry.stock_entry import StockOverProductionError pro_order = self.test_planned_qty() stock_entry = make_stock_entry(pro_order, "Manufacture/Repack") diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py index f3626a3da3..cb611bade6 100644 --- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py @@ -173,7 +173,7 @@ class DocType: """It will raise production order (Draft) for all distinct FG items""" self.validate_data() - from utilities.transaction_base import validate_uom_is_integer + from erpnext.utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "planned_qty") items = self.get_distinct_items_and_boms()[1] @@ -208,7 +208,7 @@ class DocType: def create_production_order(self, items): """Create production order. Called from Production Planning Tool""" - from manufacturing.doctype.production_order.production_order import OverProductionError + from erpnext.manufacturing.doctype.production_order.production_order import OverProductionError pro_list = [] for key in items: @@ -302,7 +302,7 @@ class DocType: item_projected_qty = self.get_projected_qty() - from accounts.utils import get_fiscal_year + from erpnext.accounts.utils import get_fiscal_year fiscal_year = get_fiscal_year(nowdate())[0] items_to_be_requested = webnotes._dict() diff --git a/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py b/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py index 18fe9b5b0c..c6f0612f87 100644 --- a/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py +++ b/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py @@ -3,7 +3,7 @@ import webnotes from webnotes.utils import cstr -from stock.stock_ledger import update_entries_after +from erpnext.stock.stock_ledger import update_entries_after def execute(): webnotes.conn.auto_commit_on_many_writes = 1 diff --git a/erpnext/patches/december_2012/repost_ordered_qty.py b/erpnext/patches/december_2012/repost_ordered_qty.py index 05cbb64e77..5b24fdf34b 100644 --- a/erpnext/patches/december_2012/repost_ordered_qty.py +++ b/erpnext/patches/december_2012/repost_ordered_qty.py @@ -3,7 +3,7 @@ def execute(): import webnotes - from utilities.repost_stock import get_ordered_qty, update_bin + from erpnext.utilities.repost_stock import get_ordered_qty, update_bin for d in webnotes.conn.sql("select item_code, warehouse from tabBin"): update_bin(d[0], d[1], { diff --git a/erpnext/patches/february_2013/repost_reserved_qty.py b/erpnext/patches/february_2013/repost_reserved_qty.py index 442a81b109..fbc6f1a172 100644 --- a/erpnext/patches/february_2013/repost_reserved_qty.py +++ b/erpnext/patches/february_2013/repost_reserved_qty.py @@ -4,7 +4,7 @@ import webnotes def execute(): webnotes.conn.auto_commit_on_many_writes = 1 - from utilities.repost_stock import get_reserved_qty, update_bin + from erpnext.utilities.repost_stock import get_reserved_qty, update_bin for d in webnotes.conn.sql("select item_code, warehouse from tabBin"): update_bin(d[0], d[1], { diff --git a/erpnext/patches/july_2013/restore_tree_roots.py b/erpnext/patches/july_2013/restore_tree_roots.py index b6a988fa3c..91b328ce2e 100644 --- a/erpnext/patches/july_2013/restore_tree_roots.py +++ b/erpnext/patches/july_2013/restore_tree_roots.py @@ -2,5 +2,5 @@ # License: GNU General Public License v3. See license.txt def execute(): - from startup.install import import_defaults + from erpnext.startup.install import import_defaults import_defaults() \ No newline at end of file diff --git a/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py b/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py index 735a28a7d5..f80209f5bd 100644 --- a/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py +++ b/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py @@ -4,7 +4,7 @@ import webnotes def execute(): - from utilities.transaction_base import delete_events + from erpnext.utilities.transaction_base import delete_events # delete orphaned Event User webnotes.conn.sql("""delete from `tabEvent User` diff --git a/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py b/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py index 1cdb78399c..4a224e34f0 100644 --- a/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py +++ b/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py @@ -9,7 +9,7 @@ def execute(): webnotes.reload_doc("accounts", "doctype", "sales_taxes_and_charges_master") webnotes.reload_doc("accounts", "doctype", "shipping_rule") - from setup.utils import get_root_of + from erpnext.setup.utils import get_root_of root_territory = get_root_of("Territory") for parenttype in ["Sales Taxes and Charges Master", "Price List", "Shipping Rule"]: diff --git a/erpnext/patches/june_2013/p08_shopping_cart_settings.py b/erpnext/patches/june_2013/p08_shopping_cart_settings.py index 6af7eb83fd..45028c8731 100644 --- a/erpnext/patches/june_2013/p08_shopping_cart_settings.py +++ b/erpnext/patches/june_2013/p08_shopping_cart_settings.py @@ -7,7 +7,7 @@ def execute(): webnotes.reload_doc("selling", "doctype", "shopping_cart_settings") # create two default territories, one for home country and one named Rest of the World - from setup.page.setup_wizard.setup_wizard import create_territories + from erpnext.setup.page.setup_wizard.setup_wizard import create_territories create_territories() webnotes.conn.set_value("Shopping Cart Settings", None, "default_territory", "Rest of the World") diff --git a/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py b/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py index 1f5adf67ab..97510c713e 100644 --- a/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py +++ b/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py @@ -2,7 +2,7 @@ # License: GNU General Public License v3. See license.txt import webnotes -from accounts.utils import get_fiscal_year, FiscalYearError +from erpnext.accounts.utils import get_fiscal_year, FiscalYearError def execute(): webnotes.reload_doc("stock", "doctype", "stock_entry") diff --git a/erpnext/patches/may_2013/p02_update_valuation_rate.py b/erpnext/patches/may_2013/p02_update_valuation_rate.py index b521734a57..1419ebf505 100644 --- a/erpnext/patches/may_2013/p02_update_valuation_rate.py +++ b/erpnext/patches/may_2013/p02_update_valuation_rate.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import webnotes def execute(): - from stock.stock_ledger import update_entries_after + from erpnext.stock.stock_ledger import update_entries_after item_warehouse = [] # update valuation_rate in transaction doctypes = {"Purchase Receipt": "purchase_receipt_details", "Purchase Invoice": "entries"} diff --git a/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py b/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py index db03992e2e..b36ccf3881 100644 --- a/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py +++ b/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals def execute(): import webnotes - from stock.stock_ledger import update_entries_after + from erpnext.stock.stock_ledger import update_entries_after res = webnotes.conn.sql("""select distinct item_code, warehouse from `tabStock Ledger Entry` where posting_time = '00:00'""") diff --git a/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py b/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py index 593742250b..889f5e27f8 100644 --- a/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py +++ b/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import nowdate, nowtime, cstr -from accounts.utils import get_fiscal_year +from erpnext.accounts.utils import get_fiscal_year def execute(): item_map = {} diff --git a/erpnext/patches/october_2013/repost_planned_qty.py b/erpnext/patches/october_2013/repost_planned_qty.py index 6a78d3382b..1e9da30fe3 100644 --- a/erpnext/patches/october_2013/repost_planned_qty.py +++ b/erpnext/patches/october_2013/repost_planned_qty.py @@ -3,7 +3,7 @@ def execute(): import webnotes - from utilities.repost_stock import get_planned_qty, update_bin + from erpnext.utilities.repost_stock import get_planned_qty, update_bin for d in webnotes.conn.sql("select item_code, warehouse from tabBin"): update_bin(d[0], d[1], { diff --git a/erpnext/patches/september_2012/repost_stock.py b/erpnext/patches/september_2012/repost_stock.py index 5df65a21c6..11c87475f1 100644 --- a/erpnext/patches/september_2012/repost_stock.py +++ b/erpnext/patches/september_2012/repost_stock.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals def execute(): import webnotes - from stock.stock_ledger import update_entries_after + from erpnext.stock.stock_ledger import update_entries_after res = webnotes.conn.sql("select distinct item_code, warehouse from `tabStock Ledger Entry`") i=0 for d in res: diff --git a/erpnext/portal/templates/includes/cart.js b/erpnext/portal/templates/includes/cart.js index 232501d4a2..0765c60e1f 100644 --- a/erpnext/portal/templates/includes/cart.js +++ b/erpnext/portal/templates/includes/cart.js @@ -7,7 +7,7 @@ $(document).ready(function() { erpnext.cart.bind_events(); return wn.call({ type: "POST", - method: "selling.utils.cart.get_cart_quotation", + method: "erpnext.selling.utils.cart.get_cart_quotation", callback: function(r) { $("#cart-container").removeClass("hide"); $(".progress").remove(); @@ -193,7 +193,7 @@ $.extend(erpnext.cart, { return wn.call({ btn: btn, type: "POST", - method: "selling.utils.cart.apply_shipping_rule", + method: "erpnext.selling.utils.cart.apply_shipping_rule", args: { shipping_rule: rule }, callback: function(r) { if(!r.exc) { @@ -241,7 +241,7 @@ $.extend(erpnext.cart, { return wn.call({ type: "POST", - method: "selling.utils.cart.update_cart_address", + method: "erpnext.selling.utils.cart.update_cart_address", args: { address_fieldname: $address_wrapper.attr("data-fieldname"), address_name: $(this).attr("data-address-name") @@ -272,7 +272,7 @@ $.extend(erpnext.cart, { place_order: function(btn) { return wn.call({ type: "POST", - method: "selling.utils.cart.place_order", + method: "erpnext.selling.utils.cart.place_order", btn: btn, callback: function(r) { if(r.exc) { diff --git a/erpnext/portal/templates/pages/profile.py b/erpnext/portal/templates/pages/profile.py index 241f953974..143abef418 100644 --- a/erpnext/portal/templates/pages/profile.py +++ b/erpnext/portal/templates/pages/profile.py @@ -10,7 +10,7 @@ no_cache = True no_sitemap = True def get_context(): - from selling.utils.cart import get_lead_or_customer + from erpnext.selling.utils.cart import get_lead_or_customer party = get_lead_or_customer() if party.doctype == "Lead": mobile_no = party.mobile_no @@ -27,7 +27,7 @@ def get_context(): @webnotes.whitelist() def update_profile(fullname, password=None, company_name=None, mobile_no=None, phone=None): - from selling.utils.cart import update_party + from erpnext.selling.utils.cart import update_party update_party(fullname, company_name, mobile_no, phone) if not fullname: diff --git a/erpnext/portal/utils.py b/erpnext/portal/utils.py index 727edf3aff..9ec542262a 100644 --- a/erpnext/portal/utils.py +++ b/erpnext/portal/utils.py @@ -67,11 +67,11 @@ def send_message(subject="Website Query", message="", sender="", status="Open"): if subject=="Support": # create support ticket - from support.doctype.support_ticket.get_support_mails import add_support_communication + from erpnext.support.doctype.support_ticket.get_support_mails import add_support_communication add_support_communication(subject, message, sender, mail=None) else: # make lead / communication - from selling.doctype.lead.get_leads import add_sales_communication + from erpnext.selling.doctype.lead.get_leads import add_sales_communication add_sales_communication(subject or "Website Query", message, sender, sender, mail=None, status=status) \ No newline at end of file diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py index 5b20c5ba6a..f159452313 100644 --- a/erpnext/projects/doctype/project/project.py +++ b/erpnext/projects/doctype/project/project.py @@ -6,7 +6,7 @@ import webnotes from webnotes.utils import flt, getdate from webnotes import msgprint -from utilities.transaction_base import delete_events +from erpnext.utilities.transaction_base import delete_events class DocType: def __init__(self, doc, doclist=None): diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py index 227119e901..85d8a4986e 100644 --- a/erpnext/projects/doctype/task/task.py +++ b/erpnext/projects/doctype/task/task.py @@ -80,7 +80,7 @@ def get_events(start, end, filters=None): return data def get_project(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond return webnotes.conn.sql(""" select name from `tabProject` where %(key)s like "%(txt)s" %(mcond)s diff --git a/erpnext/projects/doctype/task/task_calendar.js b/erpnext/projects/doctype/task/task_calendar.js index 62d9757f48..f6adf58d9e 100644 --- a/erpnext/projects/doctype/task/task_calendar.js +++ b/erpnext/projects/doctype/task/task_calendar.js @@ -18,5 +18,5 @@ wn.views.calendar["Task"] = { "label": wn._("Project") } ], - get_events_method: "projects.doctype.task.task.get_events" + get_events_method: "erpnext.projects.doctype.task.task.get_events" } \ No newline at end of file diff --git a/erpnext/projects/doctype/time_log/test_time_log.py b/erpnext/projects/doctype/time_log/test_time_log.py index c62bee17c8..23206d69a1 100644 --- a/erpnext/projects/doctype/time_log/test_time_log.py +++ b/erpnext/projects/doctype/time_log/test_time_log.py @@ -4,7 +4,7 @@ import webnotes import unittest -from projects.doctype.time_log.time_log import OverlapError +from erpnext.projects.doctype.time_log.time_log import OverlapError class TestTimeLog(unittest.TestCase): def test_duplication(self): diff --git a/erpnext/projects/doctype/time_log/time_log_calendar.js b/erpnext/projects/doctype/time_log/time_log_calendar.js index 2451de170d..ea14074cc7 100644 --- a/erpnext/projects/doctype/time_log/time_log_calendar.js +++ b/erpnext/projects/doctype/time_log/time_log_calendar.js @@ -9,5 +9,5 @@ wn.views.calendar["Time Log"] = { "title": "title", "allDay": "allDay" }, - get_events_method: "projects.doctype.time_log.time_log.get_events" + get_events_method: "erpnext.projects.doctype.time_log.time_log.get_events" } \ No newline at end of file diff --git a/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py b/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py index 8a7e6f528f..9fbf709f07 100644 --- a/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py +++ b/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py @@ -5,7 +5,7 @@ import webnotes, unittest class TimeLogBatchTest(unittest.TestCase): def test_time_log_status(self): - from projects.doctype.time_log.test_time_log import test_records as time_log_records + from erpnext.projects.doctype.time_log.test_time_log import test_records as time_log_records time_log = webnotes.bean(copy=time_log_records[0]) time_log.doc.fields.update({ "from_time": "2013-01-02 10:00:00", diff --git a/erpnext/public/js/conf.js b/erpnext/public/js/conf.js index 929bfcaa59..0c53ecdc4b 100644 --- a/erpnext/public/js/conf.js +++ b/erpnext/public/js/conf.js @@ -9,7 +9,7 @@ $(document).bind('toolbar_setup', function() { var brand = ($("

").append(wn.boot.website_settings.brand_html).text() || 'erpnext'); $('.navbar-brand').html('
\ - \ + \
' + brand) .attr("title", brand) .addClass("navbar-icon-home") diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js index 4c4a810ed2..96f10c7c57 100644 --- a/erpnext/public/js/transaction.js +++ b/erpnext/public/js/transaction.js @@ -214,7 +214,7 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({ var fieldname = buying_or_selling.toLowerCase() + "_price_list"; if(this.frm.doc[fieldname]) { return this.frm.call({ - method: "setup.utils.get_price_list_currency", + method: "erpnext.setup.utils.get_price_list_currency", args: { price_list: this.frm.doc[fieldname], }, diff --git a/erpnext/public/js/website_utils.js b/erpnext/public/js/website_utils.js index e752812fd6..fda30b8af6 100644 --- a/erpnext/public/js/website_utils.js +++ b/erpnext/public/js/website_utils.js @@ -8,7 +8,7 @@ if(!window.erpnext) erpnext = {}; wn.send_message = function(opts, btn) { return wn.call({ type: "POST", - method: "portal.utils.send_message", + method: "erpnext.portal.utils.send_message", btn: btn, args: opts, callback: opts.callback @@ -46,7 +46,7 @@ $.extend(erpnext.cart, { } else { return wn.call({ type: "POST", - method: "selling.utils.cart.update_cart", + method: "erpnext.selling.utils.cart.update_cart", args: { item_code: opts.item_code, qty: opts.qty, diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js index 5e0ccc98f2..8ec4a2bd37 100644 --- a/erpnext/selling/doctype/customer/customer.js +++ b/erpnext/selling/doctype/customer/customer.js @@ -52,7 +52,7 @@ cur_frm.cscript.setup_dashboard = function(doc) { return wn.call({ type: "GET", - method:"selling.doctype.customer.customer.get_dashboard_info", + method: "erpnext.selling.doctype.customer.customer.get_dashboard_info", args: { customer: cur_frm.doc.name }, diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index d00926f43c..185c74b300 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -9,7 +9,7 @@ from webnotes import msgprint, _ import webnotes.defaults -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, doc, doclist=[]): @@ -144,7 +144,7 @@ class DocType(TransactionBase): webnotes.conn.sql("update `tabLead` set status='Interested' where name=%s",self.doc.lead_name) def before_rename(self, olddn, newdn, merge=False): - from accounts.utils import rename_account_for + from erpnext.accounts.utils import rename_account_for rename_account_for("Customer", olddn, newdn, merge) def after_rename(self, olddn, newdn, merge=False): diff --git a/erpnext/selling/doctype/installation_note/installation_note.js b/erpnext/selling/doctype/installation_note/installation_note.js index ea777e0d77..d96b993d79 100644 --- a/erpnext/selling/doctype/installation_note/installation_note.js +++ b/erpnext/selling/doctype/installation_note/installation_note.js @@ -47,7 +47,7 @@ erpnext.selling.InstallationNote = wn.ui.form.Controller.extend({ cur_frm.add_custom_button(wn._('From Delivery Note'), function() { wn.model.map_current_doc({ - method: "stock.doctype.delivery_note.delivery_note.make_installation_note", + method: "erpnext.stock.doctype.delivery_note.delivery_note.make_installation_note", source_doctype: "Delivery Note", get_query_filters: { docstatus: 1, diff --git a/erpnext/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py index 026d7e1162..253e43ea7b 100644 --- a/erpnext/selling/doctype/installation_note/installation_note.py +++ b/erpnext/selling/doctype/installation_note/installation_note.py @@ -7,9 +7,9 @@ import webnotes from webnotes.utils import cstr, getdate from webnotes.model.bean import getlist from webnotes import msgprint -from stock.utils import get_valid_serial_nos +from erpnext.stock.utils import get_valid_serial_nos -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, doc, doclist=[]): @@ -36,11 +36,11 @@ class DocType(TransactionBase): self.validate_installation_date() self.check_item_table() - from controllers.selling_controller import check_active_sales_items + from erpnext.controllers.selling_controller import check_active_sales_items check_active_sales_items(self) def validate_fiscal_year(self): - from accounts.utils import validate_fiscal_year + from erpnext.accounts.utils import validate_fiscal_year validate_fiscal_year(self.doc.inst_date, self.doc.fiscal_year, "Installation Date") def is_serial_no_added(self, item_code, serial_no): diff --git a/erpnext/selling/doctype/lead/lead.js b/erpnext/selling/doctype/lead/lead.js index 54a249fbe1..cf972b602c 100644 --- a/erpnext/selling/doctype/lead/lead.js +++ b/erpnext/selling/doctype/lead/lead.js @@ -77,14 +77,14 @@ erpnext.LeadController = wn.ui.form.Controller.extend({ create_customer: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.lead.lead.make_customer", + method: "erpnext.selling.doctype.lead.lead.make_customer", source_name: cur_frm.doc.name }) }, create_opportunity: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.lead.lead.make_opportunity", + method: "erpnext.selling.doctype.lead.lead.make_opportunity", source_name: cur_frm.doc.name }) } diff --git a/erpnext/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py index 26c06bb5e6..e5f2b62333 100644 --- a/erpnext/selling/doctype/lead/lead.py +++ b/erpnext/selling/doctype/lead/lead.py @@ -8,7 +8,7 @@ from webnotes.utils import cstr, validate_email_add, cint, extract_email_id from webnotes import session, msgprint -from controllers.selling_controller import SellingController +from erpnext.controllers.selling_controller import SellingController class DocType(SellingController): def __init__(self, doc, doclist): diff --git a/erpnext/selling/doctype/lead/test_lead.py b/erpnext/selling/doctype/lead/test_lead.py index ec18ff7d6f..d3f6f03d06 100644 --- a/erpnext/selling/doctype/lead/test_lead.py +++ b/erpnext/selling/doctype/lead/test_lead.py @@ -19,7 +19,7 @@ import unittest class TestLead(unittest.TestCase): def test_make_customer(self): - from selling.doctype.lead.lead import make_customer + from erpnext.selling.doctype.lead.lead import make_customer customer = make_customer("_T-Lead-00001") self.assertEquals(customer[0]["doctype"], "Customer") diff --git a/erpnext/selling/doctype/opportunity/opportunity.js b/erpnext/selling/doctype/opportunity/opportunity.js index 05970fc350..5fc84fa9b0 100644 --- a/erpnext/selling/doctype/opportunity/opportunity.js +++ b/erpnext/selling/doctype/opportunity/opportunity.js @@ -91,7 +91,7 @@ erpnext.selling.Opportunity = wn.ui.form.Controller.extend({ create_quotation: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.opportunity.opportunity.make_quotation", + method: "erpnext.selling.doctype.opportunity.opportunity.make_quotation", source_name: cur_frm.doc.name }) } @@ -162,7 +162,7 @@ cur_frm.cscript.lead = function(doc, cdt, cdn) { cur_frm.toggle_display("contact_info", doc.customer || doc.lead); wn.model.map_current_doc({ - method: "selling.doctype.lead.lead.make_opportunity", + method: "erpnext.selling.doctype.lead.lead.make_opportunity", source_name: cur_frm.doc.lead }) diff --git a/erpnext/selling/doctype/opportunity/opportunity.py b/erpnext/selling/doctype/opportunity/opportunity.py index e6c0afeb35..00a447f956 100644 --- a/erpnext/selling/doctype/opportunity/opportunity.py +++ b/erpnext/selling/doctype/opportunity/opportunity.py @@ -9,7 +9,7 @@ from webnotes.model.bean import getlist from webnotes import msgprint, _ -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self,doc,doclist): @@ -104,7 +104,7 @@ class DocType(TransactionBase): self.validate_uom_is_integer("uom", "qty") self.validate_lead_cust() - from accounts.utils import validate_fiscal_year + from erpnext.accounts.utils import validate_fiscal_year validate_fiscal_year(self.doc.transaction_date, self.doc.fiscal_year, "Opportunity Date") def on_submit(self): diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js index c7bf44718f..9f145ceb46 100644 --- a/erpnext/selling/doctype/quotation/quotation.js +++ b/erpnext/selling/doctype/quotation/quotation.js @@ -39,7 +39,7 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({ cur_frm.add_custom_button(wn._('From Opportunity'), function() { wn.model.map_current_doc({ - method: "selling.doctype.opportunity.opportunity.make_quotation", + method: "erpnext.selling.doctype.opportunity.opportunity.make_quotation", source_doctype: "Opportunity", get_query_filters: { docstatus: 1, @@ -112,7 +112,7 @@ cur_frm.cscript.lead = function(doc, cdt, cdn) { // ===================================================================================== cur_frm.cscript['Make Sales Order'] = function() { wn.model.open_mapped_doc({ - method: "selling.doctype.quotation.quotation.make_sales_order", + method: "erpnext.selling.doctype.quotation.quotation.make_sales_order", source_name: cur_frm.doc.name }) } diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py index f2546b9cfa..6a030b99f9 100644 --- a/erpnext/selling/doctype/quotation/quotation.py +++ b/erpnext/selling/doctype/quotation/quotation.py @@ -11,7 +11,7 @@ from webnotes import _, msgprint -from controllers.selling_controller import SellingController +from erpnext.controllers.selling_controller import SellingController class DocType(SellingController): def __init__(self, doc, doclist=[]): @@ -150,7 +150,7 @@ def _make_customer(source_name, ignore_permissions=False): lead_name = quotation[0] customer_name = webnotes.conn.get_value("Customer", {"lead_name": lead_name}) if not customer_name: - from selling.doctype.lead.lead import _make_customer + from erpnext.selling.doctype.lead.lead import _make_customer customer_doclist = _make_customer(lead_name, ignore_permissions=ignore_permissions) customer = webnotes.bean(customer_doclist) customer.ignore_permissions = ignore_permissions diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py index 8f0e644cb9..00cbd6cd9e 100644 --- a/erpnext/selling/doctype/quotation/test_quotation.py +++ b/erpnext/selling/doctype/quotation/test_quotation.py @@ -9,7 +9,7 @@ test_dependencies = ["Sales BOM"] class TestQuotation(unittest.TestCase): def test_make_sales_order(self): - from selling.doctype.quotation.quotation import make_sales_order + from erpnext.selling.doctype.quotation.quotation import make_sales_order quotation = webnotes.bean(copy=test_records[0]) quotation.insert() diff --git a/erpnext/selling/doctype/sales_bom/sales_bom.py b/erpnext/selling/doctype/sales_bom/sales_bom.py index f6cfafa41d..2f47be3334 100644 --- a/erpnext/selling/doctype/sales_bom/sales_bom.py +++ b/erpnext/selling/doctype/sales_bom/sales_bom.py @@ -14,7 +14,7 @@ class DocType: def validate(self): self.validate_main_item() - from utilities.transaction_base import validate_uom_is_integer + from erpnext.utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "uom", "qty") def validate_main_item(self): @@ -33,7 +33,7 @@ class DocType: } def get_new_item_code(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond return webnotes.conn.sql("""select name, item_name, description from tabItem where is_stock_item="No" and is_sales_item="Yes" diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index e4b3caf486..a8ba5022e9 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -62,7 +62,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( cur_frm.add_custom_button(wn._('From Quotation'), function() { wn.model.map_current_doc({ - method: "selling.doctype.quotation.quotation.make_sales_order", + method: "erpnext.selling.doctype.quotation.quotation.make_sales_order", source_doctype: "Quotation", get_query_filters: { docstatus: 1, @@ -90,7 +90,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( var item = wn.model.get_doc(cdt, cdn); if(item.item_code && item.reserved_warehouse) { return this.frm.call({ - method: "selling.utils.get_available_qty", + method: "erpnext.selling.utils.get_available_qty", child: item, args: { item_code: item.item_code, @@ -102,35 +102,35 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( make_material_request: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.sales_order.sales_order.make_material_request", + method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request", source_name: cur_frm.doc.name }) }, make_delivery_note: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.sales_order.sales_order.make_delivery_note", + method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note", source_name: cur_frm.doc.name }) }, make_sales_invoice: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.sales_order.sales_order.make_sales_invoice", + method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice", source_name: cur_frm.doc.name }) }, make_maintenance_schedule: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.sales_order.sales_order.make_maintenance_schedule", + method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule", source_name: cur_frm.doc.name }) }, make_maintenance_visit: function() { wn.model.open_mapped_doc({ - method: "selling.doctype.sales_order.sales_order.make_maintenance_visit", + method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit", source_name: cur_frm.doc.name }) }, diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 771aafa6c3..aa5f214fba 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -11,7 +11,7 @@ from webnotes.model.code import get_obj from webnotes import msgprint from webnotes.model.mapper import get_mapped_doclist -from controllers.selling_controller import SellingController +from erpnext.controllers.selling_controller import SellingController class DocType(SellingController): def __init__(self, doc, doclist=None): @@ -111,7 +111,7 @@ class DocType(SellingController): self.validate_for_items() self.validate_warehouse() - from stock.doctype.packed_item.packed_item import make_packing_list + from erpnext.stock.doctype.packed_item.packed_item import make_packing_list self.doclist = make_packing_list(self,'sales_order_details') self.validate_with_previous_doc() @@ -119,8 +119,8 @@ class DocType(SellingController): if not self.doc.status: self.doc.status = "Draft" - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"]) if not self.doc.billing_status: self.doc.billing_status = 'Not Billed' @@ -128,7 +128,7 @@ class DocType(SellingController): def validate_warehouse(self): - from stock.utils import validate_warehouse_user, validate_warehouse_company + from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company warehouses = list(set([d.reserved_warehouse for d in self.doclist.get({"doctype": self.tname}) if d.reserved_warehouse])) @@ -231,7 +231,7 @@ class DocType(SellingController): def update_stock_ledger(self, update_stock): - from stock.utils import update_bin + from erpnext.stock.utils import update_bin for d in self.get_item_list(): if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes": args = { diff --git a/erpnext/selling/doctype/sales_order/templates/pages/order.py b/erpnext/selling/doctype/sales_order/templates/pages/order.py index d53a8b0f6f..0f996e4183 100644 --- a/erpnext/selling/doctype/sales_order/templates/pages/order.py +++ b/erpnext/selling/doctype/sales_order/templates/pages/order.py @@ -8,7 +8,7 @@ from webnotes import _ no_cache = True def get_context(): - from portal.utils import get_transaction_context + from erpnext.portal.utils import get_transaction_context context = get_transaction_context("Sales Order", webnotes.form_dict.name) modify_status(context.get("doc")) context.update({ diff --git a/erpnext/selling/doctype/sales_order/templates/pages/orders.py b/erpnext/selling/doctype/sales_order/templates/pages/orders.py index d7f83dc806..ad523fca70 100644 --- a/erpnext/selling/doctype/sales_order/templates/pages/orders.py +++ b/erpnext/selling/doctype/sales_order/templates/pages/orders.py @@ -7,7 +7,7 @@ import webnotes no_cache = True def get_context(): - from portal.utils import get_currency_context + from erpnext.portal.utils import get_currency_context context = get_currency_context() context.update({ "title": "My Orders", @@ -20,8 +20,8 @@ def get_context(): @webnotes.whitelist() def get_orders(start=0): - from portal.utils import get_transaction_list - from selling.doctype.sales_order.templates.pages.order import modify_status + from erpnext.portal.utils import get_transaction_list + from erpnext.selling.doctype.sales_order.templates.pages.order import modify_status orders = get_transaction_list("Sales Order", start, ["per_billed", "per_delivered"]) for d in orders: modify_status(d) diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py index 1549b24c89..31c7cbc151 100644 --- a/erpnext/selling/doctype/sales_order/test_sales_order.py +++ b/erpnext/selling/doctype/sales_order/test_sales_order.py @@ -7,7 +7,7 @@ import unittest class TestSalesOrder(unittest.TestCase): def test_make_material_request(self): - from selling.doctype.sales_order.sales_order import make_material_request + from erpnext.selling.doctype.sales_order.sales_order import make_material_request so = webnotes.bean(copy=test_records[0]).insert() @@ -22,7 +22,7 @@ class TestSalesOrder(unittest.TestCase): self.assertEquals(len(mr), len(sales_order.doclist)) def test_make_delivery_note(self): - from selling.doctype.sales_order.sales_order import make_delivery_note + from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note so = webnotes.bean(copy=test_records[0]).insert() @@ -37,7 +37,7 @@ class TestSalesOrder(unittest.TestCase): self.assertEquals(len(dn), len(sales_order.doclist)) def test_make_sales_invoice(self): - from selling.doctype.sales_order.sales_order import make_sales_invoice + from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice so = webnotes.bean(copy=test_records[0]).insert() @@ -71,8 +71,8 @@ class TestSalesOrder(unittest.TestCase): return w def create_dn_against_so(self, so, delivered_qty=0): - from stock.doctype.delivery_note.test_delivery_note import test_records as dn_test_records - from stock.doctype.delivery_note.test_delivery_note import _insert_purchase_receipt + 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 _insert_purchase_receipt _insert_purchase_receipt(so.doclist[1].item_code) @@ -164,7 +164,7 @@ class TestSalesOrder(unittest.TestCase): self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].reserved_warehouse, 10.0) def test_reserved_qty_for_so_with_packing_list(self): - from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records + from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records # change item in test so record test_record = test_records[0][:] @@ -191,7 +191,7 @@ class TestSalesOrder(unittest.TestCase): so.doclist[1].reserved_warehouse, 0.0) def test_reserved_qty_for_partial_delivery_with_packing_list(self): - from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records + from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records # change item in test so record @@ -241,7 +241,7 @@ class TestSalesOrder(unittest.TestCase): so.doclist[1].reserved_warehouse, 20.0) def test_reserved_qty_for_over_delivery_with_packing_list(self): - from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records + from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records # change item in test so record test_record = webnotes.copy_doclist(test_records[0]) @@ -284,7 +284,7 @@ class TestSalesOrder(unittest.TestCase): webnotes.session.user = "test@example.com" - from stock.utils import UserNotAllowedForWarehouse + from erpnext.stock.utils import UserNotAllowedForWarehouse so = webnotes.bean(copy = test_records[0]) so.doc.company = "_Test Company 1" so.doc.conversion_rate = 0.02 diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.py b/erpnext/selling/doctype/selling_settings/selling_settings.py index 0895e3f7b8..c28061932e 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.py +++ b/erpnext/selling/doctype/selling_settings/selling_settings.py @@ -15,6 +15,6 @@ class DocType: "editable_price_list_rate", "selling_price_list"]: webnotes.conn.set_default(key, self.doc.fields.get(key, "")) - from setup.doctype.naming_series.naming_series import set_by_naming_series + from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series set_by_naming_series("Customer", "customer_name", self.doc.get("cust_master_name")=="Naming Series", hide_name_field=False) diff --git a/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py b/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py index 6912ac5635..923936e8a5 100644 --- a/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py +++ b/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py @@ -47,7 +47,7 @@ class DocType(DocListController): # validate that a Shopping Cart Price List exists for the root territory # as a catch all! - from setup.utils import get_root_of + from erpnext.setup.utils import get_root_of root_territory = get_root_of("Territory") if root_territory not in territory_name_map.keys(): @@ -143,7 +143,7 @@ class DocType(DocListController): return self.get_name_from_territory(shipping_territory, "shipping_rules", "shipping_rule") def get_territory_ancestry(self, territory): - from setup.utils import get_ancestors_of + from erpnext.setup.utils import get_ancestors_of if not hasattr(self, "_territory_ancestry"): self._territory_ancestry = {} diff --git a/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py b/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py index 6055c61f39..be67f6fe83 100644 --- a/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py +++ b/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py @@ -6,7 +6,7 @@ from __future__ import unicode_literals import webnotes import unittest -from selling.doctype.shopping_cart_settings.shopping_cart_settings import ShoppingCartSetupError +from erpnext.selling.doctype.shopping_cart_settings.shopping_cart_settings import ShoppingCartSetupError class TestShoppingCartSettings(unittest.TestCase): def setUp(self): @@ -74,7 +74,7 @@ class TestShoppingCartSettings(unittest.TestCase): controller = cart_settings.make_controller() self.assertRaises(ShoppingCartSetupError, controller.validate_exchange_rates_exist) - from setup.doctype.currency_exchange.test_currency_exchange import test_records as \ + from erpnext.setup.doctype.currency_exchange.test_currency_exchange import test_records as \ currency_exchange_records webnotes.bean(currency_exchange_records[0]).insert() controller.validate_exchange_rates_exist() diff --git a/erpnext/selling/page/sales_browser/sales_browser.js b/erpnext/selling/page/sales_browser/sales_browser.js index 58a3b1f837..1b7d9aa52a 100644 --- a/erpnext/selling/page/sales_browser/sales_browser.js +++ b/erpnext/selling/page/sales_browser/sales_browser.js @@ -22,7 +22,7 @@ pscript['onload_Sales Browser'] = function(wrapper){ wrapper.make_tree = function() { var ctype = wn.get_route()[1] || 'Territory'; return wn.call({ - method: 'selling.page.sales_browser.sales_browser.get_children', + method: 'erpnext.selling.page.sales_browser.sales_browser.get_children', args: {ctype: ctype}, callback: function(r) { var root = r.message[0]["value"]; @@ -60,7 +60,7 @@ erpnext.SalesChart = Class.extend({ parent: $(parent), label: root, args: {ctype: ctype}, - method: 'selling.page.sales_browser.sales_browser.get_children', + method: 'erpnext.selling.page.sales_browser.sales_browser.get_children', click: function(link) { if(me.cur_toolbar) $(me.cur_toolbar).toggle(false); @@ -144,7 +144,7 @@ erpnext.SalesChart = Class.extend({ v.ctype = me.ctype; return wn.call({ - method: 'selling.page.sales_browser.sales_browser.add_node', + method: 'erpnext.selling.page.sales_browser.sales_browser.add_node', args: v, callback: function() { $(btn).done_working(); diff --git a/erpnext/selling/report/quotation_trends/quotation_trends.py b/erpnext/selling/report/quotation_trends/quotation_trends.py index f7c023f10f..ea0d3db8f6 100644 --- a/erpnext/selling/report/quotation_trends/quotation_trends.py +++ b/erpnext/selling/report/quotation_trends/quotation_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from 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_order_trends/sales_order_trends.py b/erpnext/selling/report/sales_order_trends/sales_order_trends.py index d407be09da..e9354e6184 100644 --- a/erpnext/selling/report/sales_order_trends/sales_order_trends.py +++ b/erpnext/selling/report/sales_order_trends/sales_order_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from 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_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py b/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py index ca189366d4..3e500dc0e3 100644 --- a/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py +++ b/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py @@ -6,8 +6,8 @@ import webnotes from webnotes import _, msgprint from webnotes.utils import flt import time -from accounts.utils import get_fiscal_year -from controllers.trends import get_period_date_ranges, get_period_month_ranges +from erpnext.accounts.utils import get_fiscal_year +from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges from webnotes.model.meta import get_field_precision def execute(filters=None): diff --git a/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py b/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py index 08240a7806..d55e21016b 100644 --- a/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py +++ b/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py @@ -6,8 +6,8 @@ import webnotes from webnotes import _, msgprint from webnotes.utils import flt import time -from accounts.utils import get_fiscal_year -from controllers.trends import get_period_date_ranges, get_period_month_ranges +from erpnext.accounts.utils import get_fiscal_year +from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges def execute(filters=None): if not filters: filters = {} diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js index d6c8fdd0e4..c5eb38c362 100644 --- a/erpnext/selling/sales_common.js +++ b/erpnext/selling/sales_common.js @@ -158,7 +158,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ cur_frm.fields_dict[me.frm.cscript.fname].grid.grid_rows[item.idx - 1].remove(); } else { return this.frm.call({ - method: "selling.utils.get_item_details", + method: "erpnext.selling.utils.get_item_details", child: item, args: { args: { @@ -268,7 +268,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ var item = wn.model.get_doc(cdt, cdn); if(item.item_code && item.warehouse) { return this.frm.call({ - method: "selling.utils.get_available_qty", + method: "erpnext.selling.utils.get_available_qty", child: item, args: { item_code: item.item_code, diff --git a/erpnext/selling/utils/__init__.py b/erpnext/selling/utils/__init__.py index 5974da7d8b..c73d76ea46 100644 --- a/erpnext/selling/utils/__init__.py +++ b/erpnext/selling/utils/__init__.py @@ -105,7 +105,7 @@ def _get_item_code(barcode=None, serial_no=None): return item_code[0] def _validate_item_details(args, item): - from utilities.transaction_base import validate_item_fetch + from erpnext.utilities.transaction_base import validate_item_fetch validate_item_fetch(args, item) # validate if sales item or service item @@ -154,7 +154,7 @@ def _get_price_list_rate(args, item_bean, meta): return {} # found price list rate - now we can validate - from utilities.transaction_base import validate_currency + from erpnext.utilities.transaction_base import validate_currency validate_currency(args, item_bean.doc, meta) return {"ref_rate": flt(ref_rate[0].ref_rate) * flt(args.plc_conversion_rate) / flt(args.conversion_rate)} diff --git a/erpnext/selling/utils/cart.py b/erpnext/selling/utils/cart.py index 3cd7b3c9f1..f23a5716a2 100644 --- a/erpnext/selling/utils/cart.py +++ b/erpnext/selling/utils/cart.py @@ -2,7 +2,7 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import webnotes +import webnotes, json from webnotes import msgprint, _ import webnotes.defaults from webnotes.utils import flt, get_fullname, fmt_money, cstr @@ -42,7 +42,7 @@ def place_order(): quotation.ignore_permissions = True quotation.submit() - from selling.doctype.quotation.quotation import _make_sales_order + from erpnext.selling.doctype.quotation.quotation import _make_sales_order sales_order = webnotes.bean(_make_sales_order(quotation.doc.name, ignore_permissions=True)) sales_order.ignore_permissions = True sales_order.insert() @@ -92,7 +92,7 @@ def update_cart(item_code, qty, with_doclist=0): @webnotes.whitelist() def update_cart_address(address_fieldname, address_name): - from utilities.transaction_base import get_address_display + from erpnext.utilities.transaction_base import get_address_display quotation = _get_cart_quotation() address_display = get_address_display(webnotes.doc("Address", address_name).fields) @@ -123,7 +123,7 @@ def get_addresses(): @webnotes.whitelist() def save_address(fields, address_fieldname=None): party = get_lead_or_customer() - fields = webnotes.load_json(fields) + fields = json.loads(fields) if fields.get("name"): bean = webnotes.bean("Address", fields.get("name")) @@ -147,7 +147,7 @@ def save_address(fields, address_fieldname=None): def get_address_docs(party=None): from webnotes.model.doclist import objectify - from utilities.transaction_base import get_address_display + from erpnext.utilities.transaction_base import get_address_display if not party: party = get_lead_or_customer() diff --git a/erpnext/selling/utils/product.py b/erpnext/selling/utils/product.py index 32ff85ad12..a976e2a647 100644 --- a/erpnext/selling/utils/product.py +++ b/erpnext/selling/utils/product.py @@ -6,7 +6,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, cint, fmt_money, get_base_path from webnotes.webutils import delete_page_cache -from selling.utils.cart import _get_cart_quotation +from erpnext.selling.utils.cart import _get_cart_quotation @webnotes.whitelist(allow_guest=True) def get_product_info(item_code): diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py index 8c8900a52e..6df09150b8 100644 --- a/erpnext/setup/doctype/authorization_control/authorization_control.py +++ b/erpnext/setup/doctype/authorization_control/authorization_control.py @@ -7,10 +7,10 @@ import webnotes from webnotes.utils import cstr, flt, has_common, make_esc from webnotes.model.bean import getlist from webnotes import session, msgprint -from setup.utils import get_company_currency +from erpnext.setup.utils import get_company_currency -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, d, dl): diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.js b/erpnext/setup/doctype/backup_manager/backup_manager.js index c0117570b5..e94a316728 100644 --- a/erpnext/setup/doctype/backup_manager/backup_manager.js +++ b/erpnext/setup/doctype/backup_manager/backup_manager.js @@ -47,7 +47,7 @@ $.extend(cur_frm.cscript, { allow_dropbox_access: function() { if(cur_frm.cscript.validate_send_notifications_to()) { return wn.call({ - method: "setup.doctype.backup_manager.backup_dropbox.get_dropbox_authorize_url", + method: "erpnext.setup.doctype.backup_manager.backup_dropbox.get_dropbox_authorize_url", callback: function(r) { if(!r.exc) { cur_frm.set_value("dropbox_access_secret", r.message.secret); @@ -64,7 +64,7 @@ $.extend(cur_frm.cscript, { allow_gdrive_access: function() { if(cur_frm.cscript.validate_send_notifications_to()) { return wn.call({ - method: "setup.doctype.backup_manager.backup_googledrive.get_gdrive_authorize_url", + method: "erpnext.setup.doctype.backup_manager.backup_googledrive.get_gdrive_authorize_url", callback: function(r) { if(!r.exc) { window.open(r.message.authorize_url); @@ -76,7 +76,7 @@ $.extend(cur_frm.cscript, { validate_gdrive: function() { return wn.call({ - method: "setup.doctype.backup_manager.backup_googledrive.gdrive_callback", + method: "erpnext.setup.doctype.backup_manager.backup_googledrive.gdrive_callback", args: { verification_code: cur_frm.doc.verification_code }, diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.py b/erpnext/setup/doctype/backup_manager/backup_manager.py index 0a83dea38b..332d983f29 100644 --- a/erpnext/setup/doctype/backup_manager/backup_manager.py +++ b/erpnext/setup/doctype/backup_manager/backup_manager.py @@ -30,7 +30,7 @@ def take_backups_if(freq): def take_backups_dropbox(): did_not_upload, error_log = [], [] try: - from setup.doctype.backup_manager.backup_dropbox import backup_to_dropbox + from erpnext.setup.doctype.backup_manager.backup_dropbox import backup_to_dropbox did_not_upload, error_log = backup_to_dropbox() if did_not_upload: raise Exception @@ -50,7 +50,7 @@ def take_backups_dropbox(): def take_backups_gdrive(): did_not_upload, error_log = [], [] try: - from setup.doctype.backup_manager.backup_googledrive import backup_to_gdrive + from erpnext.setup.doctype.backup_manager.backup_googledrive import backup_to_gdrive did_not_upload, error_log = backup_to_gdrive() if did_not_upload: raise Exception diff --git a/erpnext/setup/doctype/company/company.js b/erpnext/setup/doctype/company/company.js index 856d5e1f36..e047c97cde 100644 --- a/erpnext/setup/doctype/company/company.js +++ b/erpnext/setup/doctype/company/company.js @@ -27,7 +27,7 @@ cur_frm.cscript.replace_abbr = function() { args = dialog.get_values(); if(!args) return; return wn.call({ - method: "setup.doctype.company.company.replace_abbr", + method: "erpnext.setup.doctype.company.company.replace_abbr", args: { "company": cur_frm.doc.name, "old": cur_frm.doc.abbr, diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.js b/erpnext/setup/doctype/global_defaults/global_defaults.js index ba31f3c85e..6a2f84a659 100644 --- a/erpnext/setup/doctype/global_defaults/global_defaults.js +++ b/erpnext/setup/doctype/global_defaults/global_defaults.js @@ -7,7 +7,7 @@ $.extend(cur_frm.cscript, { this.timezone = doc.time_zone; wn.call({ - method:"webnotes.country_info.get_country_timezone_info", + method: "webnotes.country_info.get_country_timezone_info", callback: function(data) { erpnext.country_info = data.message.country_info; erpnext.all_timezones = data.message.all_timezones; diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py index 5ad25af6a4..6b989d5af6 100644 --- a/erpnext/setup/doctype/item_group/item_group.py +++ b/erpnext/setup/doctype/item_group/item_group.py @@ -19,7 +19,7 @@ class DocType(DocTypeNestedSet, WebsiteGenerator): self.validate_name_with_item() - from selling.utils.product import invalidate_cache_for + from erpnext.selling.utils.product import invalidate_cache_for invalidate_cache_for(self.doc.name) self.validate_one_root() @@ -30,7 +30,7 @@ class DocType(DocTypeNestedSet, WebsiteGenerator): item group name or rename the item" % self.doc.name, raise_exception=1) def get_context(self): - from selling.utils.product import get_product_list_for_group, \ + from erpnext.selling.utils.product import get_product_list_for_group, \ get_parent_item_groups, get_group_item_count self.doc.sub_groups = webnotes.conn.sql("""select name, page_name diff --git a/erpnext/setup/page/setup/setup.js b/erpnext/setup/page/setup/setup.js index fc6afb4e6e..fdde6934e5 100644 --- a/erpnext/setup/page/setup/setup.js +++ b/erpnext/setup/page/setup/setup.js @@ -175,7 +175,7 @@ wn.pages.Setup.make = function(wrapper) { } return wn.call({ - method: "setup.page.setup.setup.get", + method: "erpnext.setup.page.setup.setup.get", callback: function(r) { if(r.message) { body.empty(); diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js index 7b4253d510..89a59a3308 100644 --- a/erpnext/setup/page/setup_wizard/setup_wizard.js +++ b/erpnext/setup/page/setup_wizard/setup_wizard.js @@ -13,7 +13,7 @@ wn.pages['setup-wizard'].onload = function(wrapper) { var values = wiz.get_values(); wiz.show_working(); wn.call({ - method: "setup.page.setup_wizard.setup_wizard.setup_account", + method: "erpnext.setup.page.setup_wizard.setup_wizard.setup_account", args: values, callback: function(r) { if(r.exc) { diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py index bf149059a1..adb031cd61 100644 --- a/erpnext/setup/page/setup_wizard/setup_wizard.py +++ b/erpnext/setup/page/setup_wizard/setup_wizard.py @@ -323,7 +323,7 @@ def add_all_roles_to(name): def create_territories(): """create two default territories, one for home country and one named Rest of the World""" - from setup.utils import get_root_of + from erpnext.setup.utils import get_root_of country = webnotes.conn.get_value("Control Panel", None, "country") root_territory = get_root_of("Territory") for name in (country, "Rest Of The World"): diff --git a/erpnext/setup/page/setup_wizard/test_setup_wizard.py b/erpnext/setup/page/setup_wizard/test_setup_wizard.py index fe0904d5ac..a4e5c29f8d 100644 --- a/erpnext/setup/page/setup_wizard/test_setup_wizard.py +++ b/erpnext/setup/page/setup_wizard/test_setup_wizard.py @@ -4,8 +4,8 @@ from __future__ import unicode_literals import webnotes -from setup.page.setup_wizard.test_setup_data import args -from setup.page.setup_wizard.setup_wizard import setup_account +from erpnext.setup.page.setup_wizard.test_setup_data import args +from erpnext.setup.page.setup_wizard.setup_wizard import setup_account if __name__=="__main__": webnotes.connect() diff --git a/erpnext/startup/bean_handlers.py b/erpnext/startup/bean_handlers.py index 679c3aa042..095dc0d7a1 100644 --- a/erpnext/startup/bean_handlers.py +++ b/erpnext/startup/bean_handlers.py @@ -3,7 +3,7 @@ from home import update_feed from webnotes.core.doctype.notification_count.notification_count import clear_doctype_notifications -from stock.doctype.material_request.material_request import update_completed_qty +from erpnext.stock.doctype.material_request.material_request import update_completed_qty def on_method(bean, method): if method in ("on_update", "on_submit"): diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py index a8dbf81a90..cd565c749f 100644 --- a/erpnext/startup/boot.py +++ b/erpnext/startup/boot.py @@ -4,7 +4,6 @@ from __future__ import unicode_literals import webnotes -import home def boot_session(bootinfo): """boot session - send website info if guest""" diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py index b59dee5712..48c2aa0161 100644 --- a/erpnext/startup/event_handlers.py +++ b/erpnext/startup/event_handlers.py @@ -31,7 +31,7 @@ def on_login_post_session(login_manager): webnotes.conn.commit() if webnotes.conn.get_value("Profile", webnotes.session.user, "user_type") == "Website User": - from selling.utils.cart import set_cart_count + from erpnext.selling.utils.cart import set_cart_count set_cart_count() def on_logout(login_manager): diff --git a/erpnext/startup/schedule_handlers.py b/erpnext/startup/schedule_handlers.py index 32987c465d..e1b3bb4544 100644 --- a/erpnext/startup/schedule_handlers.py +++ b/erpnext/startup/schedule_handlers.py @@ -13,13 +13,13 @@ def execute_all(): * recurring invoice """ # pull emails - from support.doctype.support_ticket.get_support_mails import get_support_mails + from erpnext.support.doctype.support_ticket.get_support_mails import get_support_mails run_fn(get_support_mails) - from hr.doctype.job_applicant.get_job_applications import get_job_applications + from erpnext.hr.doctype.job_applicant.get_job_applications import get_job_applications run_fn(get_job_applications) - from selling.doctype.lead.get_leads import get_leads + from erpnext.selling.doctype.lead.get_leads import get_leads run_fn(get_leads) from webnotes.utils.email_lib.bulk import flush @@ -35,11 +35,11 @@ def execute_daily(): delete_notification_count_for("Event") # email digest - from setup.doctype.email_digest.email_digest import send + from erpnext.setup.doctype.email_digest.email_digest import send run_fn(send) # run recurring invoices - from accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices + from erpnext.accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices run_fn(manage_recurring_invoices) # send bulk emails @@ -47,18 +47,18 @@ def execute_daily(): run_fn(clear_outbox) # daily backup - from setup.doctype.backup_manager.backup_manager import take_backups_daily + from erpnext.setup.doctype.backup_manager.backup_manager import take_backups_daily run_fn(take_backups_daily) # check reorder level - from stock.utils import reorder_item + from erpnext.stock.utils import reorder_item run_fn(reorder_item) # scheduler error scheduler.report_errors() def execute_weekly(): - from setup.doctype.backup_manager.backup_manager import take_backups_weekly + from erpnext.setup.doctype.backup_manager.backup_manager import take_backups_weekly run_fn(take_backups_weekly) def execute_monthly(): diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py index 73b1cacc35..1acb3aa556 100644 --- a/erpnext/stock/doctype/bin/bin.py +++ b/erpnext/stock/doctype/bin/bin.py @@ -33,7 +33,7 @@ class DocType: self.update_qty(args) if args.get("actual_qty"): - from stock.stock_ledger import update_entries_after + from erpnext.stock.stock_ledger import update_entries_after if not args.get("posting_date"): args["posting_date"] = nowdate() diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js index 7376f3c60f..796bf0f66b 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.js +++ b/erpnext/stock/doctype/delivery_note/delivery_note.js @@ -52,7 +52,7 @@ erpnext.stock.DeliveryNoteController = erpnext.selling.SellingController.extend( cur_frm.add_custom_button(wn._('From Sales Order'), function() { wn.model.map_current_doc({ - method: "selling.doctype.sales_order.sales_order.make_delivery_note", + method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note", source_doctype: "Sales Order", get_query_filters: { docstatus: 1, @@ -70,14 +70,14 @@ erpnext.stock.DeliveryNoteController = erpnext.selling.SellingController.extend( make_sales_invoice: function() { wn.model.open_mapped_doc({ - method: "stock.doctype.delivery_note.delivery_note.make_sales_invoice", + method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice", source_name: cur_frm.doc.name }) }, make_installation_note: function() { wn.model.open_mapped_doc({ - method: "stock.doctype.delivery_note.delivery_note.make_installation_note", + method: "erpnext.stock.doctype.delivery_note.delivery_note.make_installation_note", source_name: cur_frm.doc.name }); }, diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 1089a5697c..de76bb9602 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -10,8 +10,8 @@ from webnotes.model.code import get_obj from webnotes import msgprint, _ import webnotes.defaults from webnotes.model.mapper import get_mapped_doclist -from stock.utils import update_bin -from controllers.selling_controller import SellingController +from erpnext.stock.utils import update_bin +from erpnext.controllers.selling_controller import SellingController class DocType(SellingController): def __init__(self, doc, doclist=[]): @@ -61,8 +61,8 @@ class DocType(SellingController): def validate(self): super(DocType, self).validate() - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"]) + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"]) self.so_required() self.validate_proj_cust() @@ -144,7 +144,7 @@ class DocType(SellingController): d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0 def on_update(self): - from stock.doctype.packed_item.packed_item import make_packing_list + from erpnext.stock.doctype.packed_item.packed_item import make_packing_list self.doclist = make_packing_list(self, 'delivery_note_details') def on_submit(self): diff --git a/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py b/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py index 760ffe0ad6..dc8ab6af6a 100644 --- a/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py +++ b/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py @@ -7,7 +7,7 @@ import webnotes no_cache = True def get_context(): - from portal.utils import get_transaction_context + from erpnext.portal.utils import get_transaction_context context = get_transaction_context("Delivery Note", webnotes.form_dict.name) context.update({ "parent_link": "shipments", diff --git a/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py b/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py index b8fe65a7ea..8c20149f00 100644 --- a/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py +++ b/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py @@ -7,7 +7,7 @@ import webnotes no_cache = True def get_context(): - from portal.utils import get_currency_context + from erpnext.portal.utils import get_currency_context context = get_currency_context() context.update({ "title": "Shipments", @@ -20,5 +20,5 @@ def get_context(): @webnotes.whitelist() def get_shipments(start=0): - from portal.utils import get_transaction_list + from erpnext.portal.utils import get_transaction_list return get_transaction_list("Delivery Note", start) diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py index 64ddff80e6..7b6b0ad0a8 100644 --- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py @@ -7,7 +7,7 @@ import unittest import webnotes import webnotes.defaults from webnotes.utils import cint -from stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries, set_perpetual_inventory, test_records as pr_test_records +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries, set_perpetual_inventory, test_records as pr_test_records def _insert_purchase_receipt(item_code=None): if not item_code: @@ -23,7 +23,7 @@ class TestDeliveryNote(unittest.TestCase): self.clear_stock_account_balance() _insert_purchase_receipt() - from stock.doctype.delivery_note.delivery_note import make_sales_invoice + from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice _insert_purchase_receipt() dn = webnotes.bean(copy=test_records[0]).insert() @@ -80,7 +80,7 @@ class TestDeliveryNote(unittest.TestCase): stock_in_hand_account = webnotes.conn.get_value("Account", {"master_name": dn.doclist[1].warehouse}) - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on prev_bal = get_balance_on(stock_in_hand_account, dn.doc.posting_date) dn.insert() @@ -135,7 +135,7 @@ class TestDeliveryNote(unittest.TestCase): stock_in_hand_account = webnotes.conn.get_value("Account", {"master_name": dn.doclist[1].warehouse}) - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on prev_bal = get_balance_on(stock_in_hand_account, dn.doc.posting_date) dn.insert() @@ -161,8 +161,8 @@ class TestDeliveryNote(unittest.TestCase): set_perpetual_inventory(0) def test_serialized(self): - from stock.doctype.stock_entry.test_stock_entry import make_serialized_item - from stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos se = make_serialized_item() serial_nos = get_serial_nos(se.doclist[1].serial_no) @@ -182,7 +182,7 @@ class TestDeliveryNote(unittest.TestCase): return dn def test_serialized_cancel(self): - from stock.doctype.serial_no.serial_no import get_serial_nos + from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos dn = self.test_serialized() dn.cancel() @@ -194,8 +194,8 @@ class TestDeliveryNote(unittest.TestCase): "delivery_document_no")) def test_serialize_status(self): - from stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos - from stock.doctype.stock_entry.test_stock_entry import make_serialized_item + from erpnext.stock.doctype.serial_no.serial_no import SerialNoStatusError, 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.doclist[1].serial_no) diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index 0459070e36..e7ce2f9b84 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -214,7 +214,7 @@ class DocType(DocListController, WebsiteGenerator): self.doc.name, raise_exception=1) def update_website(self): - from selling.utils.product import invalidate_cache_for + from erpnext.selling.utils.product import invalidate_cache_for invalidate_cache_for(self.doc.item_group) [invalidate_cache_for(d.item_group) for d in \ self.doclist.get({"doctype":"Website Item Group"})] @@ -233,7 +233,7 @@ class DocType(DocListController, WebsiteGenerator): return { "tax_rate": webnotes.conn.get_value("Account", tax_type, "tax_rate") } def get_context(self): - from selling.utils.product import get_parent_item_groups + from erpnext.selling.utils.product import get_parent_item_groups self.parent_groups = get_parent_item_groups(self.doc.item_group) + [{"name":self.doc.name}] self.doc.title = self.doc.item_name @@ -280,12 +280,12 @@ class DocType(DocListController, WebsiteGenerator): clear_cache(self.doc.page_name) def set_last_purchase_rate(self, newdn): - from buying.utils import get_last_purchase_details + from erpnext.buying.utils import get_last_purchase_details last_purchase_rate = get_last_purchase_details(newdn).get("purchase_rate", 0) webnotes.conn.set_value("Item", newdn, "last_purchase_rate", last_purchase_rate) def recalculate_bin_qty(self, newdn): - from utilities.repost_stock import repost_stock + from erpnext.utilities.repost_stock import repost_stock webnotes.conn.auto_commit_on_many_writes = 1 webnotes.conn.set_default("allow_negative_stock", 1) diff --git a/erpnext/stock/doctype/item/templates/includes/product_list.js b/erpnext/stock/doctype/item/templates/includes/product_list.js index 268760d751..ac84c00a3e 100644 --- a/erpnext/stock/doctype/item/templates/includes/product_list.js +++ b/erpnext/stock/doctype/item/templates/includes/product_list.js @@ -15,7 +15,7 @@ window.get_product_list = function() { url: "/", dataType: "json", data: { - cmd: "selling.utils.product.get_product_list", + cmd: "erpnext.selling.utils.product.get_product_list", start: window.start, search: window.search, product_group: window.product_group diff --git a/erpnext/stock/doctype/item/templates/includes/product_page.js b/erpnext/stock/doctype/item/templates/includes/product_page.js index df842ccc22..5029b90299 100644 --- a/erpnext/stock/doctype/item/templates/includes/product_page.js +++ b/erpnext/stock/doctype/item/templates/includes/product_page.js @@ -7,7 +7,7 @@ $(document).ready(function() { wn.call({ type: "POST", - method: "selling.utils.product.get_product_info", + method: "erpnext.selling.utils.product.get_product_info", args: { item_code: "{{ name }}" }, diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py index b8f6f9e246..3cf1d5ecf6 100644 --- a/erpnext/stock/doctype/item/test_item.py +++ b/erpnext/stock/doctype/item/test_item.py @@ -10,7 +10,7 @@ test_dependencies = ["Warehouse"] class TestItem(unittest.TestCase): def test_default_warehouse(self): - from stock.doctype.item.item import WarehouseNotSet + from erpnext.stock.doctype.item.item import WarehouseNotSet item = webnotes.bean(copy=test_records[0]) item.doc.is_stock_item = "Yes" item.doc.default_warehouse = None diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py index 583b3debad..bc695ea3a9 100644 --- a/erpnext/stock/doctype/item_price/test_item_price.py +++ b/erpnext/stock/doctype/item_price/test_item_price.py @@ -7,7 +7,7 @@ import webnotes class TestItem(unittest.TestCase): def test_duplicate_item(self): - from stock.doctype.item_price.item_price import ItemPriceDuplicateItem + from erpnext.stock.doctype.item_price.item_price import ItemPriceDuplicateItem bean = webnotes.bean(copy=test_records[0]) self.assertRaises(ItemPriceDuplicateItem, bean.insert) diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js index 3ca95a41c2..7dca935292 100644 --- a/erpnext/stock/doctype/material_request/material_request.js +++ b/erpnext/stock/doctype/material_request/material_request.js @@ -49,7 +49,7 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten cur_frm.add_custom_button(wn._('From Sales Order'), function() { wn.model.map_current_doc({ - method: "selling.doctype.sales_order.sales_order.make_material_request", + method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request", source_doctype: "Sales Order", get_query_filters: { docstatus: 1, @@ -95,7 +95,7 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten if(!values) return; wn.call({ - method:"manufacturing.doctype.bom.bom.get_bom_items", + method: "erpnext.manufacturing.doctype.bom.bom.get_bom_items", args: values, callback: function(r) { $.each(r.message, function(i, item) { @@ -128,21 +128,21 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten make_purchase_order: function() { wn.model.open_mapped_doc({ - method: "stock.doctype.material_request.material_request.make_purchase_order", + method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order", source_name: cur_frm.doc.name }) }, make_supplier_quotation: function() { wn.model.open_mapped_doc({ - method: "stock.doctype.material_request.material_request.make_supplier_quotation", + method: "erpnext.stock.doctype.material_request.material_request.make_supplier_quotation", source_name: cur_frm.doc.name }) }, make_stock_entry: function() { wn.model.open_mapped_doc({ - method: "stock.doctype.material_request.material_request.make_stock_entry", + method: "erpnext.stock.doctype.material_request.material_request.make_stock_entry", source_name: cur_frm.doc.name }) } diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index f340ccaedd..2f0fcb7cc1 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -12,7 +12,7 @@ from webnotes.model.utils import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ -from controllers.buying_controller import BuyingController +from erpnext.controllers.buying_controller import BuyingController class DocType(BuyingController): def __init__(self, doc, doclist=[]): self.doc = doc @@ -63,8 +63,8 @@ class DocType(BuyingController): if not self.doc.status: self.doc.status = "Draft" - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"]) + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"]) self.validate_value("material_request_type", "in", ["Purchase", "Transfer"]) @@ -76,7 +76,7 @@ class DocType(BuyingController): def update_bin(self, is_submit, is_stopped): """ Update Quantity Requested for Purchase in Bin for Material Request of type 'Purchase'""" - from stock.utils import update_bin + from erpnext.stock.utils import update_bin for d in getlist(self.doclist, 'indent_details'): if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == "Yes": if not d.warehouse: @@ -188,7 +188,7 @@ def update_completed_qty(controller, caller_method): def _update_requested_qty(controller, mr_obj, mr_items): """update requested qty (before ordered_qty is updated)""" - from stock.utils import update_bin + from erpnext.stock.utils import update_bin for mr_item_name in mr_items: mr_item = mr_obj.doclist.getone({"parentfield": "indent_details", "name": mr_item_name}) se_detail = controller.doclist.getone({"parentfield": "mtn_details", diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index c19bfd3928..5266f49257 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -13,7 +13,7 @@ class TestMaterialRequest(unittest.TestCase): webnotes.defaults.set_global_default("auto_accounting_for_stock", 0) def test_make_purchase_order(self): - from stock.doctype.material_request.material_request import make_purchase_order + from erpnext.stock.doctype.material_request.material_request import make_purchase_order mr = webnotes.bean(copy=test_records[0]).insert() @@ -28,7 +28,7 @@ class TestMaterialRequest(unittest.TestCase): self.assertEquals(len(po), len(mr.doclist)) def test_make_supplier_quotation(self): - from stock.doctype.material_request.material_request import make_supplier_quotation + from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation mr = webnotes.bean(copy=test_records[0]).insert() @@ -44,7 +44,7 @@ class TestMaterialRequest(unittest.TestCase): def test_make_stock_entry(self): - from stock.doctype.material_request.material_request import make_stock_entry + from erpnext.stock.doctype.material_request.material_request import make_stock_entry mr = webnotes.bean(copy=test_records[0]).insert() @@ -122,7 +122,7 @@ class TestMaterialRequest(unittest.TestCase): self._test_requested_qty(54.0, 3.0) # map a purchase order - from stock.doctype.material_request.material_request import make_purchase_order + from erpnext.stock.doctype.material_request.material_request import make_purchase_order po_doclist = make_purchase_order(mr.doc.name) po_doclist[0].supplier = "_Test Supplier" po_doclist[1].qty = 27.0 @@ -169,7 +169,7 @@ class TestMaterialRequest(unittest.TestCase): self._test_requested_qty(54.0, 3.0) - from stock.doctype.material_request.material_request import make_stock_entry + from erpnext.stock.doctype.material_request.material_request import make_stock_entry # map a stock entry se_doclist = make_stock_entry(mr.doc.name) @@ -233,7 +233,7 @@ class TestMaterialRequest(unittest.TestCase): self._test_requested_qty(54.0, 3.0) # map a stock entry - from stock.doctype.material_request.material_request import make_stock_entry + from erpnext.stock.doctype.material_request.material_request import make_stock_entry se_doclist = make_stock_entry(mr.doc.name) se_doclist[0].update({ @@ -288,7 +288,7 @@ class TestMaterialRequest(unittest.TestCase): mr.submit() # map a stock entry - from stock.doctype.material_request.material_request import make_stock_entry + from erpnext.stock.doctype.material_request.material_request import make_stock_entry se_doclist = make_stock_entry(mr.doc.name) se_doclist[0].update({ @@ -315,7 +315,7 @@ class TestMaterialRequest(unittest.TestCase): self.assertRaises(webnotes.MappingMismatchError, se.insert) def test_warehouse_company_validation(self): - from stock.utils import InvalidWarehouseCompany + from erpnext.stock.utils import InvalidWarehouseCompany mr = webnotes.bean(copy=test_records[0]) mr.doc.company = "_Test Company 1" self.assertRaises(InvalidWarehouseCompany, mr.insert) diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py index 8501b2b4f3..9358347100 100644 --- a/erpnext/stock/doctype/packing_slip/packing_slip.py +++ b/erpnext/stock/doctype/packing_slip/packing_slip.py @@ -24,7 +24,7 @@ class DocType: self.validate_case_nos() self.validate_qty() - from utilities.transaction_base import validate_uom_is_integer + from erpnext.utilities.transaction_base import validate_uom_is_integer validate_uom_is_integer(self.doclist, "stock_uom", "qty") validate_uom_is_integer(self.doclist, "weight_uom", "net_weight") @@ -165,7 +165,7 @@ class DocType: self.update_item_details() def item_details(doctype, txt, searchfield, start, page_len, filters): - from controllers.queries import get_match_cond + from erpnext.controllers.queries import get_match_cond return webnotes.conn.sql("""select name, item_name, description from `tabItem` where name in ( select item_code FROM `tabDelivery Note Item` where parent= %s diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js index c6473055d8..59a6063232 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js @@ -28,7 +28,7 @@ erpnext.stock.PurchaseReceiptController = erpnext.buying.BuyingController.extend cur_frm.add_custom_button(wn._(wn._('From Purchase Order')), function() { wn.model.map_current_doc({ - method: "buying.doctype.purchase_order.purchase_order.make_purchase_receipt", + method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt", source_doctype: "Purchase Order", get_query_filters: { supplier: cur_frm.doc.supplier || undefined, @@ -91,7 +91,7 @@ erpnext.stock.PurchaseReceiptController = erpnext.buying.BuyingController.extend make_purchase_invoice: function() { wn.model.open_mapped_doc({ - method: "stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", + method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", source_name: cur_frm.doc.name }) }, diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index f8173bf672..7a33971542 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -9,9 +9,9 @@ from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ import webnotes.defaults -from stock.utils import update_bin +from erpnext.stock.utils import update_bin -from controllers.buying_controller import BuyingController +from erpnext.controllers.buying_controller import BuyingController class DocType(BuyingController): def __init__(self, doc, doclist=[]): self.doc = doc @@ -46,8 +46,8 @@ class DocType(BuyingController): if not self.doc.status: self.doc.status = "Draft" - import utilities - utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"]) + from erpnext.utilities import validate_status + validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"]) self.validate_with_previous_doc() self.validate_rejected_warehouse() @@ -240,7 +240,7 @@ class DocType(BuyingController): self.update_stock() - from stock.doctype.serial_no.serial_no import update_serial_nos_after_submit + from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit update_serial_nos_after_submit(self, "purchase_receipt_details") purchase_controller.update_last_purchase_rate(self, 1) diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py index 96d1a13ba1..89e77cee81 100644 --- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py @@ -12,7 +12,7 @@ class TestPurchaseReceipt(unittest.TestCase): def test_make_purchase_invoice(self): self._clear_stock_account_balance() set_perpetual_inventory(0) - from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice + from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice pr = webnotes.bean(copy=test_records[0]).insert() diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py index dc067ec6d1..1690cad21c 100644 --- a/erpnext/stock/doctype/serial_no/serial_no.py +++ b/erpnext/stock/doctype/serial_no/serial_no.py @@ -8,7 +8,7 @@ from webnotes.utils import cint, getdate, cstr, flt, add_days import datetime from webnotes import _, ValidationError -from controllers.stock_controller import StockController +from erpnext.controllers.stock_controller import StockController class SerialNoCannotCreateDirectError(ValidationError): pass class SerialNoCannotCannotChangeError(ValidationError): pass diff --git a/erpnext/stock/doctype/serial_no/test_serial_no.py b/erpnext/stock/doctype/serial_no/test_serial_no.py index 8ce36cdc4b..fb2336147a 100644 --- a/erpnext/stock/doctype/serial_no/test_serial_no.py +++ b/erpnext/stock/doctype/serial_no/test_serial_no.py @@ -10,7 +10,7 @@ import webnotes, unittest test_dependencies = ["Item"] test_records = [] -from stock.doctype.serial_no.serial_no import * +from erpnext.stock.doctype.serial_no.serial_no import * class TestSerialNo(unittest.TestCase): def test_cannot_create_direct(self): diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index 76284eabb7..d5c54b5943 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -99,7 +99,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({ account_for = "stock_received_but_not_billed"; return this.frm.call({ - method: "accounts.utils.get_company_default", + method: "erpnext.accounts.utils.get_company_default", args: { "fieldname": account_for, "company": this.frm.doc.company diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index ba0e72478c..a4a04248a5 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -10,9 +10,9 @@ from webnotes.model.doc import addchild from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import msgprint, _ -from stock.utils import get_incoming_rate -from stock.stock_ledger import get_previous_sle -from controllers.queries import get_match_cond +from erpnext.stock.utils import get_incoming_rate +from erpnext.stock.stock_ledger import get_previous_sle +from erpnext.controllers.queries import get_match_cond import json @@ -22,7 +22,7 @@ class IncorrectValuationRateError(webnotes.ValidationError): pass class DuplicateEntryForProductionOrderError(webnotes.ValidationError): pass class StockOverProductionError(webnotes.ValidationError): pass -from controllers.stock_controller import StockController +from erpnext.controllers.stock_controller import StockController class DocType(StockController): def __init__(self, doc, doclist=None): @@ -53,7 +53,7 @@ class DocType(StockController): def on_submit(self): self.update_stock_ledger() - from stock.doctype.serial_no.serial_no import update_serial_nos_after_submit + from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit update_serial_nos_after_submit(self, "mtn_details") self.update_production_order() self.make_gl_entries() @@ -64,8 +64,8 @@ class DocType(StockController): self.make_cancel_gl_entries() def validate_fiscal_year(self): - import accounts.utils - accounts.utils.validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, + from erpnext.accounts.utils import validate_fiscal_year + validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, self.meta.get_label("posting_date")) def validate_purpose(self): @@ -356,7 +356,7 @@ class DocType(StockController): where name=%s""", (status, produced_qty, self.doc.production_order)) def update_planned_qty(self, pro_bean): - from stock.utils import update_bin + from erpnext.stock.utils import update_bin update_bin({ "item_code": pro_bean.doc.production_item, "warehouse": pro_bean.doc.fg_warehouse, @@ -495,7 +495,7 @@ class DocType(StockController): self.get_stock_and_rate() def get_bom_raw_materials(self, qty): - from manufacturing.doctype.bom.bom import get_bom_items_as_dict + from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict # item dict = { item_code: {qty, description, stock_uom} } item_dict = get_bom_items_as_dict(self.doc.bom_no, qty=qty, fetch_exploded = self.doc.use_multi_level_bom) @@ -601,7 +601,7 @@ class DocType(StockController): return result and result[0] or {} def get_cust_addr(self): - from utilities.transaction_base import get_default_address, get_address_display + from erpnext.utilities.transaction_base import get_default_address, get_address_display res = webnotes.conn.sql("select customer_name from `tabCustomer` where name = '%s'"%self.doc.customer) address_display = None customer_address = get_default_address("customer", self.doc.customer) @@ -622,7 +622,7 @@ class DocType(StockController): return result and result[0] or {} def get_supp_addr(self): - from utilities.transaction_base import get_default_address, get_address_display + from erpnext.utilities.transaction_base import get_default_address, get_address_display res = webnotes.conn.sql("""select supplier_name from `tabSupplier` where name=%s""", self.doc.supplier) address_display = None @@ -811,7 +811,7 @@ def make_return_jv(stock_entry): "company": se.doc.company }] - from accounts.utils import get_balance_on + from erpnext.accounts.utils import get_balance_on for r in result: jv_list.append({ "__islocal": 1, diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index d6f34f645a..8014c99f10 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -4,8 +4,8 @@ from __future__ import unicode_literals import webnotes, unittest from webnotes.utils import flt -from stock.doctype.serial_no.serial_no import * -from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory +from erpnext.stock.doctype.serial_no.serial_no import * +from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory class TestStockEntry(unittest.TestCase): @@ -29,7 +29,7 @@ class TestStockEntry(unittest.TestCase): st2.insert() st2.submit() - from stock.utils import reorder_item + from erpnext.stock.utils import reorder_item reorder_item() mr_name = webnotes.conn.sql("""select parent from `tabMaterial Request Item` @@ -46,7 +46,7 @@ class TestStockEntry(unittest.TestCase): .add_roles("Sales User", "Sales Manager", "Material User", "Material Manager") webnotes.session.user = "test2@example.com" - from stock.utils import InvalidWarehouseCompany + from erpnext.stock.utils import InvalidWarehouseCompany st1 = webnotes.bean(copy=test_records[0]) st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1" st1.insert() @@ -56,7 +56,7 @@ class TestStockEntry(unittest.TestCase): def test_warehouse_user(self): set_perpetual_inventory(0) - from stock.utils import UserNotAllowedForWarehouse + from erpnext.stock.utils import UserNotAllowedForWarehouse webnotes.bean("Profile", "test@example.com").get_controller()\ .add_roles("Sales User", "Sales Manager", "Material User", "Material Manager") @@ -272,9 +272,9 @@ class TestStockEntry(unittest.TestCase): "warehouse": "_Test Warehouse - _TC"}, "actual_qty")) def _test_sales_invoice_return(self, item_code, delivered_qty, returned_qty): - from stock.doctype.stock_entry.stock_entry import NotUpdateStockError + from erpnext.stock.doctype.stock_entry.stock_entry import NotUpdateStockError - from accounts.doctype.sales_invoice.test_sales_invoice \ + from erpnext.accounts.doctype.sales_invoice.test_sales_invoice \ import test_records as sales_invoice_test_records # invalid sales invoice as update stock not checked @@ -352,10 +352,10 @@ class TestStockEntry(unittest.TestCase): def _test_delivery_note_return(self, item_code, delivered_qty, returned_qty): self._insert_material_receipt() - from stock.doctype.delivery_note.test_delivery_note \ + from erpnext.stock.doctype.delivery_note.test_delivery_note \ import test_records as delivery_note_test_records - from stock.doctype.delivery_note.delivery_note import make_sales_invoice + from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice actual_qty_0 = self._get_actual_qty() # make a delivery note based on this invoice @@ -404,7 +404,7 @@ class TestStockEntry(unittest.TestCase): self._test_delivery_note_return("_Test Sales BOM Item", 25, 20) def _test_sales_return_jv(self, se): - from stock.doctype.stock_entry.stock_entry import make_return_jv + from erpnext.stock.doctype.stock_entry.stock_entry import make_return_jv jv_list = make_return_jv(se.doc.name) self.assertEqual(len(jv_list), 3) @@ -443,8 +443,8 @@ class TestStockEntry(unittest.TestCase): def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty): self._insert_material_receipt() - from selling.doctype.sales_order.test_sales_order import test_records as sales_order_test_records - from selling.doctype.sales_order.sales_order import make_sales_invoice, make_delivery_note + from erpnext.selling.doctype.sales_order.test_sales_order import test_records as sales_order_test_records + from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice, make_delivery_note actual_qty_0 = self._get_actual_qty() @@ -498,10 +498,10 @@ class TestStockEntry(unittest.TestCase): actual_qty_0 = self._get_actual_qty() - from stock.doctype.purchase_receipt.test_purchase_receipt \ + from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt \ import test_records as purchase_receipt_test_records - from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice + from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice # submit purchase receipt pr = webnotes.bean(copy=purchase_receipt_test_records[0]) @@ -549,7 +549,7 @@ class TestStockEntry(unittest.TestCase): return se, pr.doc.name def test_over_stock_return(self): - from stock.doctype.stock_entry.stock_entry import StockOverReturnError + from erpnext.stock.doctype.stock_entry.stock_entry import StockOverReturnError self._clear_stock_account_balance() # out of 10, 5 gets returned @@ -567,7 +567,7 @@ class TestStockEntry(unittest.TestCase): self.assertRaises(StockOverReturnError, se.insert) def _test_purchase_return_jv(self, se): - from stock.doctype.stock_entry.stock_entry import make_return_jv + from erpnext.stock.doctype.stock_entry.stock_entry import make_return_jv jv_list = make_return_jv(se.doc.name) self.assertEqual(len(jv_list), 3) @@ -590,10 +590,10 @@ class TestStockEntry(unittest.TestCase): actual_qty_0 = self._get_actual_qty() - from buying.doctype.purchase_order.test_purchase_order \ + from erpnext.buying.doctype.purchase_order.test_purchase_order \ import test_records as purchase_order_test_records - from buying.doctype.purchase_order.purchase_order import \ + from erpnext.buying.doctype.purchase_order.purchase_order import \ make_purchase_receipt, make_purchase_invoice # submit purchase receipt diff --git a/erpnext/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py index 062d70f927..f44e5e3599 100644 --- a/erpnext/stock/doctype/stock_ledger/stock_ledger.py +++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py @@ -9,7 +9,7 @@ from webnotes.model.doc import Document from webnotes.model.bean import getlist from webnotes.model.code import get_obj from webnotes import session, msgprint -from stock.utils import get_valid_serial_nos +from erpnext.stock.utils import get_valid_serial_nos class DocType: diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py index f059451099..c14918f0d4 100644 --- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py @@ -13,21 +13,21 @@ class DocType(DocListController): self.doclist = doclist def validate(self): - from stock.utils import validate_warehouse_user, validate_warehouse_company + from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company self.validate_mandatory() self.validate_item() validate_warehouse_user(self.doc.warehouse) validate_warehouse_company(self.doc.warehouse, self.doc.company) self.scrub_posting_time() - from accounts.utils import validate_fiscal_year + from erpnext.accounts.utils import validate_fiscal_year validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, self.meta.get_label("posting_date")) def on_submit(self): self.check_stock_frozen_date() self.actual_amt_check() - from stock.doctype.serial_no.serial_no import process_serial_no + from erpnext.stock.doctype.serial_no.serial_no import process_serial_no process_serial_no(self.doc) #check for item quantity available in stock diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js index fc502461d1..bf08738641 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js @@ -14,7 +14,7 @@ erpnext.stock.StockReconciliation = erpnext.stock.StockController.extend({ if (sys_defaults.auto_accounting_for_stock && !this.frm.doc.expense_account) { return this.frm.call({ - method: "accounts.utils.get_company_default", + method: "erpnext.accounts.utils.get_company_default", args: { "fieldname": "stock_adjustment_account", "company": this.frm.doc.company @@ -94,7 +94,7 @@ erpnext.stock.StockReconciliation = erpnext.stock.StockController.extend({ wn.upload.make({ parent: $wrapper, args: { - method: 'stock.doctype.stock_reconciliation.stock_reconciliation.upload' + method: 'erpnext.stock.doctype.stock_reconciliation.stock_reconciliation.upload' }, sample_url: "e.g. http://example.com/somefile.csv", callback: function(fid, filename, r) { diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 01ded1aa7f..f2744af358 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -7,9 +7,9 @@ import webnotes.defaults import json from webnotes import msgprint, _ from webnotes.utils import cstr, flt, cint -from stock.stock_ledger import update_entries_after -from controllers.stock_controller import StockController -from stock.utils import update_bin +from erpnext.stock.stock_ledger import update_entries_after +from erpnext.controllers.stock_controller import StockController +from erpnext.stock.utils import update_bin class DocType(StockController): def setup(self): @@ -90,7 +90,7 @@ class DocType(StockController): raise webnotes.ValidationError def validate_item(self, item_code, row_num): - from stock.utils import validate_end_of_life, validate_is_stock_item, \ + from erpnext.stock.utils import validate_end_of_life, validate_is_stock_item, \ validate_cancelled_item # using try except to catch all validation msgs and display together @@ -118,8 +118,8 @@ class DocType(StockController): def insert_stock_ledger_entries(self): """ find difference between current and expected entries and create stock ledger entries based on the difference""" - from stock.utils import get_valuation_method - from stock.stock_ledger import get_previous_sle + from erpnext.stock.utils import get_valuation_method + from erpnext.stock.stock_ledger import get_previous_sle row_template = ["item_code", "warehouse", "qty", "valuation_rate"] diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py index 984e508995..287395f515 100644 --- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py @@ -8,7 +8,7 @@ from __future__ import unicode_literals import webnotes, unittest from webnotes.utils import flt import json -from accounts.utils import get_fiscal_year, get_stock_and_account_difference, get_balance_on +from erpnext.accounts.utils import get_fiscal_year, get_stock_and_account_difference, get_balance_on class TestStockReconciliation(unittest.TestCase): diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py index 48e1ee1619..e3e29b9f18 100644 --- a/erpnext/stock/doctype/stock_settings/stock_settings.py +++ b/erpnext/stock/doctype/stock_settings/stock_settings.py @@ -16,7 +16,7 @@ class DocType: "allow_negative_stock"]: webnotes.conn.set_default(key, self.doc.fields.get(key, "")) - from setup.doctype.naming_series.naming_series import set_by_naming_series + from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series set_by_naming_series("Item", "item_code", self.doc.get("item_naming_by")=="Naming Series", hide_name_field=True) diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py index 5441c24c1c..2644995b94 100644 --- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +++ b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py @@ -58,7 +58,7 @@ class DocType: def update_stock_ledger_entry(self): # update stock ledger entry - from stock.stock_ledger import update_entries_after + from erpnext.stock.stock_ledger import update_entries_after if flt(self.doc.conversion_factor) != flt(1): webnotes.conn.sql("update `tabStock Ledger Entry` set stock_uom = '%s', actual_qty = ifnull(actual_qty,0) * '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.item_code)) diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py index 3559960d22..2b7473c14d 100644 --- a/erpnext/stock/doctype/warehouse/warehouse.py +++ b/erpnext/stock/doctype/warehouse/warehouse.py @@ -80,7 +80,7 @@ class DocType: def before_rename(self, olddn, newdn, merge=False): # Add company abbr if not provided - from setup.doctype.company.company import get_name_with_abbr + from erpnext.setup.doctype.company.company import get_name_with_abbr new_warehouse = get_name_with_abbr(newdn, self.doc.company) if merge: @@ -89,7 +89,7 @@ class DocType: webnotes.conn.sql("delete from `tabBin` where warehouse=%s", olddn) - from accounts.utils import rename_account_for + from erpnext.accounts.utils import rename_account_for rename_account_for("Warehouse", olddn, new_warehouse, merge) return new_warehouse @@ -99,7 +99,7 @@ class DocType: self.recalculate_bin_qty(newdn) def recalculate_bin_qty(self, newdn): - from utilities.repost_stock import repost_stock + from erpnext.utilities.repost_stock import repost_stock webnotes.conn.auto_commit_on_many_writes = 1 webnotes.conn.set_default("allow_negative_stock", 1) diff --git a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py index 6cd6f8e1d0..a3f4218a65 100644 --- a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py +++ b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from controllers.trends import get_columns,get_data +from erpnext.controllers.trends import get_columns,get_data def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py index 5fd003b9bc..6be1179aff 100644 --- a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py +++ b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals import webnotes -from controllers.trends import get_columns,get_data +from erpnext.controllers.trends import get_columns,get_data def execute(filters=None): if not filters: filters ={} diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index 870274413f..e6a402cee1 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes import msgprint from webnotes.utils import cint, flt, cstr, now -from stock.utils import get_valuation_method +from erpnext.stock.utils import get_valuation_method import json # future reposting @@ -16,7 +16,7 @@ _exceptions = webnotes.local('stockledger_exceptions') def make_sl_entries(sl_entries, is_amended=None): if sl_entries: - from stock.utils import update_bin + from erpnext.stock.utils import update_bin cancel = True if sl_entries[0].get("is_cancelled") == "Yes" else False if cancel: diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py index 4f5e11a657..1d838c9c40 100644 --- a/erpnext/stock/utils.py +++ b/erpnext/stock/utils.py @@ -110,7 +110,7 @@ def _msgprint(msg, verbose): def get_incoming_rate(args): """Get Incoming Rate based on valuation method""" - from stock.stock_ledger import get_previous_sle + from erpnext.stock.stock_ledger import get_previous_sle in_rate = 0 if args.get("serial_no"): @@ -299,7 +299,7 @@ def create_material_request(material_requests): mr_list = [] defaults = webnotes.defaults.get_defaults() exceptions_list = [] - from accounts.utils import get_fiscal_year + from erpnext.accounts.utils import get_fiscal_year current_fiscal_year = get_fiscal_year(nowdate())[0] or defaults.fiscal_year for request_type in material_requests: for company in material_requests[request_type]: diff --git a/erpnext/support/doctype/customer_issue/customer_issue.js b/erpnext/support/doctype/customer_issue/customer_issue.js index 066a11acbf..5d0ffb5fdc 100644 --- a/erpnext/support/doctype/customer_issue/customer_issue.js +++ b/erpnext/support/doctype/customer_issue/customer_issue.js @@ -25,7 +25,7 @@ erpnext.support.CustomerIssue = wn.ui.form.Controller.extend({ make_maintenance_visit: function() { wn.model.open_mapped_doc({ - method: "support.doctype.customer_issue.customer_issue.make_maintenance_visit", + method: "erpnext.support.doctype.customer_issue.customer_issue.make_maintenance_visit", source_name: cur_frm.doc.name }) } diff --git a/erpnext/support/doctype/customer_issue/customer_issue.py b/erpnext/support/doctype/customer_issue/customer_issue.py index 0739a2db8b..f6e6b6df99 100644 --- a/erpnext/support/doctype/customer_issue/customer_issue.py +++ b/erpnext/support/doctype/customer_issue/customer_issue.py @@ -9,7 +9,7 @@ from webnotes.utils import today -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, doc, doclist=[]): diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js index 25fe69ad7f..f1b2ac8f04 100644 --- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js +++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js @@ -9,7 +9,7 @@ erpnext.support.MaintenanceSchedule = wn.ui.form.Controller.extend({ cur_frm.add_custom_button(wn._('From Sales Order'), function() { wn.model.map_current_doc({ - method: "selling.doctype.sales_order.sales_order.make_maintenance_schedule", + method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule", source_doctype: "Sales Order", get_query_filters: { docstatus: 1, @@ -22,7 +22,7 @@ erpnext.support.MaintenanceSchedule = wn.ui.form.Controller.extend({ } else if (this.frm.doc.docstatus===1) { cur_frm.add_custom_button(wn._("Make Maintenance Visit"), function() { wn.model.open_mapped_doc({ - method: "support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit", + method: "erpnext.support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit", source_name: cur_frm.doc.name }) }) diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py index f18408fc19..8263b19667 100644 --- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py +++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py @@ -11,7 +11,7 @@ from webnotes import msgprint -from utilities.transaction_base import TransactionBase, delete_events +from erpnext.utilities.transaction_base import TransactionBase, delete_events class DocType(TransactionBase): def __init__(self, doc, doclist=[]): diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js index 1a618cd534..9b604b9249 100644 --- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js +++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js @@ -9,7 +9,7 @@ erpnext.support.MaintenanceVisit = wn.ui.form.Controller.extend({ cur_frm.add_custom_button(wn._('From Maintenance Schedule'), function() { wn.model.map_current_doc({ - method: "support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit", + method: "erpnext.support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit", source_doctype: "Maintenance Schedule", get_query_filters: { docstatus: 1, @@ -21,7 +21,7 @@ erpnext.support.MaintenanceVisit = wn.ui.form.Controller.extend({ cur_frm.add_custom_button(wn._('From Customer Issue'), function() { wn.model.map_current_doc({ - method: "support.doctype.customer_issue.customer_issue.make_maintenance_visit", + method: "erpnext.support.doctype.customer_issue.customer_issue.make_maintenance_visit", source_doctype: "Customer Issue", get_query_filters: { status: ["in", "Open, Work in Progress"], @@ -33,7 +33,7 @@ erpnext.support.MaintenanceVisit = wn.ui.form.Controller.extend({ cur_frm.add_custom_button(wn._('From Sales Order'), function() { wn.model.map_current_doc({ - method: "selling.doctype.sales_order.sales_order.make_maintenance_visit", + method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit", source_doctype: "Sales Order", get_query_filters: { docstatus: 1, diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py index f4696572bf..e56389eb0c 100644 --- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py +++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py @@ -10,7 +10,7 @@ from webnotes import msgprint -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, doc, doclist=[]): diff --git a/erpnext/support/doctype/newsletter/newsletter.js b/erpnext/support/doctype/newsletter/newsletter.js index f7a7ad1511..41967e337c 100644 --- a/erpnext/support/doctype/newsletter/newsletter.js +++ b/erpnext/support/doctype/newsletter/newsletter.js @@ -3,7 +3,7 @@ cur_frm.cscript.onload = function(doc) { return wn.call({ - method: "support.doctype.newsletter.newsletter.get_lead_options", + method: "erpnext.support.doctype.newsletter.newsletter.get_lead_options", type: "GET", callback: function(r) { set_field_options("lead_source", r.message.sources.join("\n")) diff --git a/erpnext/support/doctype/support_ticket/support_ticket.js b/erpnext/support/doctype/support_ticket/support_ticket.js index 4f8f75685f..b3728253b7 100644 --- a/erpnext/support/doctype/support_ticket/support_ticket.js +++ b/erpnext/support/doctype/support_ticket/support_ticket.js @@ -75,7 +75,7 @@ $.extend(cur_frm.cscript, { set_status: function(status) { return wn.call({ - method:"support.doctype.support_ticket.support_ticket.set_status", + method: "erpnext.support.doctype.support_ticket.support_ticket.set_status", args: { name: cur_frm.doc.name, status: status diff --git a/erpnext/support/doctype/support_ticket/support_ticket.py b/erpnext/support/doctype/support_ticket/support_ticket.py index fd79583129..0b95292c6a 100644 --- a/erpnext/support/doctype/support_ticket/support_ticket.py +++ b/erpnext/support/doctype/support_ticket/support_ticket.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import webnotes -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase from webnotes.utils import now, extract_email_id class DocType(TransactionBase): diff --git a/erpnext/support/doctype/support_ticket/templates/pages/tickets.py b/erpnext/support/doctype/support_ticket/templates/pages/tickets.py index 1816ccc932..7434af2075 100644 --- a/erpnext/support/doctype/support_ticket/templates/pages/tickets.py +++ b/erpnext/support/doctype/support_ticket/templates/pages/tickets.py @@ -32,7 +32,7 @@ def make_new_ticket(subject, message): if not (subject and message): raise webnotes.throw(_("Please write something in subject and message!")) - from support.doctype.support_ticket.get_support_mails import add_support_communication + from erpnext.support.doctype.support_ticket.get_support_mails import add_support_communication ticket = add_support_communication(subject, message, webnotes.session.user) return ticket.doc.name \ No newline at end of file diff --git a/erpnext/utilities/demo/make_demo.py b/erpnext/utilities/demo/make_demo.py index 18211a12a2..f469139513 100644 --- a/erpnext/utilities/demo/make_demo.py +++ b/erpnext/utilities/demo/make_demo.py @@ -100,7 +100,7 @@ def run_sales(current_date): def run_accounts(current_date): if can_make("Sales Invoice"): - from selling.doctype.sales_order.sales_order import make_sales_invoice + from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice report = "Ordered Items to be Billed" for so in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Sales Invoice")]: si = webnotes.bean(make_sales_invoice(so)) @@ -110,7 +110,7 @@ def run_accounts(current_date): webnotes.conn.commit() if can_make("Purchase Invoice"): - from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice + from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice report = "Received Items to be Billed" for pr in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Purchase Invoice")]: pi = webnotes.bean(make_purchase_invoice(pr)) @@ -121,7 +121,7 @@ def run_accounts(current_date): webnotes.conn.commit() if can_make("Payment Received"): - from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_sales_invoice + from erpnext.accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_sales_invoice report = "Accounts Receivable" for si in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Sales Invoice"]))[:how_many("Payment Received")]: jv = webnotes.bean(get_payment_entry_from_sales_invoice(si)) @@ -133,7 +133,7 @@ def run_accounts(current_date): webnotes.conn.commit() if can_make("Payment Made"): - from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_purchase_invoice + from erpnext.accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_purchase_invoice report = "Accounts Payable" for pi in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Purchase Invoice"]))[:how_many("Payment Made")]: jv = webnotes.bean(get_payment_entry_from_purchase_invoice(pi)) @@ -147,8 +147,8 @@ def run_accounts(current_date): def run_stock(current_date): # make purchase requests if can_make("Purchase Receipt"): - from buying.doctype.purchase_order.purchase_order import make_purchase_receipt - from stock.stock_ledger import NegativeStockError + from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt + from erpnext.stock.stock_ledger import NegativeStockError report = "Purchase Order Items To Be Received" for po in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Purchase Receipt")]: pr = webnotes.bean(make_purchase_receipt(po)) @@ -162,9 +162,9 @@ def run_stock(current_date): # make delivery notes (if possible) if can_make("Delivery Note"): - from selling.doctype.sales_order.sales_order import make_delivery_note - from stock.stock_ledger import NegativeStockError - from stock.doctype.serial_no.serial_no import SerialNoRequiredError, SerialNoQtyError + from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note + from erpnext.stock.stock_ledger import NegativeStockError + from erpnext.stock.doctype.serial_no.serial_no import SerialNoRequiredError, SerialNoQtyError report = "Ordered Items To Be Delivered" for so in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Delivery Note")]: dn = webnotes.bean(make_delivery_note(so)) @@ -205,7 +205,7 @@ def run_purchase(current_date): # make supplier quotations if can_make("Supplier Quotation"): - from stock.doctype.material_request.material_request import make_supplier_quotation + from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation report = "Material Requests for which Supplier Quotations are not created" for row in query_report.run(report)["result"][:how_many("Supplier Quotation")]: if row[0] != "Total": @@ -218,7 +218,7 @@ def run_purchase(current_date): # make purchase orders if can_make("Purchase Order"): - from stock.doctype.material_request.material_request import make_purchase_order + from erpnext.stock.doctype.material_request.material_request import make_purchase_order report = "Requested Items To Be Ordered" for row in query_report.run(report)["result"][:how_many("Purchase Order")]: if row[0] != "Total": @@ -230,8 +230,8 @@ def run_purchase(current_date): webnotes.conn.commit() def run_manufacturing(current_date): - from stock.stock_ledger import NegativeStockError - from stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError + from erpnext.stock.stock_ledger import NegativeStockError + from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError ppt = webnotes.bean("Production Planning Tool", "Production Planning Tool") ppt.doc.company = company @@ -276,9 +276,9 @@ def run_manufacturing(current_date): except DuplicateEntryForProductionOrderError: pass def make_stock_entry_from_pro(pro_id, purpose, current_date): - from manufacturing.doctype.production_order.production_order import make_stock_entry - from stock.stock_ledger import NegativeStockError - from stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError + from erpnext.manufacturing.doctype.production_order.production_order import make_stock_entry + from erpnext.stock.stock_ledger import NegativeStockError + from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError try: st = webnotes.bean(make_stock_entry(pro_id, purpose)) @@ -322,7 +322,7 @@ def make_quotation(current_date): def make_sales_order(current_date): q = get_random("Quotation", {"status": "Submitted"}) if q: - from selling.doctype.quotation.quotation import make_sales_order + from erpnext.selling.doctype.quotation.quotation import make_sales_order so = webnotes.bean(make_sales_order(q)) so.doc.transaction_date = current_date so.doc.delivery_date = webnotes.utils.add_days(current_date, 10) @@ -376,7 +376,7 @@ def install(): def complete_setup(): print "Complete Setup..." - from setup.page.setup_wizard.setup_wizard import setup_account + from erpnext.setup.page.setup_wizard.setup_wizard import setup_account setup_account({ "first_name": "Test", "last_name": "User", diff --git a/erpnext/utilities/doctype/contact/contact.py b/erpnext/utilities/doctype/contact/contact.py index 16f9d32ec4..301d7fdda0 100644 --- a/erpnext/utilities/doctype/contact/contact.py +++ b/erpnext/utilities/doctype/contact/contact.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes from webnotes.utils import cstr, extract_email_id -from utilities.transaction_base import TransactionBase +from erpnext.utilities.transaction_base import TransactionBase class DocType(TransactionBase): def __init__(self, doc, doclist=[]): diff --git a/erpnext/utilities/doctype/rename_tool/rename_tool.js b/erpnext/utilities/doctype/rename_tool/rename_tool.js index c075656870..90cd1e1337 100644 --- a/erpnext/utilities/doctype/rename_tool/rename_tool.js +++ b/erpnext/utilities/doctype/rename_tool/rename_tool.js @@ -3,7 +3,7 @@ cur_frm.cscript.refresh = function(doc) { return wn.call({ - method:"utilities.doctype.rename_tool.rename_tool.get_doctypes", + method: "erpnext.utilities.doctype.rename_tool.rename_tool.get_doctypes", callback: function(r) { cur_frm.set_df_property("select_doctype", "options", r.message); cur_frm.cscript.setup_upload(); diff --git a/erpnext/utilities/doctype/sms_control/sms_control.py b/erpnext/utilities/doctype/sms_control/sms_control.py index 5a9777a8a8..8fbb8fe7dc 100644 --- a/erpnext/utilities/doctype/sms_control/sms_control.py +++ b/erpnext/utilities/doctype/sms_control/sms_control.py @@ -2,9 +2,9 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import webnotes +import webnotes, json -from webnotes.utils import load_json, nowdate, cstr +from webnotes.utils import nowdate, cstr from webnotes.model.code import get_obj from webnotes.model.doc import Document from webnotes import msgprint @@ -47,14 +47,14 @@ class DocType: def get_contact_number(self, arg): "returns mobile number of the contact" - args = load_json(arg) + args = json.loads(arg) number = webnotes.conn.sql("""select mobile_no, phone from tabContact where name=%s and %s=%s""" % ('%s', args['key'], '%s'), (args['contact_name'], args['value'])) return number and (number[0][0] or number[0][1]) or '' def send_form_sms(self, arg): "called from client side" - args = load_json(arg) + args = json.loads(arg) self.send_sms([str(args['number'])], str(args['message'])) def send_sms(self, receiver_list, msg, sender_name = ''): diff --git a/erpnext/utilities/repost_stock.py b/erpnext/utilities/repost_stock.py index 48ff25f123..cb0ce1002b 100644 --- a/erpnext/utilities/repost_stock.py +++ b/erpnext/utilities/repost_stock.py @@ -39,7 +39,7 @@ def repost_stock(item_code, warehouse): }) def repost_actual_qty(item_code, warehouse): - from stock.stock_ledger import update_entries_after + from erpnext.stock.stock_ledger import update_entries_after try: update_entries_after({ "item_code": item_code, "warehouse": warehouse }) except: @@ -116,7 +116,7 @@ def get_planned_qty(item_code, warehouse): def update_bin(item_code, warehouse, qty_dict=None): - from stock.utils import get_bin + from erpnext.stock.utils import get_bin bin = get_bin(item_code, warehouse) mismatch = False for fld, val in qty_dict.items(): diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py index 5c28d8d8b6..cb183b0b72 100644 --- a/erpnext/utilities/transaction_base.py +++ b/erpnext/utilities/transaction_base.py @@ -2,12 +2,12 @@ # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals -import webnotes +import webnotes, json from webnotes import msgprint, _ -from webnotes.utils import load_json, cstr, flt, now_datetime, cint +from webnotes.utils import cstr, flt, now_datetime, cint from webnotes.model.doc import addchild -from controllers.status_updater import StatusUpdater +from erpnext.controllers.status_updater import StatusUpdater class TransactionBase(StatusUpdater): def get_default_address_and_contact(self, party_field, party_name=None): @@ -145,7 +145,7 @@ class TransactionBase(StatusUpdater): self.doc.fields.update(self.get_lead_defaults()) def get_customer_address(self, args): - args = load_json(args) + args = json.loads(args) ret = { 'customer_address' : args["address"], 'address_display' : get_address_display(args["address"]), @@ -170,7 +170,7 @@ class TransactionBase(StatusUpdater): # ----------------------- def get_default_supplier_address(self, args): if isinstance(args, basestring): - args = load_json(args) + args = json.loads(args) address_name = get_default_address("supplier", args["supplier"]) ret = { @@ -184,7 +184,7 @@ class TransactionBase(StatusUpdater): # Get Supplier Address # ----------------------- def get_supplier_address(self, args): - args = load_json(args) + args = json.loads(args) ret = { 'supplier_address' : args['address'], 'address_display' : get_address_display(args["address"]), @@ -439,7 +439,7 @@ def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, c }, raise_exception=True) def validate_item_fetch(args, item): - from stock.utils import validate_end_of_life + from erpnext.stock.utils import validate_end_of_life validate_end_of_life(item.name, item.end_of_life) # validate company