install, web serving, session booting webnotes/wnframework#351

This commit is contained in:
Rushabh Mehta 2013-12-12 19:12:19 +05:30
parent d2dd83c3a3
commit 1f84799f2d
199 changed files with 583 additions and 512 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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):

View File

@ -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
},

View File

@ -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)

View File

@ -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()

View File

@ -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 -----

View File

@ -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

View File

@ -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)

View File

@ -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()

View File

@ -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,
},

View File

@ -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.

View File

@ -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])

View File

@ -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);

View File

@ -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
},

View File

@ -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.

View File

@ -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({

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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):

View File

@ -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:

View File

@ -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();

View File

@ -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():

View File

@ -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 = {}

View File

@ -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

View File

@ -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 = {}

View File

@ -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 = {}

View File

@ -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 = {}

View File

@ -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 ={}

View File

@ -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 ={}

View File

@ -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()

View File

@ -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)

View File

@ -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,

View File

@ -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

View File

@ -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],

View File

@ -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'

View File

@ -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)

View File

@ -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
},

View File

@ -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):

View File

@ -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
})
}

View File

@ -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()

View File

@ -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()

View File

@ -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 ={}

View File

@ -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

View File

@ -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):

View File

@ -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]))

View File

@ -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

View File

@ -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):

View File

@ -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):

View File

@ -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);

View File

@ -13,7 +13,7 @@ wn.pages['latest-updates'].onload = function(wrapper) {
<div class="progress-bar" style="width: 100%;"></div></div>')
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();
$("<p class='help'>"+wn._("Report issues at")+

View File

@ -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,
});
}

View File

@ -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()

View File

@ -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);

View File

@ -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():

View File

@ -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);

View File

@ -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):

View File

@ -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)

View File

@ -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):

View File

@ -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) {

View File

@ -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)

View File

@ -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"
}

View File

@ -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()

View File

@ -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:

View File

@ -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):

View File

@ -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):

View File

@ -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"

View File

@ -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
});
}

View File

@ -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) {

View File

@ -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()

View File

@ -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()
@ -139,3 +121,93 @@ def import_defaults():
bean.ignore_mandatory = True
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"
}
}

View File

@ -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'])

View File

@ -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)

View File

@ -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

View File

@ -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()

View File

@ -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")

View File

@ -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()

View File

@ -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

View File

@ -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], {

View File

@ -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], {

View File

@ -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()

View File

@ -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`

View File

@ -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"]:

View File

@ -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")

View File

@ -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")

View File

@ -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"}

View File

@ -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'""")

View File

@ -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 = {}

View File

@ -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], {

View File

@ -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:

View File

@ -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) {

View File

@ -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:

View File

@ -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)

View File

@ -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):

View File

@ -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

View File

@ -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"
}

View File

@ -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):

View File

@ -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"
}

Some files were not shown because too many files have changed in this diff Show More