diff --git a/.gitignore b/.gitignore index 56149a0d5d3..7f90378aeca 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ .DS_Store server_tools patch.log +lib +versions-local.db diff --git a/README b/README deleted file mode 100644 index 5f3ecd69968..00000000000 --- a/README +++ /dev/null @@ -1,3 +0,0 @@ -For more info, download, install - -http://erpnext.org \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000000..4ed8f0d936a --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# ERPNext - Open Source + SAAS ERP + +Version 2.0 + +Includes Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS + +Built on Python / MySQL / wnframework + +- [Download](http://erpnext.org) +- [Use now as SAAS @ $7/user/month](https://erpnext.com) + +## Platform + +ERPNext is built on [wnframework](https://github.com/webnotes/wnframework) (Version 2.0) + +## Download and Install + +For download and install details, please go to [erpnext.org](http://erpnext.org) + +## Forums + +- [User / Functional](http://groups.google.com/group/erpnext-user-forum) +- [Technical](http://groups.google.com/group/wnframework) + +## Changes from wnframework version 1.7 + +To update from wnframework version 1. + +1. set your html folder to the root of erpnext (rather than wnframework) +2. create a symlink in erpnext: + + ln -s path/to/wnframework lib + +3. to setup the versions db, run: + + python lib/wnf.py setup + +4. copy defs.py from cgi-bin/webnotes to py/webnotes +5. change module_path (point to erpnext/erpnext) in defs.py +6. delete cgi-bin directory +7. delete all old module directories from erpnext + +## License + +ERPNext is available under the GNU/GPL license. + diff --git a/accounts/doctype/budget_control/budget_control.js b/accounts/doctype/budget_control/budget_control.js deleted file mode 100644 index 3d4d1c1d8c8..00000000000 --- a/accounts/doctype/budget_control/budget_control.js +++ /dev/null @@ -1,59 +0,0 @@ -class DocType: - def __init__(self,d,dl): - self.doc, self.doclist = d, dl - - # Get monthly budget - #------------------- - def get_monthly_budget(self, distribution_id, cfy, st_date, post_dt, budget_allocated): - - # get month_list - st_date, post_dt = getdate(st_date), getdate(post_dt) - - if distribution_id: - if st_date.month <= post_dt.month: - tot_per_allocated = sql("select ifnull(sum(percentage_allocation),0) from `tabBudget Distribution Detail` where parent='%s' and idx between '%s' and '%s'" % (distribution_id, st_date.month, post_dt.month))[0][0] - - if st_date.month > post_dt.month: - - tot_per_allocated = flt(sql("select ifnull(sum(percentage_allocation),0) from `tabBudget Distribution Detail` where parent='%s' and idx between '%s' and '%s'" % (distribution_id, st_date.month, 12 ))[0][0]) - tot_per_allocated = flt(tot_per_allocated) + flt(sql("select ifnull(sum(percentage_allocation),0) from `tabBudget Distribution Detail` where parent='%s' and idx between '%s' and '%s'" % (distribution_id, 1, post_dt.month))[0][0]) - - return (flt(budget_allocated) * flt(tot_per_allocated)) / 100 - period_diff = sql("select PERIOD_DIFF('%s','%s')" % (post_dt.strftime('%Y%m'), st_date.strftime('%Y%m'))) - - return (flt(budget_allocated) * (flt(period_diff[0][0]) + 1)) / 12 - - def validate_budget(self, acct, cost_center, actual, budget, action): - # action if actual exceeds budget - if flt(actual) > flt(budget): - msgprint("Your monthly expense "+ cstr((action == 'stop') and "will exceed" or "has exceeded") +" budget for Account - "+cstr(acct)+" under Cost Center - "+ cstr(cost_center) + ""+cstr((action == 'Stop') and ", you can not have this transaction." or ".")) - if action == 'Stop': raise Exception - - def check_budget(self,le_list,cancel): - # get value from record - acct, cost_center, debit, credit, post_dt, cfy, company = le_list - - # get allocated budget - bgt = sql("select t1.budget_allocated, t1.actual, t2.distribution_id from `tabBudget Detail` t1, `tabCost Center` t2 where t1.account='%s' and t1.parent=t2.name and t2.name = '%s' and t1.fiscal_year='%s'" % (acct,cost_center,cfy), as_dict =1) - curr_amt = ((cancel and -1 or 1) * flt(debit)) + ((cancel and 1 or -1) * flt(credit)) - - if bgt and bgt[0]['budget_allocated']: - # check budget flag in Company - bgt_flag = sql("select yearly_bgt_flag, monthly_bgt_flag from `tabCompany` where name = '%s'" % company, as_dict =1) - - if bgt_flag and bgt_flag[0]['monthly_bgt_flag'] in ['Stop', 'Warn']: - # get start date and last date - st_date = get_value('Fiscal Year', cfy, 'year_start_date').strftime('%Y-%m-%d') - lt_date = sql("select LAST_DAY('%s')" % post_dt) - - # get Actual - actual = get_obj('GL Control').get_period_difference(acct + '~~~' + cstr(st_date) + '~~~' + cstr(lt_date[0][0]), cost_center) - - # Get Monthly budget - budget = self.get_monthly_budget(bgt and bgt[0]['distribution_id'] or '' , cfy, st_date, post_dt, bgt[0]['budget_allocated']) - - # validate monthly budget - self.validate_budget(acct, cost_center, flt(actual) + flt(curr_amt), budget, 'monthly_bgt_flag') - - # update actual against budget allocated in cost center - sql("update `tabBudget Detail` set actual = ifnull(actual,0) + %s where account = '%s' and fiscal_year = '%s' and parent = '%s'" % (curr_amt,cstr(acct),cstr(cfy),cstr(cost_center))) \ No newline at end of file diff --git a/accounts/doctype/cost_center/cost_center.js b/accounts/doctype/cost_center/cost_center.js deleted file mode 100644 index 24dc50f2fbc..00000000000 --- a/accounts/doctype/cost_center/cost_center.js +++ /dev/null @@ -1,39 +0,0 @@ - - -//Account filtering for cost center -cur_frm.fields_dict['budget_details'].grid.get_field('account').get_query = function(doc) { - var mydoc = locals[this.doctype][this.docname]; - return 'SELECT DISTINCT `tabAccount`.`name`,`tabAccount`.debit_or_credit,`tabAccount`.group_or_ledger FROM `tabAccount` WHERE `tabAccount`.`company` = "' + doc.company_name + '" AND `tabAccount`.docstatus != 2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.debit_or_credit = "Debit" AND `tabAccount`.`group_or_ledger` != "Group" AND `tabAccount`.`group_or_ledger` is not NULL AND `tabAccount`.`name` LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'; - } - -cur_frm.fields_dict['parent_cost_center'].get_query = function(doc){ - return 'SELECT DISTINCT `tabCost Center`.name FROM `tabCost Center` WHERE `tabCost Center`.group_or_ledger="Group" AND `tabCost Center`.docstatus != 2 AND `tabCost Center`.company_name="'+ doc.company_name+'" AND `tabCost Center`.company_name is not NULL AND `tabCost Center`.name LIKE "%s" ORDER BY `tabCost Center`.name LIMIT 50'; -} - -//parent cost center -cur_frm.cscript.parent_cost_center = function(doc,cdt,cdn){ - if(!doc.company_name){ - alert('Please enter company name first'); - } -} - -//company abbr -cur_frm.cscript.company_name = function(doc,cdt,cdn){ - get_server_fields('get_abbr','','',doc,cdt,cdn,1); -} - -//onload if cost center is group -cur_frm.cscript.onload = function(doc, cdt, cdn) { - - if(!doc.__islocal && doc.docstatus == 0){ - get_field(doc.doctype,'group_or_ledger',doc.name).permlevel = 1; - refresh_field('group_or_ledger'); - get_field(doc.doctype,'company_name',doc.name).permlevel = 1; - refresh_field('company_name'); - } - -} - -cur_frm.cscript.refresh = function(doc, cdt, cdn) { - -} diff --git a/accounts/doctype/gl_control/gl_control.js b/accounts/doctype/gl_control/gl_control.js deleted file mode 100644 index 8f8d786424d..00000000000 --- a/accounts/doctype/gl_control/gl_control.js +++ /dev/null @@ -1,367 +0,0 @@ -class DocType: - def __init__(self,d,dl): - self.doc, self.doclist = d, dl - self.entries = [] - - # Get Company List - # ---------------- - def get_companies(self,arg=''): - d = get_defaults() - ret = sql("select name, abbr from tabCompany where docstatus != 2") - pl = {} - for r in ret: - inc = get_value('Account','Income - '+r[1], 'balance') - exp = get_value('Account','Expenses - '+r[1], 'balance') - pl[r[0]] = flt(flt(inc) - flt(exp)) - return {'cl':[r[0] for r in ret], 'pl':pl} - - # Get current balance - # -------------------- - def get_bal(self,arg): - ac, fy = arg.split('~~~') - det = sql("select t1.balance, t2.debit_or_credit from `tabAccount Balance` t1, `tabAccount` t2 where t1.period = %s and t2.name=%s and t1.parent = t2.name", (fy, ac)) - bal = det and flt(det[0][0]) or 0 - dr_or_cr = det and flt(det[0][1]) or '' - return fmt_money(bal) + ' ' + dr_or_cr - - def get_period_balance(self,arg): - acc, f, t = arg.split('~~~') - c, fy = '', get_defaults()['fiscal_year'] - - det = sql("select debit_or_credit, lft, rgt, is_pl_account from tabAccount where name=%s", acc) - if f: c += (' and t1.posting_date >= "%s"' % f) - if t: c += (' and t1.posting_date <= "%s"' % t) - bal = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) from `tabGL Entry` t1 where t1.account='%s' and ifnull(is_opening, 'No') = 'No' %s" % (acc, c)) - bal = bal and flt(bal[0][0]) or 0 - - if det[0][0] != 'Debit': - bal = (-1) * bal - - # add opening for balance sheet accounts - if det[0][3] == 'No': - opening = flt(sql("select opening from `tabAccount Balance` where parent=%s and period=%s", (acc, fy))[0][0]) - bal = bal + opening - - return flt(bal) - - - def get_period_difference(self,arg, cost_center =''): - # used in General Ledger Page Report - # used for Budget where cost center passed as extra argument - acc, f, t = arg.split('~~~') - c, fy = '', get_defaults()['fiscal_year'] - - det = sql("select debit_or_credit, lft, rgt, is_pl_account from tabAccount where name=%s", acc) - if f: c += (' and t1.posting_date >= "%s"' % f) - if t: c += (' and t1.posting_date <= "%s"' % t) - if cost_center: c += (' and t1.cost_center = "%s"' % cost_center) - bal = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) from `tabGL Entry` t1 where t1.account='%s' %s" % (acc, c)) - bal = bal and flt(bal[0][0]) or 0 - - if det[0][0] != 'Debit': - bal = (-1) * bal - - return flt(bal) - - # Get Children (for tree) - # ----------------------- - def get_cl(self, arg): - fy = get_defaults()['fiscal_year'] - parent, parent_acc_name, company, type = arg.split(',') - - # get children account details - if type=='Account': - if parent=='Root': - cl = sql("select t1.name, t1.group_or_ledger, t1.debit_or_credit, t2.balance, t1.account_name from tabAccount t1, `tabAccount Balance` t2 where t1.parent_account is NULL or t1.parent_account='' and t1.docstatus != 2 and t1.company=%s and t1.name = t2.parent and t2.period = %s order by t1.name asc", (company, fy),as_dict=1) - else: - cl = sql("select t1.name, t1.group_or_ledger, t1.debit_or_credit, t2.balance, t1.account_name from tabAccount t1, `tabAccount Balance` t2 where t1.parent_account=%s and t1.docstatus != 2 and t1.company=%s and t1.name = t2.parent and t2.period = %s order by t1.name asc",(parent, company, fy) ,as_dict=1) - - # remove Decimals - for c in cl: c['balance'] = flt(c['balance']) - - # get children cost center details - elif type=='Cost Center': - if parent=='Root': - cl = sql("select name,group_or_ledger, cost_center_name from `tabCost Center` where parent_cost_center is NULL or parent_cost_center='' and docstatus != 2 and company_name=%s order by name asc",(company),as_dict=1) - else: - cl = sql("select name,group_or_ledger,cost_center_name from `tabCost Center` where parent_cost_center=%s and docstatus != 2 and company_name=%s order by name asc",(parent,company),as_dict=1) - - return {'parent':parent, 'parent_acc_name':parent_acc_name, 'cl':cl} - - # Add a new account - # ----------------- - def add_ac(self,arg): - arg = eval(arg) - ac = Document('Account') - for d in arg.keys(): - ac.fields[d] = arg[d] - ac.old_parent = '' - ac_obj = get_obj(doc=ac) - ac_obj.validate() - ac_obj.doc.save(1) - ac_obj.on_update() - - return ac_obj.doc.name - - # Add a new cost center - #---------------------- - def add_cc(self,arg): - arg = eval(arg) - cc = Document('Cost Center') - # map fields - for d in arg.keys(): - cc.fields[d] = arg[d] - # map company abbr - other_info = sql("select company_abbr from `tabCost Center` where name='%s'"%arg['parent_cost_center']) - cc.company_abbr = other_info and other_info[0][0] or arg['company_abbr'] - - cc_obj = get_obj(doc=cc) - cc_obj.validate() - cc_obj.doc.save(1) - cc_obj.on_update() - - return cc_obj.doc.name - - - - # Get field values from the voucher - #------------------------------------------ - def get_val(self, src, d, parent=None): - if not src: - return None - if src.startswith('parent:'): - return parent.fields[src.split(':')[1]] - elif src.startswith('value:'): - return eval(src.split(':')[1]) - elif src: - return d.fields.get(src) - - def check_if_in_list(self, le): - for e in self.entries: - if e.account == le.account and (cstr(e.against_voucher)==cstr(le.against_voucher)) and (cstr(e.against_voucher_type)==cstr(le.against_voucher_type)) and (cstr(e.cost_center)==cstr(le.cost_center)): - return [e] - return 0 - - # Make a dictionary(le) for every gl entry and append to a list(self.entries) - #---------------------------------------------------------------------------- - def make_single_entry(self,parent,d,le_map,cancel): - if self.get_val(le_map['account'], d, parent) and (self.get_val(le_map['debit'], d, parent) or self.get_val(le_map['credit'], d, parent)): - flist = ['account','cost_center','against','debit','credit','remarks','voucher_type','voucher_no','transaction_date','posting_date','fiscal_year','against_voucher','against_voucher_type','company','is_opening', 'aging_date'] - - # Check budget before gl entry - #check budget only if account is expense account - is_expense_acct = sql("select name from tabAccount where is_pl_account='Yes' and debit_or_credit='Debit' and name=%s",self.get_val(le_map['account'], d, parent)) - if is_expense_acct and self.get_val(le_map['cost_center'], d, parent): - get_obj('Budget Control').check_budget([self.get_val(le_map[k], d, parent) for k in flist if k in ['account','cost_center','debit','credit','posting_date','fiscal_year','company']],cancel) - - # Create new GL entry object and map values - le = Document('GL Entry') - for k in flist: - le.fields[k] = self.get_val(le_map[k], d, parent) - - # if there is already an entry in this account then just add it to that entry - same_head = self.check_if_in_list(le) - if same_head: - same_head = same_head[0] - same_head.debit = flt(same_head.debit) + flt(le.debit) - same_head.credit = flt(same_head.credit) + flt(le.credit) - else: - self.entries.append(le) - - # Save GL Entries - # ---------------- - def save_entries(self, cancel, adv_adj): - for le in self.entries: - # cancel - if cancel: - tmp=le.debit - le.debit, le.credit = le.credit, tmp - - le_obj = get_obj(doc=le) - # validate except on_cancel - if not cancel: - le_obj.validate() - - # save - le.save(1) - le_obj.on_update(adv_adj) - - # update total debit / credit - self.td += flt(le.debit) - self.tc += flt(le.credit) - - # Make Multiple Entries - # --------------------- - def make_gl_entries(self, doc, doclist, cancel=0, adv_adj = 0): - # get entries - le_map_list = sql("select * from `tabGL Mapper Detail` where parent = %s", doc.doctype, as_dict=1) - - self.td, self.tc = 0.0, 0.0 - - for le_map in le_map_list: - if le_map['table_field']: - for d in getlist(doclist,le_map['table_field']): - # purchase_tax_details is the table of other charges in purchase cycle - if le_map['table_field'] != 'purchase_tax_details' or (le_map['table_field'] == 'purchase_tax_details' and d.fields.get('category') != 'For Valuation'): - self.make_single_entry(doc,d,le_map,cancel) - else: - self.make_single_entry(None,doc,le_map,cancel) - - # save entries - self.save_entries(cancel,adv_adj) - - # check total debit / credit - # Due to old wrong entries (total debit != total credit) some voucher could be cancelled - if abs(self.td - self.tc) > 0.001 and not cancel: - msgprint("Debit and Credit not equal for this voucher: Diff (Debit) is %s" % (self.td-self.tc)) - raise Exception - - # set as cancelled - if cancel: - vt, vn = self.get_val(le_map['voucher_type'], doc, doc), self.get_val(le_map['voucher_no'], doc, doc) - sql("update `tabGL Entry` set is_cancelled='Yes' where voucher_type=%s and voucher_no=%s", (vt, vn)) - - # Get account balance on any date - # ------------------------------- - - def get_as_on_balance(self, account_name, fiscal_year, as_on, credit_or_debit, is_pl, lft, rgt, ysd): - # get total transaction value for the current year - bal = bal = sql("select SUM(t1.debit), SUM(t1.credit) from `tabGL Entry` t1, `tabAccount` t2 WHERE t1.posting_date >= %s AND t1.posting_date <= %s and t1.is_opening = 'No' AND t1.account = t2.name AND t2.lft >= %s AND t2.rgt <= %s and t1.is_cancelled = 'No'", (ysd,as_on,lft, rgt)) - bal = bal and (flt(bal[0][0]) - flt(bal[0][1])) or 0 - - if credit_or_debit == 'Credit' and bal: - bal = -bal - - # Add opening balance with the transaction value - if is_pl=='No': - op = sql("select opening from `tabAccount Balance` where parent=%s and period=%s", (account_name, fiscal_year)) - op = op and op[0][0] or 0 - bal += flt(op) - return flt(bal) - - # ADVANCE ALLOCATION - #------------------- - def get_advances(self, obj, account_head, table_name,table_field_name, dr_or_cr): - jv_detail = sql("select t1.name, t1.remark, t2.%s, t2.name, t1.ded_amount from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and (t2.against_voucher is null or t2.against_voucher = '') and (t2.against_invoice is null or t2.against_invoice = '') and t2.account = '%s' and t2.is_advance = 'Yes' and t1.docstatus = 1 order by t1.voucher_date " % (dr_or_cr,account_head)) - # clear advance table - obj.doc.clear_table(obj.doclist,table_field_name) - # Create advance table - for d in jv_detail: - add = addchild(obj.doc, table_field_name, table_name, 1, obj.doclist) - add.journal_voucher = d[0] - add.jv_detail_no = d[3] - add.remarks = d[1] - add.advance_amount = flt(d[2]) - add.allocate_amount = 0 - if table_name == 'Advance Allocation Detail': - add.tds_amount = flt(d[4]) - - # Clear rows which is not adjusted - #------------------------------------- - def clear_advances(self, obj,table_name,table_field_name): - for d in getlist(obj.doclist,table_field_name): - if not flt(d.allocated_amount): - sql("update `tab%s` set parent = '' where name = '%s' and parent = '%s'" % (table_name, d.name, d.parent)) - d.parent = '' - - # Update aginst document in journal voucher - #------------------------------------------ - def update_against_document_in_jv(self, obj, table_field_name, against_document_no, against_document_doctype, account_head, dr_or_cr,doctype): - for d in getlist(obj.doclist, table_field_name): - self.validate_jv_entry(d, account_head, dr_or_cr) - if flt(d.advance_amount) == flt(d.allocated_amount): - # cancel JV - jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children=1) - get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj =1) - - # update ref in JV Detail - sql("update `tabJournal Voucher Detail` set %s = '%s' where name = '%s'" % (doctype=='Payable Voucher' and 'against_voucher' or 'against_invoice', cstr(against_document_no), d.jv_detail_no)) - - # re-submit JV - jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children =1) - get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj =1) - - elif flt(d.advance_amount) > flt(d.allocated_amount): - # cancel JV - jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children=1) - get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj = 1) - - # add extra entries - self.add_extra_entry(jv_obj, d.journal_voucher, d.jv_detail_no, flt(d.allocated_amount), account_head, doctype, dr_or_cr, against_document_no) - - # re-submit JV - jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children =1) - get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj = 1) - else: - msgprint("Allocation amount cannot be greater than advance amount") - raise Exception - - # Add extra row in jv detail for unadjusted amount - #-------------------------------------------------- - def add_extra_entry(self,jv_obj,jv,jv_detail_no, allocate, account_head, doctype, dr_or_cr, against_document_no): - # get old entry details - - jvd = sql("select %s, cost_center, balance, against_account from `tabJournal Voucher Detail` where name = '%s'" % (dr_or_cr,jv_detail_no)) - advance = jvd and flt(jvd[0][0]) or 0 - balance = flt(advance) - flt(allocate) - - # update old entry - sql("update `tabJournal Voucher Detail` set %s = '%s', %s = '%s' where name = '%s'" % (dr_or_cr, flt(allocate), doctype == "Payable Voucher" and 'against_voucher' or 'against_invoice',cstr(against_document_no), jv_detail_no)) - - # new entry with balance amount - add = addchild(jv_obj.doc, 'entries', 'Journal Voucher Detail', 1, jv_obj.doclist) - add.account = account_head - add.cost_center = cstr(jvd[0][1]) - add.balance = cstr(jvd[0][2]) - add.fields[dr_or_cr] = balance - add.against_account = cstr(jvd[0][3]) - add.is_advance = 'Yes' - add.save(1) - - # check if advance entries are still valid - # ---------------------------------------- - def validate_jv_entry(self, d, account_head, dr_or_cr): - # 1. check if there is already a voucher reference - # 2. check if amount is same - # 3. check if is_advance is 'Yes' - # 4. check if jv is submitted - ret = sql("select t2.%s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and (t2.against_voucher = '' || t2.against_voucher is null) and (t2.against_invoice = '' || t2.against_invoice is null) and t2.account = '%s' and t1.name = '%s' and t2.name = '%s' and t2.is_advance = 'Yes' and t1.docstatus=1 and t2.%s = %s" % ( dr_or_cr, account_head, d.journal_voucher, d.jv_detail_no, dr_or_cr, d.advance_amount)) - if (not ret): - msgprint("Please click on 'Get Advances Paid' button as the advance entries have been changed.") - raise Exception - return - -############################################################################## -# Repair Outstanding Amount -############################################################################## - def repair_voucher_outstanding(self, voucher_obj): - msg = [] - - # Get Balance from GL Entries - bal = sql("select sum(debit)-sum(credit) from `tabGL Entry` where against_voucher=%s and against_voucher_type=%s", (voucher_obj.doc.name , voucher_obj.doc.doctype)) - bal = bal and flt(bal[0][0]) or 0.0 - if cstr(voucher_obj.doc.doctype) == 'Payable Voucher': - bal = -bal - - # Check outstanding Amount - if flt(voucher_obj.doc.outstanding_amount) != flt(bal): - msgprint('
Difference found in Outstanding Amount of %s : %s (Before : %s; After : %s)
' % (voucher_obj.doc.doctype, voucher_obj.doc.name, voucher_obj.doc.outstanding_amount, bal)) - msg.append('
Difference found in Outstanding Amount of %s : %s (Before : %s; After : %s)
' % (voucher_obj.doc.doctype, voucher_obj.doc.name, voucher_obj.doc.outstanding_amount, bal)) - - # set voucher balance - #sql("update `tab%s` set outstanding_amount=%s where name='%s'" % (voucher_obj.doc.doctype, bal, voucher_obj.doc.name)) - set(voucher_obj.doc, 'outstanding_amount', flt(bal)) - - # Send Mail - if msg: - email_msg = """ Dear Administrator, - -In Account := %s User := %s has Repaired Outstanding Amount For %s : %s and following was found:- - -%s - -""" % (get_value('Control Panel', None,'account_id'), session['user'], voucher_obj.doc.doctype, voucher_obj.doc.name, '\n'.join(msg)) - - sendmail(['jai@webnotestech.com'], subject='Repair Outstanding Amount', parts = [('text/plain', email_msg)]) - # Acknowledge User - msgprint(cstr(voucher_obj.doc.doctype) + " : " + cstr(voucher_obj.doc.name) + " has been checked" + cstr(msg and " and repaired successfully." or ". No changes Found.")) diff --git a/accounts/doctype/gl_entry/gl_entry.js b/accounts/doctype/gl_entry/gl_entry.js deleted file mode 100644 index 9f34ad87954..00000000000 --- a/accounts/doctype/gl_entry/gl_entry.js +++ /dev/null @@ -1,202 +0,0 @@ -class DocType: - def __init__(self,d,dl): - self.doc, self.doclist = d, dl - - # Validate mandatory - #------------------- - def check_mandatory(self): - # Following fields are mandatory in GL Entry - mandatory = ['account','remarks','voucher_type','voucher_no','fiscal_year','company'] - for k in mandatory: - if not self.doc.fields.get(k): - msgprint("%s is mandatory for GL Entry" % k) - raise Exception - - # Zero value transaction is not allowed - if not (flt(self.doc.debit) or flt(self.doc.credit)): - msgprint("GL Entry: Debit or Credit amount is mandatory for %s" % self.doc.account) - raise Exception - - # Debit and credit can not done at the same time - if flt(self.doc.credit) != 0 and flt(self.doc.debit) != 0: - msgprint("Sorry you cannot credit and debit under same account head.") - raise Exception, "Validation Error." - - # Cost center is required only if transaction made against pl account - #-------------------------------------------------------------------- - def pl_must_have_cost_center(self): - if sql("select name from tabAccount where name=%s and is_pl_account='Yes'", self.doc.account): - if not self.doc.cost_center and not self.doc.voucher_type != 'Period Closing Entry': - msgprint("Error: Cost Center must be specified for PL Account: %s" % self.doc.account_name) - raise Exception - else: # not pl - if self.doc.cost_center: - self.doc.cost_center = '' - - # Account must be ledger, active and not freezed - #----------------------------------------------- - def validate_account_details(self, adv_adj): - ret = sql("select group_or_ledger, docstatus, freeze_account, company from tabAccount where name=%s", self.doc.account) - - # 1. Checks whether Account type is group or ledger - if ret and ret[0][0]=='Group': - msgprint("Error: All accounts must be Ledgers. Account %s is a group" % self.doc.account) - raise Exception - - # 2. Checks whether Account is active - if ret and ret[0][1]==2: - msgprint("Error: All accounts must be Active. Account %s moved to Trash" % self.doc.account) - raise Exception - - # 3. Account has been freezed for other users except account manager - if ret and ret[0][2]== 'Yes' and not adv_adj and not 'Accounts Manager' in session['data']['roles']: - msgprint("Error: Account %s has been freezed. Only Accounts Manager can do transaction against this account." % self.doc.account) - raise Exception - - # 4. Check whether account is within the company - if ret and ret[0][3] != self.doc.company: - msgprint("Account: %s does not belong to the company: %s" % (self.doc.account, self.doc.company)) - raise Exception - - # Posting date must be in selected fiscal year and fiscal year is active - #------------------------------------------------------------------------- - def validate_posting_date(self): - fy = sql("select docstatus, year_start_date from `tabFiscal Year` where name=%s ", self.doc.fiscal_year) - ysd = fy[0][1] - yed = get_last_day(get_first_day(ysd,0,11)) - pd = getdate(self.doc.posting_date) - if fy[0][0] == 2: - msgprint("Fiscal Year is not active. You can restore it from Trash") - raise Exception - if pd < ysd or pd > yed: - msgprint("Posting date must be in the Selected Financial Year") - raise Exception - - - # Nobody can do GL Entries where posting date is before freezing date except 'Accounts Manager' - #---------------------------------------------------------------------------------------------- - def check_freezing_date(self, adv_adj): - if not adv_adj: - pd,fd = getdate(self.doc.posting_date),0 - acc_frozen_upto = get_obj(dt = 'Manage Account').doc.acc_frozen_upto or '' - if acc_frozen_upto: - fd = getdate(acc_frozen_upto) - - bde_auth_role = get_value( 'Manage Account', None,'bde_auth_role') - if fd and pd <= fd and (bde_auth_role and not bde_auth_role in session['data']['roles']): - msgprint("Message:You are not authorized to do back dated entries for account: %s before %s." % (self.doc.account, str(fd))) - raise Exception - - # create new bal if not exists - #----------------------------- - def create_new_balances(self, ac_obj, p, amt): - ac = addchild(ac_obj.doc, 'account_balances', 'Account Balance', 1) - ac.period = p[0] - ac.start_date = p[1].strftime('%Y-%m-%d') - ac.end_date = p[2].strftime('%Y-%m-%d') - ac.fiscal_year = p[3] - ac.opening = 0 - ac.balance = amt - ac.save() - - # Post Balance - # ------------ - def post_balance(self, acc): - # get details - lft = sql("select lft, rgt, debit_or_credit from `tabAccount` where name='%s'" % acc) - - # amount to debit - amt = flt(self.doc.debit) - flt(self.doc.credit) - if lft[0][2] == 'Credit': amt = -amt - - # get periods - periods = self.get_period_list(self.doc.posting_date, self.doc.fiscal_year) - - acc_obj = get_obj('Account', self.doc.account) - for p in periods: - if not sql("select name from `tabAccount Balance` where parent=%s and period=%s", (self.doc.account, p[0])): - self.create_new_balances(acc_obj, p, amt) - else: - # update current - pl = sql("update `tabAccount Balance` t1, `tabAccount` t2 set t1.balance = t1.balance + %s where t2.lft<=%s and t2.rgt>=%s and t1.parent = t2.name and t1.period = '%s'" % (amt, cint(lft[0][0]), cint(lft[0][1]), p[0])) - - # update opening - if self.doc.is_opening=='Yes': - pl = sql("update `tabAccount Balance` t1, `tabAccount` t2 set t1.opening = ifnull(t1.opening,0) + %s where t2.lft<=%s and t2.rgt>=%s and t1.parent = t2.name and t1.period = '%s'" % (amt, cint(lft[0][0]), cint(lft[0][1]), self.doc.fiscal_year)) - - # Get periods(month and year) - #----------------------------- - def get_period_list(self, dt, fy): - pl = sql("SELECT name, start_date, end_date, fiscal_year FROM tabPeriod WHERE end_date >='%s' and fiscal_year = '%s' and period_type in ('Month', 'Year')" % (dt,fy)) - return pl - - # Voucher Balance - # --------------- - def update_outstanding_amt(self): - # get final outstanding amt - bal = flt(sql("select sum(debit)-sum(credit) from `tabGL Entry` where against_voucher=%s and against_voucher_type=%s and ifnull(is_cancelled,'No') = 'No'", (self.doc.against_voucher, self.doc.against_voucher_type))[0][0] or 0.0) - tds = 0 - - if self.doc.against_voucher_type=='Payable Voucher': - # amount to debit - bal = -bal - - # Check if tds applicable - tds = sql("select total_tds_on_voucher from `tabPayable Voucher` where name = '%s'" % self.doc.against_voucher) - tds = tds and flt(tds[0][0]) or 0 - - # Validation : Outstanding can not be negative - if bal < 0 and not tds and self.doc.is_cancelled == 'No': - msgprint("Outstanding for Voucher %s will become %s. Outstanding cannot be less than zero. Please match exact outstanding." % (self.doc.against_voucher, fmt_money(bal))) - raise Exception - - # Update outstanding amt on against voucher - sql("update `tab%s` set outstanding_amount=%s where name='%s'"% (self.doc.against_voucher_type,bal,self.doc.against_voucher)) - - - # Total outstanding can not be greater than credit limit for any time for any customer - #--------------------------------------------------------------------------------------------- - def check_credit_limit(self): - #check for user role Freezed - master_type=sql("select master_type from `tabAccount` where name='%s' " %self.doc.account) - tot_outstanding = 0 #needed when there is no GL Entry in the system for that acc head - if (self.doc.voucher_type=='Journal Voucher' or self.doc.voucher_type=='Receivable Voucher') and (master_type and master_type[0][0]=='Customer'): - dbcr=sql("select sum(debit),sum(credit) from `tabGL Entry` where account = '%s' and is_cancelled='No'" % self.doc.account) - if dbcr: - tot_outstanding = flt(dbcr[0][0])-flt(dbcr[0][1])+flt(self.doc.debit)-flt(self.doc.credit) - get_obj('Account',self.doc.account).check_credit_limit(self.doc.account, self.doc.company, tot_outstanding) - - #for opening entry account can not be pl account - #----------------------------------------------- - def check_pl_account(self): - if self.doc.is_opening=='Yes': - is_pl_account=sql("select is_pl_account from `tabAccount` where name='%s'"%(self.doc.account)) - if is_pl_account and is_pl_account[0][0]=='Yes': - msgprint("For opening balance entry account can not be a PL account") - raise Exception - - # Validate - # -------- - def validate(self): # not called on cancel - self.check_mandatory() - self.pl_must_have_cost_center() - self.validate_posting_date() - self.doc.is_cancelled = 'No' # will be reset by GL Control if cancelled - self.check_credit_limit() - self.check_pl_account() - - # On Update - #---------- - def on_update(self,adv_adj): - # Account must be ledger, active and not freezed - self.validate_account_details(adv_adj) - - # Posting date must be after freezing date - self.check_freezing_date(adv_adj) - - # Update current account balance - self.post_balance(self.doc.account) - - # Update outstanding amt on against voucher - if self.doc.against_voucher: - self.update_outstanding_amt() \ No newline at end of file diff --git a/accounts/doctype/pos_setting/pos_setting.js b/accounts/doctype/pos_setting/pos_setting.js deleted file mode 100755 index 2bbc08cf589..00000000000 --- a/accounts/doctype/pos_setting/pos_setting.js +++ /dev/null @@ -1,38 +0,0 @@ -cur_frm.cscript.onload = function(doc,cdt,cdn){ - $c_obj(make_doclist(cdt,cdn),'get_series','',function(r,rt){ - if(r.message) set_field_options('naming_series', r.message); - }); - - -} - -//cash bank account -//------------------------------------ -cur_frm.fields_dict['cash_bank_account'].get_query = function(doc,cdt,cdn) { - return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"' -} - -// Income Account -// -------------------------------- -cur_frm.fields_dict['income_account'].get_query = function(doc,cdt,cdn) { - return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Credit" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.account_type ="Income Account" AND tabAccount.%(key)s LIKE "%s"' -} - - -// Cost Center -// ----------------------------- -cur_frm.fields_dict['cost_center'].get_query = function(doc,cdt,cdn) { - return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.`company_name` = "' +doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50'; -} - -//get query select Territory -//================================================================= -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s" ORDER BY `tabTerritory`.`name` ASC LIMIT 50'; -} - - -// ------------------ Get Print Heading ------------------------------------ -cur_frm.fields_dict['select_print_heading'].get_query = function(doc, cdt, cdn) { - return 'SELECT `tabPrint Heading`.name FROM `tabPrint Heading` WHERE `tabPrint Heading`.docstatus !=2 AND `tabPrint Heading`.name LIKE "%s" ORDER BY `tabPrint Heading`.name ASC LIMIT 50'; -} diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.js b/accounts/doctype/receivable_voucher/receivable_voucher.js deleted file mode 100644 index 14a53c416bc..00000000000 --- a/accounts/doctype/receivable_voucher/receivable_voucher.js +++ /dev/null @@ -1,419 +0,0 @@ -cur_frm.cscript.tname = "RV Detail"; -cur_frm.cscript.fname = "entries"; -cur_frm.cscript.other_fname = "other_charges"; -cur_frm.cscript.sales_team_fname = "sales_team"; - -// print heading -cur_frm.pformat.print_heading = 'Invoice'; - -$import(Sales Common) -$import(Other Charges) -$import(SMS Control) - -// On Load -// ------- -cur_frm.cscript.onload = function(doc,dt,dn) { - if(!doc.customer && doc.debit_to) get_field(dt, 'debit_to', dn).print_hide = 0; - if (doc.__islocal) { - if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()}); - if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()}); - if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()}); - - //for previously created sales invoice, set required field related to pos - if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn); - - hide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); - } -} - -cur_frm.cscript.onload_post_render = function(doc, dt, dn) { - if(doc.customer && doc.__islocal) { - // called from mapper, update the account names for items and customer - $c_obj(make_doclist(doc.doctype,doc.name), - 'load_default_accounts','', - function(r,rt) { - refresh_field('entries'); - cur_frm.cscript.customer(doc,dt,dn); - } - ); - } - - if(!doc.customer && doc.__islocal) { - // new -- load default taxes - cur_frm.cscript.load_taxes(doc, cdt, cdn); - } -} - - -// Hide Fields -// ------------ -cur_frm.cscript.hide_fields = function(doc, cdt, cdn) { - if(cint(doc.is_pos) == 1) - hide_field(['project_name', 'due_date', 'posting_time', 'sales_order_main', 'delivery_note_main', 'Get Items']); - else - unhide_field(['project_name', 'due_date', 'posting_time', 'sales_order_main', 'delivery_note_main', 'Get Items']); -} - - -// Refresh -// ------- -cur_frm.cscript.refresh = function(doc, dt, dn) { - - // Show / Hide button - cur_frm.clear_custom_buttons(); - - if(doc.docstatus==1) { - cur_frm.add_custom_button('View Ledger', cur_frm.cscript['View Ledger Entry']); - cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']); - unhide_field('Repair Outstanding Amt'); - - if(doc.is_pos==1 && doc.update_stock!=1) - cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']); - - if(doc.outstanding_amount!=0) - cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript['Make Bank Voucher']); - } - else - hide_field('Repair Outstanding Amt'); - cur_frm.cscript.is_opening(doc, dt, dn); - cur_frm.cscript.hide_fields(doc, cdt, cdn); -} - -//fetch retail transaction related fields -//-------------------------------------------- -cur_frm.cscript.is_pos = function(doc,dt,dn){ - cur_frm.cscript.hide_fields(doc, cdt, cdn); - if(doc.is_pos == 1){ - if (!doc.company) { - msgprint("Please select company to proceed"); - doc.is_pos = 0; - refresh_field('is_pos'); - } - else { - var callback = function(r,rt){ - cur_frm.refresh(); - } - $c_obj(make_doclist(dt,dn),'set_pos_fields','',callback); - } - } -} - - -cur_frm.cscript.warehouse = function(doc, cdt , cdn) { - var d = locals[cdt][cdn]; - if (!d.item_code) {alert("please enter item code first"); return}; - if (d.warehouse) { - arg = "{'item_code':'" + d.item_code + "','warehouse':'" + d.warehouse +"'}"; - get_server_fields('get_actual_qty',arg,'entries',doc,cdt,cdn,1); - } -} - - - -//Customer -cur_frm.cscript.customer = function(doc,dt,dn) { - - var callback = function(r,rt) { - var doc = locals[cur_frm.doctype][cur_frm.docname]; - get_server_fields('get_debit_to','','',doc, dt, dn, 0); - cur_frm.refresh(); - } - - if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); - if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); -} - -cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) { - if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1); -} - -cur_frm.fields_dict.customer_address.on_new = function(dn) { - locals['Address'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer; - locals['Address'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; -} - -cur_frm.fields_dict.contact_person.on_new = function(dn) { - locals['Contact'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer; - locals['Contact'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; -} - -cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) { - return 'SELECT name,address_line1,city FROM tabAddress WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50'; -} - -cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) { - return 'SELECT name,CONCAT(first_name," ",ifnull(last_name,"")) As FullName,department,designation FROM tabContact WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50'; -} - - -// Set Due Date = posting date + credit days -cur_frm.cscript.debit_to = function(doc,dt,dn) { - - var callback2 = function(r,rt) { - var doc = locals[cur_frm.doctype][cur_frm.docname]; - cur_frm.refresh(); - } - - var callback = function(r,rt) { - var doc = locals[cur_frm.doctype][cur_frm.docname]; - if(doc.customer) $c_obj(make_doclist(dt,dn), 'get_default_customer_address', '', callback2); - if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); - cur_frm.refresh(); - } - - if(doc.debit_to && doc.posting_date){ - get_server_fields('get_cust_and_due_date','','',doc,dt,dn,1,callback); - } -} - - - -//refresh advance amount -//------------------------------------------------- - -cur_frm.cscript.paid_amount = function(doc,dt,dn){ - doc.outstanding_amount = flt(doc.grand_total) - flt(doc.paid_amount) - flt(doc.write_off_amount); - refresh_field('outstanding_amount'); -} - - -//---- get customer details ---------------------------- -cur_frm.cscript.project_name = function(doc,cdt,cdn){ - $c_obj(make_doclist(doc.doctype, doc.name),'pull_project_customer','', function(r,rt){ - refresh_many(['customer', 'customer_name','customer_address', 'territory']); - }); -} - -//Set debit and credit to zero on adding new row -//---------------------------------------------- -cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){ - - cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); - acc = ''; - cc = ''; - - for(var i = 0; i 0 AND `tabBin`.`warehouse` like '%s' ORDER BY `tabBin`.`warehouse` DESC LIMIT 50"; -} - -// Cost Center in Details Table -// ----------------------------- -cur_frm.fields_dict.entries.grid.get_field("cost_center").get_query = function(doc) { - return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.`company_name` = "' +doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50'; -} - -// Sales Order -// ----------- -cur_frm.fields_dict.sales_order_main.get_query = function(doc) { - if (doc.customer) - return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.`customer` = "' + doc.customer + '" and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50'; - else - return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50'; -} - -// Delivery Note -// -------------- -cur_frm.fields_dict.delivery_note_main.get_query = function(doc) { - if (doc.customer) - return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.`customer` = "' + doc.customer + '" and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50'; - else - return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50'; -} - - - -cur_frm.cscript.income_account = function(doc, cdt, cdn){ - var d = locals[cdt][cdn]; - if(d.income_account){ - var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); - for(var i = 0; i < cl.length; i++){ - if(!cl[i].income_account) cl[i].income_account = d.income_account; - } - } - refresh_field(cur_frm.cscript.fname); -} - - -cur_frm.cscript.cost_center = function(doc, cdt, cdn){ - var d = locals[cdt][cdn]; - if(d.cost_center){ - var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); - for(var i = 0; i < cl.length; i++){ - if(!cl[i].cost_center) cl[i].cost_center = d.cost_center; - } - } - refresh_field(cur_frm.cscript.fname); -} - -/* **************************************** Utility Functions *************************************** */ - -// Details Calculation -// -------------------- -cur_frm.cscript.calc_adjustment_amount = function(doc,cdt,cdn) { - var doc = locals[doc.doctype][doc.name]; - var el = getchildren('Advance Adjustment Detail',doc.name,'advance_adjustment_details'); - var total_adjustment_amt = 0 - for(var i in el) { - total_adjustment_amt += flt(el[i].allocated_amount) - } - doc.total_advance = flt(total_adjustment_amt); - doc.outstanding_amount = flt(doc.grand_total) - flt(total_adjustment_amt) - flt(doc.paid_amount) - flt(doc.write_off_amount); - refresh_many(['total_advance','outstanding_amount']); -} - - -// Make Journal Voucher -// -------------------- -cur_frm.cscript.make_jv = function(doc, dt, dn) { - var jv = LocalDB.create('Journal Voucher'); - jv = locals['Journal Voucher'][jv]; - jv.voucher_type = 'Bank Voucher'; - - jv.company = doc.company; - jv.remark = repl('Payment received against invoice %(vn)s for %(rem)s', {vn:doc.name, rem:doc.remarks}); - jv.fiscal_year = doc.fiscal_year; - - // debit to creditor - var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); - d1.account = doc.debit_to; - d1.credit = doc.outstanding_amount; - d1.against_invoice = doc.name; - - - // credit to bank - var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); - d1.debit = doc.outstanding_amount; - - loaddoc('Journal Voucher', jv.name); -} - - -/****************** Get Accounting Entry *****************/ -cur_frm.cscript['View Ledger Entry'] = function(){ - var callback = function(report){ - report.set_filter('GL Entry', 'Voucher No',cur_frm.doc.name); - report.dt.run(); - } - loadreport('GL Entry','General Ledger', callback); -} diff --git a/buying/doctype/qa_inspection_report/qa_inspection_report.js b/buying/doctype/qa_inspection_report/qa_inspection_report.js deleted file mode 100644 index 67281ee303f..00000000000 --- a/buying/doctype/qa_inspection_report/qa_inspection_report.js +++ /dev/null @@ -1,26 +0,0 @@ -cur_frm.cscript.item_code = function(doc, cdt, cdn) { - if (doc.item_code) - get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1); -} - -cur_frm.cscript.inspection_type = function(doc, cdt, cdn) { - if(doc.inspection_type == 'Incoming'){ - doc.delivery_note_no = ''; - hide_field('delivery_note_no'); - unhide_field('purchase_receipt_no'); - } - else if(doc.inspection_type == 'Outgoing'){ - doc.purchase_receipt_no = ''; - unhide_field('delivery_note_no'); - hide_field('purchase_receipt_no'); - - } - else { - doc.purchase_receipt_no = ''; - doc.delivery_note_no = ''; - hide_field('purchase_receipt_no'); - hide_field('delivery_note_no'); - } -} - -cur_frm.cscript.refresh = cur_frm.cscript.inspection_type; \ No newline at end of file diff --git a/cgi-bin/README.md b/cgi-bin/README.md new file mode 100644 index 00000000000..0ea07794685 --- /dev/null +++ b/cgi-bin/README.md @@ -0,0 +1 @@ +## Deprecated \ No newline at end of file diff --git a/cgi-bin/getfile.cgi b/cgi-bin/getfile.cgi new file mode 100755 index 00000000000..6b113057dcc --- /dev/null +++ b/cgi-bin/getfile.cgi @@ -0,0 +1,83 @@ +#!/usr/bin/python + +try: + + import sys, os + + sys.path.append('../lib/py') + sys.path.append('../erpnext') + + def getTraceback(): + import sys, traceback, string + type, value, tb = sys.exc_info() + body = "Traceback (innermost last):\n" + list = traceback.format_tb(tb, None) \ + + traceback.format_exception_only(type, value) + body = body + "%-20s %s" % (string.join(list[:-1], ""), list[-1]) + return body + + import cgi + import webnotes + import webnotes.auth + import webnotes.utils + import webnotes.utils.file_manager + import webnotes.db + import webnotes.defs + + sys.path.append(webnotes.defs.modules_path) + + form = cgi.FieldStorage() + webnotes.form_dict = {} + + for each in form.keys(): + webnotes.form_dict[each] = form.getvalue(each) + + n = form.getvalue('name') + + # authenticate + webnotes.auth.HTTPRequest() + + # get file + res = webnotes.utils.file_manager.get_file(n) + + fname = res[0] + if hasattr(res[1], 'tostring'): + fcontent = res[1].tostring() + else: + fcontent = res[1] + + if form.getvalue('thumbnail'): + tn = webnotes.utils.cint(form.getvalue('thumbnail')) + try: + from PIL import Image + import cStringIO + + fobj = cStringIO.StringIO(fcontent) + image = Image.open(fobj) + image.thumbnail((tn,tn*2), Image.ANTIALIAS) + outfile = cStringIO.StringIO() + + if image.mode != "RGB": + image = image.convert("RGB") + + image.save(outfile, 'JPEG') + outfile.seek(0) + fcontent = outfile.read() + except: + pass + + import mimetypes + print "Content-Type: %s" % (mimetypes.guess_type(fname)[0] or 'application/unknown') + print "Content-Disposition: filename="+fname.replace(' ', '_') + print "Cache-Control: max-age=3600" + print + print fcontent + +except Exception, e: + print "Content-Type: text/html" + try: + out = {'message':'', 'exc':getTraceback().replace('\n','
')} + except: + out = {'exc': e} + print + print str(out) diff --git a/config/conf.py b/config/conf.py new file mode 100644 index 00000000000..1cf35e21cb8 --- /dev/null +++ b/config/conf.py @@ -0,0 +1,7 @@ +index_path = '/' + +include_paths = [ + 'erpnext', + 'lib/py', + 'lib/py/legacy' +] \ No newline at end of file diff --git a/data/master.sql.gz b/data/master.sql.gz new file mode 100644 index 00000000000..f3eaf3488a8 Binary files /dev/null and b/data/master.sql.gz differ diff --git a/accounts/__init__.py b/erpnext/.no_timestamps similarity index 100% rename from accounts/__init__.py rename to erpnext/.no_timestamps diff --git a/accounts/DocType Label/Payable Voucher/Payable Voucher.txt b/erpnext/accounts/DocType Label/Payable Voucher/Payable Voucher.txt similarity index 100% rename from accounts/DocType Label/Payable Voucher/Payable Voucher.txt rename to erpnext/accounts/DocType Label/Payable Voucher/Payable Voucher.txt diff --git a/accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt b/erpnext/accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt similarity index 100% rename from accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt rename to erpnext/accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt diff --git a/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt similarity index 92% rename from accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt rename to erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt index 40cdad38f22..9ed756f0235 100644 --- a/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-13 17:35:54', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -143,6 +143,17 @@ 'validation_logic': 'docstatus=1' }, + # Table Mapper Detail + { + 'doctype': 'Table Mapper Detail', + 'from_field': 'delivery_note_details', + 'from_table': 'Delivery Note Detail', + 'match_id': 1, + 'to_field': 'entries', + 'to_table': 'RV Detail', + 'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt similarity index 94% rename from accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt rename to erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt index 0854802f0d8..e88f45250fd 100644 --- a/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:24:38', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt b/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt similarity index 91% rename from accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt rename to erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt index 61ee9b6d649..19491102743 100644 --- a/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-13 17:37:09', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -116,6 +116,17 @@ 'validation_logic': 'docstatus =1' }, + # Table Mapper Detail + { + 'doctype': 'Table Mapper Detail', + 'from_field': 'po_details', + 'from_table': 'PO Detail', + 'match_id': 1, + 'to_field': 'entries', + 'to_table': 'PV Detail', + 'validation_logic': 'ifnull(billed_qty,0) < qty' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt b/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt similarity index 98% rename from accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt rename to erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt index b2baa57c62b..94408e7a2b3 100644 --- a/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-13 17:27:32', + 'modified': '2011-09-15 15:04:44', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt similarity index 93% rename from accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt rename to erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt index ebbdbcd0b57..630fb1502ab 100644 --- a/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt +++ b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2011-09-13 17:36:31', + 'modified': '2011-09-15 15:04:45', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -145,6 +145,17 @@ 'validation_logic': 'docstatus=1' }, + # Table Mapper Detail + { + 'doctype': 'Table Mapper Detail', + 'from_field': 'sales_order_detail', + 'from_table': 'Sales Order Detail', + 'match_id': 1, + 'to_field': 'entries', + 'to_table': 'RV Detail', + 'validation_logic': 'docstatus = 1' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/accounts/GL Mapper/Journal Voucher/Journal Voucher.txt b/erpnext/accounts/GL Mapper/Journal Voucher/Journal Voucher.txt similarity index 100% rename from accounts/GL Mapper/Journal Voucher/Journal Voucher.txt rename to erpnext/accounts/GL Mapper/Journal Voucher/Journal Voucher.txt diff --git a/accounts/GL Mapper/POS with write off/POS with write off.txt b/erpnext/accounts/GL Mapper/POS with write off/POS with write off.txt similarity index 100% rename from accounts/GL Mapper/POS with write off/POS with write off.txt rename to erpnext/accounts/GL Mapper/POS with write off/POS with write off.txt diff --git a/accounts/GL Mapper/POS/POS.txt b/erpnext/accounts/GL Mapper/POS/POS.txt similarity index 100% rename from accounts/GL Mapper/POS/POS.txt rename to erpnext/accounts/GL Mapper/POS/POS.txt diff --git a/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt b/erpnext/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt similarity index 100% rename from accounts/GL Mapper/Payable Voucher/Payable Voucher.txt rename to erpnext/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt diff --git a/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt b/erpnext/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt similarity index 100% rename from accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt rename to erpnext/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt diff --git a/accounts/Module Def/Accounts/Accounts.txt b/erpnext/accounts/Module Def/Accounts/Accounts.txt similarity index 96% rename from accounts/Module Def/Accounts/Accounts.txt rename to erpnext/accounts/Module Def/Accounts/Accounts.txt index 50a7ac9697f..0a6921a13c2 100644 --- a/accounts/Module Def/Accounts/Accounts.txt +++ b/erpnext/accounts/Module Def/Accounts/Accounts.txt @@ -5,7 +5,7 @@ { 'creation': '2010-09-25 10:50:37', 'docstatus': 0, - 'modified': '2011-09-12 13:22:15', + 'modified': '2011-09-27 12:44:04', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -128,6 +128,15 @@ 'doctype': 'Module Def Item' }, + # Module Def Item + { + 'description': 'Link your invoices and payment vouchers to clear/update outstanding amount', + 'display_name': 'Internal Reconciliation', + 'doc_name': 'Internal Reconciliation', + 'doc_type': 'Single DocType', + 'doctype': 'Module Def Item' + }, + # Module Def Item { 'display_name': 'TDS Payment', diff --git a/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt b/erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt similarity index 100% rename from accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt rename to erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt diff --git a/accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt b/erpnext/accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt similarity index 100% rename from accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt rename to erpnext/accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt diff --git a/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt b/erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt similarity index 100% rename from accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt rename to erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt diff --git a/accounts/Role/Accounts Manager/Accounts Manager.txt b/erpnext/accounts/Role/Accounts Manager/Accounts Manager.txt similarity index 100% rename from accounts/Role/Accounts Manager/Accounts Manager.txt rename to erpnext/accounts/Role/Accounts Manager/Accounts Manager.txt diff --git a/accounts/Role/Accounts User/Accounts User.txt b/erpnext/accounts/Role/Accounts User/Accounts User.txt similarity index 100% rename from accounts/Role/Accounts User/Accounts User.txt rename to erpnext/accounts/Role/Accounts User/Accounts User.txt diff --git a/accounts/TDS Rate Chart/Rate chart (01-07-2010)/Rate chart (01-07-2010).txt b/erpnext/accounts/TDS Rate Chart/Rate chart (01-07-2010)/Rate chart (01-07-2010).txt similarity index 100% rename from accounts/TDS Rate Chart/Rate chart (01-07-2010)/Rate chart (01-07-2010).txt rename to erpnext/accounts/TDS Rate Chart/Rate chart (01-07-2010)/Rate chart (01-07-2010).txt diff --git a/accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt b/erpnext/accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt similarity index 100% rename from accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt rename to erpnext/accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt diff --git a/accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt b/erpnext/accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt similarity index 100% rename from accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt rename to erpnext/accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt diff --git a/accounts/doctype/__init__.py b/erpnext/accounts/__init__.py similarity index 100% rename from accounts/doctype/__init__.py rename to erpnext/accounts/__init__.py diff --git a/accounts/doctype/account/__init__.py b/erpnext/accounts/doctype/__init__.py similarity index 100% rename from accounts/doctype/account/__init__.py rename to erpnext/accounts/doctype/__init__.py diff --git a/accounts/doctype/account_balance/__init__.py b/erpnext/accounts/doctype/account/__init__.py similarity index 100% rename from accounts/doctype/account_balance/__init__.py rename to erpnext/accounts/doctype/account/__init__.py diff --git a/accounts/doctype/account/account.js b/erpnext/accounts/doctype/account/account.js similarity index 100% rename from accounts/doctype/account/account.js rename to erpnext/accounts/doctype/account/account.js diff --git a/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py similarity index 100% rename from accounts/doctype/account/account.py rename to erpnext/accounts/doctype/account/account.py diff --git a/accounts/doctype/account/account.txt b/erpnext/accounts/doctype/account/account.txt similarity index 100% rename from accounts/doctype/account/account.txt rename to erpnext/accounts/doctype/account/account.txt diff --git a/accounts/doctype/advance_adjustment_detail/__init__.py b/erpnext/accounts/doctype/account_balance/__init__.py similarity index 100% rename from accounts/doctype/advance_adjustment_detail/__init__.py rename to erpnext/accounts/doctype/account_balance/__init__.py diff --git a/accounts/doctype/account_balance/account_balance.txt b/erpnext/accounts/doctype/account_balance/account_balance.txt similarity index 100% rename from accounts/doctype/account_balance/account_balance.txt rename to erpnext/accounts/doctype/account_balance/account_balance.txt diff --git a/accounts/doctype/advance_allocation_detail/__init__.py b/erpnext/accounts/doctype/advance_adjustment_detail/__init__.py similarity index 100% rename from accounts/doctype/advance_allocation_detail/__init__.py rename to erpnext/accounts/doctype/advance_adjustment_detail/__init__.py diff --git a/accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt b/erpnext/accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt similarity index 100% rename from accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt rename to erpnext/accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt diff --git a/accounts/doctype/bank_reconciliation/__init__.py b/erpnext/accounts/doctype/advance_allocation_detail/__init__.py similarity index 100% rename from accounts/doctype/bank_reconciliation/__init__.py rename to erpnext/accounts/doctype/advance_allocation_detail/__init__.py diff --git a/accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt b/erpnext/accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt similarity index 100% rename from accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt rename to erpnext/accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt diff --git a/accounts/doctype/bank_reconciliation_detail/__init__.py b/erpnext/accounts/doctype/bank_reconciliation/__init__.py similarity index 100% rename from accounts/doctype/bank_reconciliation_detail/__init__.py rename to erpnext/accounts/doctype/bank_reconciliation/__init__.py diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.js b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js similarity index 100% rename from accounts/doctype/bank_reconciliation/bank_reconciliation.js rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py similarity index 100% rename from accounts/doctype/bank_reconciliation/bank_reconciliation.py rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.txt b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.txt similarity index 100% rename from accounts/doctype/bank_reconciliation/bank_reconciliation.txt rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.txt diff --git a/accounts/doctype/budget_control/__init__.py b/erpnext/accounts/doctype/bank_reconciliation_detail/__init__.py similarity index 100% rename from accounts/doctype/budget_control/__init__.py rename to erpnext/accounts/doctype/bank_reconciliation_detail/__init__.py diff --git a/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt similarity index 100% rename from accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt rename to erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt diff --git a/accounts/doctype/budget_detail/__init__.py b/erpnext/accounts/doctype/budget_control/__init__.py similarity index 100% rename from accounts/doctype/budget_detail/__init__.py rename to erpnext/accounts/doctype/budget_control/__init__.py diff --git a/accounts/doctype/budget_control/budget_control.py b/erpnext/accounts/doctype/budget_control/budget_control.py similarity index 100% rename from accounts/doctype/budget_control/budget_control.py rename to erpnext/accounts/doctype/budget_control/budget_control.py diff --git a/accounts/doctype/budget_control/budget_control.txt b/erpnext/accounts/doctype/budget_control/budget_control.txt similarity index 100% rename from accounts/doctype/budget_control/budget_control.txt rename to erpnext/accounts/doctype/budget_control/budget_control.txt diff --git a/accounts/doctype/budget_distribution/__init__.py b/erpnext/accounts/doctype/budget_detail/__init__.py similarity index 100% rename from accounts/doctype/budget_distribution/__init__.py rename to erpnext/accounts/doctype/budget_detail/__init__.py diff --git a/accounts/doctype/budget_detail/budget_detail.txt b/erpnext/accounts/doctype/budget_detail/budget_detail.txt similarity index 100% rename from accounts/doctype/budget_detail/budget_detail.txt rename to erpnext/accounts/doctype/budget_detail/budget_detail.txt diff --git a/accounts/doctype/budget_distribution_detail/__init__.py b/erpnext/accounts/doctype/budget_distribution/__init__.py similarity index 100% rename from accounts/doctype/budget_distribution_detail/__init__.py rename to erpnext/accounts/doctype/budget_distribution/__init__.py diff --git a/accounts/doctype/budget_distribution/budget_distribution.js b/erpnext/accounts/doctype/budget_distribution/budget_distribution.js similarity index 100% rename from accounts/doctype/budget_distribution/budget_distribution.js rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.js diff --git a/accounts/doctype/budget_distribution/budget_distribution.py b/erpnext/accounts/doctype/budget_distribution/budget_distribution.py similarity index 100% rename from accounts/doctype/budget_distribution/budget_distribution.py rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.py diff --git a/accounts/doctype/budget_distribution/budget_distribution.txt b/erpnext/accounts/doctype/budget_distribution/budget_distribution.txt similarity index 100% rename from accounts/doctype/budget_distribution/budget_distribution.txt rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.txt diff --git a/accounts/doctype/cost_center/__init__.py b/erpnext/accounts/doctype/budget_distribution_detail/__init__.py similarity index 100% rename from accounts/doctype/cost_center/__init__.py rename to erpnext/accounts/doctype/budget_distribution_detail/__init__.py diff --git a/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt b/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt similarity index 100% rename from accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt rename to erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt diff --git a/accounts/doctype/fiscal_year/__init__.py b/erpnext/accounts/doctype/cost_center/__init__.py similarity index 100% rename from accounts/doctype/fiscal_year/__init__.py rename to erpnext/accounts/doctype/cost_center/__init__.py diff --git a/erpnext/accounts/doctype/cost_center/cost_center.js b/erpnext/accounts/doctype/cost_center/cost_center.js new file mode 100644 index 00000000000..58f39e0ebf3 --- /dev/null +++ b/erpnext/accounts/doctype/cost_center/cost_center.js @@ -0,0 +1,72 @@ + + +//Account filtering for cost center +cur_frm.fields_dict['budget_details'].grid.get_field('account').get_query = function(doc) { + var mydoc = locals[this.doctype][this.docname]; + return 'SELECT DISTINCT `tabAccount`.`name`,`tabAccount`.debit_or_credit,`tabAccount`.group_or_ledger FROM `tabAccount` WHERE `tabAccount`.`company` = "' + doc.company_name + '" AND `tabAccount`.docstatus != 2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.debit_or_credit = "Debit" AND `tabAccount`.`group_or_ledger` != "Group" AND `tabAccount`.`group_or_ledger` is not NULL AND `tabAccount`.`name` LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'; + } + +cur_frm.fields_dict['parent_cost_center'].get_query = function(doc){ + return 'SELECT DISTINCT `tabCost Center`.name FROM `tabCost Center` WHERE `tabCost Center`.group_or_ledger="Group" AND `tabCost Center`.docstatus != 2 AND `tabCost Center`.company_name="'+ doc.company_name+'" AND `tabCost Center`.company_name is not NULL AND `tabCost Center`.name LIKE "%s" ORDER BY `tabCost Center`.name LIMIT 50'; +} + +//parent cost center +cur_frm.cscript.parent_cost_center = function(doc,cdt,cdn){ + if(!doc.company_name){ + alert('Please enter company name first'); + } +} + +//company abbr +cur_frm.cscript.company_name = function(doc,cdt,cdn){ + get_server_fields('get_abbr','','',doc,cdt,cdn,1); +} + +//onload if cost center is group +cur_frm.cscript.onload = function(doc, cdt, cdn) { + + if(!doc.__islocal && doc.docstatus == 0){ + get_field(doc.doctype,'group_or_ledger',doc.name).permlevel = 1; + refresh_field('group_or_ledger'); + get_field(doc.doctype,'company_name',doc.name).permlevel = 1; + refresh_field('company_name'); + } + +} + +cur_frm.cscript.refresh = function(doc, cdt, cdn) { + cur_frm.cscript.hide_unhide_group_ledger(doc); +} + + +// Hide/unhide group or ledger +// ----------------------------------------- +cur_frm.cscript.hide_unhide_group_ledger = function(doc) { + hide_field(['Convert to Group', 'Convert to Ledger']); + if (cstr(doc.group_or_ledger) == 'Group') unhide_field('Convert to Ledger'); + else if (cstr(doc.group_or_ledger) == 'Ledger') unhide_field('Convert to Group'); +} + +// Convert group to ledger +// ----------------------------------------- +cur_frm.cscript['Convert to Ledger'] = function(doc, cdt, cdn) { + $c_obj(make_doclist(cdt,cdn),'convert_group_to_ledger','',function(r,rt) { + if(r.message == 1) { + doc.group_or_ledger = 'Ledger'; + refresh_field('group_or_ledger'); + cur_frm.cscript.hide_unhide_group_ledger(doc); + } + }); +} + +// Convert ledger to group +// ----------------------------------------- +cur_frm.cscript['Convert to Group'] = function(doc, cdt, cdn) { + $c_obj(make_doclist(cdt,cdn),'convert_ledger_to_group','',function(r,rt) { + if(r.message == 1) { + doc.group_or_ledger = 'Group'; + refresh_field('group_or_ledger'); + cur_frm.cscript.hide_unhide_group_ledger(doc); + } + }); +} diff --git a/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py similarity index 72% rename from accounts/doctype/cost_center/cost_center.py rename to erpnext/accounts/doctype/cost_center/cost_center.py index 66d22f017d1..b97274f6baf 100644 --- a/accounts/doctype/cost_center/cost_center.py +++ b/erpnext/accounts/doctype/cost_center/cost_center.py @@ -32,9 +32,38 @@ class DocType: 'company_abbr' : abbr } return ret + + #------------------------------------------------------------------------- + def convert_group_to_ledger(self): + if self.check_if_child_exists(): + msgprint("Cost Center: %s has existing child. You can not convert this cost center to ledger" % (self.doc.name), raise_exception=1) + elif self.check_gle_exists(): + msgprint("Cost Center with existing transaction can not be converted to ledger.", raise_exception=1) + else: + self.doc.group_or_ledger = 'Ledger' + self.doc.save() + return 1 + + #------------------------------------------------------------------------- + def convert_ledger_to_group(self): + if self.check_gle_exists(): + msgprint("Cost Center with existing transaction can not be converted to group.", raise_exception=1) + else: + self.doc.group_or_ledger = 'Group' + self.doc.save() + return 1 #------------------------------------------------------------------------- - def validate(self): + def check_gle_exists(self): + return sql("select name from `tabGL Entry` where cost_center = %s and ifnull(is_cancelled, 'No') = 'No'", (self.doc.name)) + + + #------------------------------------------------------------------------- + def check_if_child_exists(self): + return sql("select name from `tabCost Center` where parent_cost_center = %s and docstatus != 2", self.doc.name) + + #------------------------------------------------------------------------- + def validate(self): """ Cost Center name must be unique """ @@ -60,9 +89,6 @@ class DocType: def on_update(self): self.update_nsm_model() - def check_if_child_exists(self): - return sql("select name from `tabCost Center` where parent_cost_center = %s and docstatus != 2", self.doc.name) - # On Trash #------------------------------------------------------------------------- def on_trash(self): diff --git a/accounts/doctype/cost_center/cost_center.txt b/erpnext/accounts/doctype/cost_center/cost_center.txt similarity index 89% rename from accounts/doctype/cost_center/cost_center.txt rename to erpnext/accounts/doctype/cost_center/cost_center.txt index fab2dd5f4d1..94fb02bf447 100644 --- a/accounts/doctype/cost_center/cost_center.txt +++ b/erpnext/accounts/doctype/cost_center/cost_center.txt @@ -5,18 +5,19 @@ { 'creation': '2010-08-08 17:08:56', 'docstatus': 0, - 'modified': '2010-12-29 18:18:55', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-10-10 12:05:07', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1308741898', + '_last_update': '1317365120', 'allow_copy': 1, 'allow_trash': 1, 'autoname': 'field:cost_center_name', 'colour': 'White:FFF', + 'default_print_format': 'Standard', 'doctype': 'DocType', 'document_type': 'Master', 'in_create': 1, @@ -26,7 +27,7 @@ 'section_style': 'Simple', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 104 + 'version': 109 }, # These values are common for all DocField @@ -60,7 +61,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 1, 'role': 'Accounts Manager', 'submit': 0, @@ -73,7 +73,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 0, 'role': 'Accounts Manager', 'submit': 0, @@ -86,7 +85,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 3, 'permlevel': 1, 'role': 'Accounts User', 'submit': 0, @@ -99,7 +97,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 4, 'permlevel': 0, 'role': 'Accounts User', 'submit': 0, @@ -111,7 +108,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 5, 'permlevel': 0, 'role': 'System Manager', 'write': 1 @@ -120,7 +116,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 6, 'permlevel': 1, 'role': 'All' }, @@ -130,7 +125,6 @@ 'doctype': 'DocField', 'fieldname': 'trash_reason', 'fieldtype': 'Small Text', - 'idx': 1, 'label': 'Trash Reason', 'oldfieldname': 'trash_reason', 'oldfieldtype': 'Small Text', @@ -142,7 +136,6 @@ 'doctype': 'DocField', 'fieldname': 'cost_center_name', 'fieldtype': 'Data', - 'idx': 2, 'in_filter': 0, 'label': 'Cost Center Name', 'no_copy': 1, @@ -159,7 +152,6 @@ 'doctype': 'DocField', 'fieldname': 'parent_cost_center', 'fieldtype': 'Link', - 'idx': 3, 'label': 'Parent Cost Center', 'oldfieldname': 'parent_cost_center', 'oldfieldtype': 'Link', @@ -175,14 +167,12 @@ 'doctype': 'DocField', 'fieldname': 'company_name', 'fieldtype': 'Link', - 'idx': 4, 'label': 'Company', 'oldfieldname': 'company_name', 'oldfieldtype': 'Link', 'options': 'Company', 'permlevel': 0, 'reqd': 1, - 'search_index': 0, 'trigger': 'Client' }, @@ -191,7 +181,6 @@ 'doctype': 'DocField', 'fieldname': 'company_abbr', 'fieldtype': 'Data', - 'idx': 5, 'label': 'Company Abbr', 'oldfieldname': 'company_abbr', 'oldfieldtype': 'Data', @@ -204,8 +193,7 @@ 'doctype': 'DocField', 'fieldname': 'group_or_ledger', 'fieldtype': 'Select', - 'hidden': 1, - 'idx': 6, + 'hidden': 0, 'label': 'Group or Ledger', 'no_copy': 1, 'oldfieldname': 'group_or_ledger', @@ -218,18 +206,36 @@ 'trigger': 'Client' }, + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Button', + 'label': 'Convert to Group', + 'permlevel': 0, + 'trigger': 'Client' + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Button', + 'label': 'Convert to Ledger', + 'permlevel': 0, + 'trigger': 'Client' + }, + # DocField { 'doctype': 'DocField', 'fieldname': 'distribution_id', 'fieldtype': 'Link', - 'idx': 7, 'label': 'Distribution Id', 'oldfieldname': 'distribution_id', 'oldfieldtype': 'Link', 'options': 'Budget Distribution', - 'permlevel': 0, - 'search_index': 0 + 'permlevel': 0 }, # DocField @@ -237,7 +243,6 @@ 'doctype': 'DocField', 'fieldname': 'budget_details', 'fieldtype': 'Table', - 'idx': 8, 'label': 'Budget Details', 'oldfieldname': 'budget_details', 'oldfieldtype': 'Table', @@ -251,7 +256,6 @@ 'fieldname': 'lft', 'fieldtype': 'Int', 'hidden': 1, - 'idx': 9, 'in_filter': 1, 'label': 'lft', 'no_copy': 1, @@ -269,7 +273,6 @@ 'fieldname': 'rgt', 'fieldtype': 'Int', 'hidden': 1, - 'idx': 10, 'in_filter': 1, 'label': 'rgt', 'no_copy': 1, @@ -286,13 +289,13 @@ { 'doctype': 'DocField', 'fieldname': 'old_parent', - 'fieldtype': 'Data', + 'fieldtype': 'Link', 'hidden': 1, - 'idx': 11, 'label': 'old_parent', 'no_copy': 1, 'oldfieldname': 'old_parent', 'oldfieldtype': 'Data', + 'options': 'Cost Center', 'permlevel': 0, 'print_hide': 1, 'report_hide': 1 diff --git a/accounts/doctype/form_16a/__init__.py b/erpnext/accounts/doctype/fiscal_year/__init__.py similarity index 100% rename from accounts/doctype/form_16a/__init__.py rename to erpnext/accounts/doctype/fiscal_year/__init__.py diff --git a/accounts/doctype/fiscal_year/fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py similarity index 100% rename from accounts/doctype/fiscal_year/fiscal_year.py rename to erpnext/accounts/doctype/fiscal_year/fiscal_year.py diff --git a/accounts/doctype/fiscal_year/fiscal_year.txt b/erpnext/accounts/doctype/fiscal_year/fiscal_year.txt similarity index 100% rename from accounts/doctype/fiscal_year/fiscal_year.txt rename to erpnext/accounts/doctype/fiscal_year/fiscal_year.txt diff --git a/accounts/doctype/form_16a_ack_detail/__init__.py b/erpnext/accounts/doctype/form_16a/__init__.py similarity index 100% rename from accounts/doctype/form_16a_ack_detail/__init__.py rename to erpnext/accounts/doctype/form_16a/__init__.py diff --git a/accounts/doctype/form_16a/form_16a.js b/erpnext/accounts/doctype/form_16a/form_16a.js similarity index 100% rename from accounts/doctype/form_16a/form_16a.js rename to erpnext/accounts/doctype/form_16a/form_16a.js diff --git a/accounts/doctype/form_16a/form_16a.py b/erpnext/accounts/doctype/form_16a/form_16a.py similarity index 100% rename from accounts/doctype/form_16a/form_16a.py rename to erpnext/accounts/doctype/form_16a/form_16a.py diff --git a/accounts/doctype/form_16a/form_16a.txt b/erpnext/accounts/doctype/form_16a/form_16a.txt similarity index 100% rename from accounts/doctype/form_16a/form_16a.txt rename to erpnext/accounts/doctype/form_16a/form_16a.txt diff --git a/accounts/doctype/form_16a_tax_detail/__init__.py b/erpnext/accounts/doctype/form_16a_ack_detail/__init__.py similarity index 100% rename from accounts/doctype/form_16a_tax_detail/__init__.py rename to erpnext/accounts/doctype/form_16a_ack_detail/__init__.py diff --git a/accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt b/erpnext/accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt similarity index 100% rename from accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt rename to erpnext/accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt diff --git a/accounts/doctype/gl_control/__init__.py b/erpnext/accounts/doctype/form_16a_tax_detail/__init__.py similarity index 100% rename from accounts/doctype/gl_control/__init__.py rename to erpnext/accounts/doctype/form_16a_tax_detail/__init__.py diff --git a/accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt b/erpnext/accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt similarity index 100% rename from accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt rename to erpnext/accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt diff --git a/accounts/doctype/gl_entry/__init__.py b/erpnext/accounts/doctype/gl_control/__init__.py similarity index 100% rename from accounts/doctype/gl_entry/__init__.py rename to erpnext/accounts/doctype/gl_control/__init__.py diff --git a/accounts/doctype/gl_control/gl_control.py b/erpnext/accounts/doctype/gl_control/gl_control.py similarity index 85% rename from accounts/doctype/gl_control/gl_control.py rename to erpnext/accounts/doctype/gl_control/gl_control.py index a346b65a57f..44a9e8d8c9e 100644 --- a/accounts/doctype/gl_control/gl_control.py +++ b/erpnext/accounts/doctype/gl_control/gl_control.py @@ -191,6 +191,7 @@ class DocType: else: self.entries.append(le) + # Save GL Entries # ---------------- def save_entries(self, cancel, adv_adj, update_outstanding): @@ -200,7 +201,6 @@ class DocType: tmp=le.debit le.debit, le.credit = abs(flt(le.credit)), abs(flt(tmp)) - le_obj = get_obj(doc=le) # validate except on_cancel if not cancel: @@ -213,10 +213,12 @@ class DocType: # update total debit / credit self.td += flt(le.debit) self.tc += flt(le.credit) - + + # Make Multiple Entries # --------------------- def make_gl_entries(self, doc, doclist, cancel=0, adv_adj = 0, use_mapper='', merge_entries = 1, update_outstanding='Yes'): + self.entries = [] # get entries le_map_list = sql("select * from `tabGL Mapper Detail` where parent = %s", use_mapper or doc.doctype, as_dict=1) self.td, self.tc = 0.0, 0.0 @@ -329,6 +331,7 @@ class DocType: else: msgprint("Allocation amount cannot be greater than advance amount") raise Exception + # Add extra row in jv detail for unadjusted amount #-------------------------------------------------- @@ -351,7 +354,7 @@ class DocType: add.against_account = cstr(jvd[0][3]) add.is_advance = 'Yes' add.save(1) - + # check if advance entries are still valid # ---------------------------------------- def validate_jv_entry(self, d, account_head, dr_or_cr): @@ -359,15 +362,92 @@ class DocType: # 2. check if amount is same # 3. check if is_advance is 'Yes' # 4. check if jv is submitted - ret = sql("select t2.%s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and (t2.against_voucher = '' or t2.against_voucher is null) and (t2.against_invoice = '' or t2.against_invoice is null) and t2.account = '%s' and t1.name = '%s' and t2.name = '%s' and t2.is_advance = 'Yes' and t1.docstatus=1 and t2.%s = %s" % ( dr_or_cr, account_head, d.journal_voucher, d.jv_detail_no, dr_or_cr, d.advance_amount)) + ret = sql("select t2.%s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and ifnull(t2.against_voucher, '') = '' and ifnull(t2.against_invoice, '') = '' and t2.account = '%s' and t1.name = '%s' and t2.name = '%s' and t2.is_advance = 'Yes' and t1.docstatus=1 and t2.%s = %s" % (dr_or_cr, account_head, d.journal_voucher, d.jv_detail_no, dr_or_cr, d.advance_amount)) if (not ret): msgprint("Please click on 'Get Advances Paid' button as the advance entries have been changed.") raise Exception return -############################################################################## -# Repair Outstanding Amount -############################################################################## + +###################################################################################################################### + + #------------------------------------------ + def reconcile_against_document(self, args): + """ + Cancel JV, Update aginst document, split if required and resubmit jv + """ + + for d in args: + self.check_if_jv_modified(d) + + against_fld = { + 'Journal Voucher' : 'against_jv', + 'Receivable Voucher' : 'against_invoice', + 'Payable Voucher' : 'against_voucher' + } + + d['against_fld'] = against_fld[d['against_voucher_type']] + + # cancel JV + jv_obj = get_obj('Journal Voucher', d['voucher_no'], with_children=1) + self.make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj =1) + + # update ref in JV Detail + self.update_against_doc(d, jv_obj) + + # re-submit JV + jv_obj = get_obj('Journal Voucher', d['voucher_no'], with_children =1) + self.make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj =1) + + #------------------------------------------ + def update_against_doc(self, d, jv_obj): + """ + Updates against document, if partial amount splits into rows + """ + + sql(""" + update `tabJournal Voucher Detail` t1, `tabJournal Voucher` t2 + set t1.%(dr_or_cr)s = '%(allocated_amt)s', t1.%(against_fld)s = '%(against_voucher)s', t2.modified = now() + where t1.name = '%(voucher_detail_no)s' and t1.parent = t2.name""" % d) + + if d['allocated_amt'] < d['unadjusted_amt']: + jvd = sql("select cost_center, balance, against_account, is_advance from `tabJournal Voucher Detail` where name = '%s'" % d['voucher_detail_no']) + # new entry with balance amount + ch = addchild(jv_obj.doc, 'entries', 'Journal Voucher Detail', 1) + ch.account = d['account'] + ch.cost_center = cstr(jvd[0][0]) + ch.balance = cstr(jvd[0][1]) + ch.fields[d['dr_or_cr']] = flt(d['unadjusted_amt']) - flt(d['allocated_amt']) + ch.fields[d['dr_or_cr']== 'debit' and 'credit' or 'debit'] = 0 + ch.against_account = cstr(jvd[0][2]) + ch.is_advance = cstr(jvd[0][3]) + ch.docstatus = 1 + ch.save(1) + + #------------------------------------------ + def check_if_jv_modified(self, args): + """ + check if there is already a voucher reference + check if amount is same + check if jv is submitted + """ + ret = sql(""" + select t2.%(dr_or_cr)s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 + where t1.name = t2.parent and t2.account = '%(account)s' + and ifnull(t2.against_voucher, '')='' and ifnull(t2.against_invoice, '')='' and ifnull(t2.against_jv, '')='' + and t1.name = '%(voucher_no)s' and t2.name = '%(voucher_detail_no)s' + and t1.docstatus=1 and t2.%(dr_or_cr)s = %(unadjusted_amt)s + """ % (args)) + + if not ret: + msgprint("Payment Entry has been modified after you pulled it. Please pull it again.", raise_exception=1) + +###################################################################################################################### + + + + # Repair Outstanding Amount + #--------------------------------- def repair_voucher_outstanding(self, voucher_obj): msg = [] diff --git a/accounts/doctype/gl_control/gl_control.txt b/erpnext/accounts/doctype/gl_control/gl_control.txt similarity index 100% rename from accounts/doctype/gl_control/gl_control.txt rename to erpnext/accounts/doctype/gl_control/gl_control.txt diff --git a/accounts/doctype/journal_voucher/__init__.py b/erpnext/accounts/doctype/gl_entry/__init__.py similarity index 100% rename from accounts/doctype/journal_voucher/__init__.py rename to erpnext/accounts/doctype/gl_entry/__init__.py diff --git a/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py similarity index 100% rename from accounts/doctype/gl_entry/gl_entry.py rename to erpnext/accounts/doctype/gl_entry/gl_entry.py diff --git a/accounts/doctype/gl_entry/gl_entry.txt b/erpnext/accounts/doctype/gl_entry/gl_entry.txt similarity index 100% rename from accounts/doctype/gl_entry/gl_entry.txt rename to erpnext/accounts/doctype/gl_entry/gl_entry.txt diff --git a/accounts/doctype/journal_voucher_detail/__init__.py b/erpnext/accounts/doctype/internal_reconciliation/__init__.py similarity index 100% rename from accounts/doctype/journal_voucher_detail/__init__.py rename to erpnext/accounts/doctype/internal_reconciliation/__init__.py diff --git a/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.js b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.js new file mode 100644 index 00000000000..bcd5c442775 --- /dev/null +++ b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.js @@ -0,0 +1,21 @@ +// Booking Entry Id +// -------------------- + +cur_frm.fields_dict.voucher_no.get_query = function(doc) { + + if (!doc.account) msgprint("Please select Account first"); + else { + return repl("select voucher_no, posting_date \ + from `tabGL Entry` where ifnull(is_cancelled, 'No') = 'No'\ + and account = '%(acc)s' \ + and voucher_type = '%(dt)s' \ + and voucher_no LIKE '%s' \ + ORDER BY posting_date DESC, voucher_no DESC LIMIT 50 \ + ", {dt:session.rev_dt_labels[doc.voucher_type] || doc.voucher_type, acc:doc.account}); + } +} + +cur_frm.cscript.voucher_no =function(doc, cdt, cdn) { + get_server_fields('get_voucher_details', '', '', doc, cdt, cdn, 1) +} + diff --git a/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.py b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.py new file mode 100644 index 00000000000..7c345467b68 --- /dev/null +++ b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.py @@ -0,0 +1,138 @@ +# Please edit this list and import only required elements +import webnotes + +from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add +from webnotes.model import db_exists +from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType +from webnotes.model.doclist import getlist, copy_doclist +from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax +from webnotes import session, form, is_testing, msgprint, errprint + +set = webnotes.conn.set +sql = webnotes.conn.sql +get_value = webnotes.conn.get_value +in_transaction = webnotes.conn.in_transaction +convert_to_lists = webnotes.conn.convert_to_lists + +# ----------------------------------------------------------------------------------------- + + +class DocType: + def __init__(self, doc, doclist): + self.doc = doc + self.doclist = doclist + self.acc_type = self.doc.account and sql("select debit_or_credit from `tabAccount` where name = %s", self.doc.account)[0][0].lower() or '' + self.dt = { + 'Sales Invoice': 'Receivable Voucher', + 'Purchase Invoice': 'Payable Voucher', + 'Journal Voucher': 'Journal Voucher' + } + + #-------------------------------------------------- + def get_voucher_details(self): + tot_amt = sql(""" + select sum(%s) from `tabGL Entry` where + voucher_type = %s and voucher_no = %s + and account = %s and ifnull(is_cancelled, 'No') = 'No' + """% (self.acc_type, '%s', '%s', '%s'), (self.dt[self.doc.voucher_type], self.doc.voucher_no, self.doc.account)) + + outstanding = sql(""" + select sum(%s) - sum(%s) from `tabGL Entry` where + against_voucher = %s and voucher_no != %s + and account = %s and ifnull(is_cancelled, 'No') = 'No' + """ % ((self.acc_type == 'debit' and 'credit' or 'debit'), self.acc_type, '%s', '%s', '%s'), (self.doc.voucher_no, self.doc.voucher_no, self.doc.account)) + + ret = { + 'total_amount': flt(tot_amt[0][0]) or 0, + 'pending_amt_to_reconcile': flt(tot_amt[0][0]) - flt(outstanding[0][0]) or 0 + } + + return ret + + + #-------------------------------------------------- + def get_payment_entries(self): + """ + Get payment entries for the account and period + Payment entry will be decided based on account type (Dr/Cr) + """ + + self.doc.clear_table(self.doclist, 'ir_payment_details') + gle = self.get_gl_entries() + self.create_payment_table(gle) + + #-------------------------------------------------- + def get_gl_entries(self): + self.validate_mandatory() + dc = self.acc_type == 'debit' and 'credit' or 'debit' + + cond = self.doc.from_date and " and t1.posting_date >= '" + self.doc.from_date + "'" or "" + cond += self.doc.to_date and " and t1.posting_date <= '" + self.doc.to_date + "'"or "" + + cond += self.doc.amt_greater_than and ' and t2.' + dc+' >= ' + self.doc.amt_greater_than or '' + cond += self.doc.amt_less_than and ' and t2.' + dc+' <= ' + self.doc.amt_less_than or '' + + gle = sql(""" + select t1.name as voucher_no, t1.posting_date, t1.total_debit as total_amt, sum(ifnull(t2.credit, 0)) - sum(ifnull(t2.debit, 0)) as amt_due, t1.remark, t2.against_account, t2.name as voucher_detail_no + from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 + where t1.name = t2.parent + and t1.docstatus = 1 + and t2.account = %s + and ifnull(t2.against_voucher, '')='' and ifnull(t2.against_invoice, '')='' and ifnull(t2.against_jv, '')='' + and t2.%s > 0 + %s + group by t1.name + """% ('%s', dc, cond), self.doc.account, as_dict=1) + + return gle + + #-------------------------------------------------- + def create_payment_table(self, gle): + for d in gle: + ch = addchild(self.doc, 'ir_payment_details', 'IR Payment Detail', 1, self.doclist) + ch.voucher_no = d.get('voucher_no') + ch.posting_date = d.get('posting_date') + ch.amt_due = self.acc_type == 'debit' and flt(d.get('amt_due')) or -1*flt(d.get('amt_due')) + ch.total_amt = flt(d.get('total_amt')) + ch.against_account = d.get('against_account') + ch.remarks = d.get('remark') + ch.amt_to_be_reconciled = flt(ch.amt_due) + ch.voucher_detail_no = d.get('voucher_detail_no') + + #-------------------------------------------------- + def validate_mandatory(self): + if not self.doc.account: + msgprint("Please select Account first", raise_exception=1) + + #-------------------------------------------------- + def reconcile(self): + """ + Links booking and payment voucher + 1. cancel payment voucher + 2. split into multiple rows if partially adjusted, assign against voucher + 3. submit payment voucher + """ + lst = [] + for d in getlist(self.doclist, 'ir_payment_details'): + if d.selected and flt(d.amt_to_be_reconciled) > 0: + args = { + 'voucher_no' : d.voucher_no, + 'voucher_detail_no' : d.voucher_detail_no, + 'against_voucher_type' : self.dt[self.doc.voucher_type], + 'against_voucher' : self.doc.voucher_no, + 'account' : self.doc.account, + 'is_advance' : 'No', + 'dr_or_cr' : self.acc_type=='debit' and 'credit' or 'debit', + 'unadjusted_amt' : flt(d.amt_due), + 'allocated_amt' : flt(d.amt_to_be_reconciled) + } + + lst.append(args) + + if not sql("select name from `tab%s` where name = %s" %(self.dt[self.doc.voucher_type], '%s'), self.doc.voucher_no): + msgprint("Please select valid Voucher No to proceed", raise_exception=1) + if lst: + get_obj('GL Control').reconcile_against_document(lst) + msgprint("Successfully reconciled.") + else: + msgprint("No payment entries selected.", raise_exception=1) diff --git a/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.txt b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.txt new file mode 100644 index 00000000000..cc1523a9106 --- /dev/null +++ b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.txt @@ -0,0 +1,266 @@ +# DocType, Internal Reconciliation +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-30 11:45:50', + 'docstatus': 0, + 'modified': '2011-09-26 14:21:22', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all DocType + { + '_last_update': '1316509358', + 'colour': 'White:FFF', + 'default_print_format': 'Standard', + 'doctype': 'DocType', + 'document_type': 'Other', + 'issingle': 1, + 'module': 'Accounts', + 'name': '__common__', + 'section_style': 'Simple', + 'show_in_menu': 1, + 'version': 35 + }, + + # These values are common for all DocField + { + 'doctype': 'DocField', + 'name': '__common__', + 'parent': 'Internal Reconciliation', + 'parentfield': 'fields', + 'parenttype': 'DocType' + }, + + # These values are common for all DocPerm + { + 'doctype': 'DocPerm', + 'name': '__common__', + 'parent': 'Internal Reconciliation', + 'parentfield': 'permissions', + 'parenttype': 'DocType', + 'read': 1 + }, + + # DocType, Internal Reconciliation + { + 'doctype': 'DocType', + 'name': 'Internal Reconciliation' + }, + + # DocPerm + { + 'create': 1, + 'doctype': 'DocPerm', + 'permlevel': 0, + 'role': 'System Manager', + 'write': 1 + }, + + # DocPerm + { + 'create': 1, + 'doctype': 'DocPerm', + 'permlevel': 0, + 'role': 'Accounts Manager', + 'write': 1 + }, + + # DocPerm + { + 'create': 1, + 'doctype': 'DocPerm', + 'permlevel': 0, + 'role': 'Accounts User', + 'write': 1 + }, + + # DocPerm + { + 'doctype': 'DocPerm', + 'permlevel': 1, + 'role': 'All' + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'permlevel': 0, + 'width': '50%' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'account', + 'fieldtype': 'Link', + 'label': 'Account', + 'options': 'Account', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'voucher_type', + 'fieldtype': 'Select', + 'label': 'Voucher Type', + 'options': 'Sales Invoice\nPurchase Invoice\nJournal Voucher', + 'permlevel': 0 + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldname': 'voucher_no', + 'fieldtype': 'Link', + 'label': 'Voucher No', + 'permlevel': 0, + 'trigger': 'Client' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'permlevel': 0, + 'width': '50%' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'total_amount', + 'fieldtype': 'Currency', + 'label': 'Total Amount', + 'permlevel': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'pending_amt_to_reconcile', + 'fieldtype': 'Currency', + 'label': 'Pending Amt To Reconcile', + 'permlevel': 1 + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Payment Entries', + 'permlevel': 0 + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'label': "
Filter payment entries based on date:
", + 'permlevel': 0, + 'width': '50%' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'from_date', + 'fieldtype': 'Date', + 'label': 'From Date', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'to_date', + 'fieldtype': 'Date', + 'label': 'To Date', + 'permlevel': 0 + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'label': "
Filter payment entries based on amount:
", + 'permlevel': 0, + 'width': '50%' + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldname': 'amt_greater_than', + 'fieldtype': 'Data', + 'label': 'Amount >=', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'amt_less_than', + 'fieldtype': 'Data', + 'label': 'Amount <=', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'options': 'Simple', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Button', + 'label': 'Pull Payment Entries', + 'options': 'get_payment_entries', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'ir_payment_details', + 'fieldtype': 'Table', + 'label': 'Payment Entries', + 'options': 'IR Payment Detail', + 'permlevel': 0 + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'HTML', + 'label': 'Reconcile HTML', + 'options': "
Select Payment Voucher and Amount to Reconcile in the above table and then click Reconcile button
", + 'permlevel': 0 + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'Button', + 'label': 'Reconcile', + 'options': 'reconcile', + 'permlevel': 0, + 'trigger': 'Client' + } +] \ No newline at end of file diff --git a/erpnext/accounts/doctype/internal_reconciliation/test_ir.py b/erpnext/accounts/doctype/internal_reconciliation/test_ir.py new file mode 100644 index 00000000000..b35af6eaf6d --- /dev/null +++ b/erpnext/accounts/doctype/internal_reconciliation/test_ir.py @@ -0,0 +1,169 @@ +import unittest +import webnotes + +from webnotes.model.doc import Document +from webnotes.model.code import get_obj +from webnotes.utils import cstr, flt +sql = webnotes.conn.sql + +class TestInternalReco(unittest.TestCase): + def setUp(self): + webnotes.conn.begin() + + comp1.save(1) + cust1.save(1) + bank1.save(1) + rv1.save(1) + rv_gle.save(1) + + + for t in jv1: t.save(1) + for t in jv1[1:]: + sql("update `tabJournal Voucher Detail` set parent = '%s' where name = '%s'" % (jv1[0].name, t.name)) + + ir[0].save() + for t in ir[1:]: + t.save(1) + sql("update `tabIR Payment Detail` set voucher_no = '%s', voucher_detail_no = '%s' where parent = 'Internal Reconciliation'" % (jv1[0].name, jv1[1].name)) + + + sql("update `tabGL Entry` set voucher_no = %s, against_voucher = %s where voucher_no = 'rv1'", (rv1.name, rv1.name)) + sql("update `tabSingles` set value = %s where doctype = 'Internal Reconciliation' and field = 'voucher_no'", rv1.name) + + + self.ir = get_obj('Internal Reconciliation', with_children=1) + self.ir.reconcile() + + #=========================== + def test_jv(self): + """ + Test whether JV has benn properly splitted and against doc has been updated + """ + amt_against_doc = [[cstr(d[0]), flt(d[1]), flt(d[2])]for d in sql("select against_invoice, debit, credit from `tabJournal Voucher Detail` where parent = %s and account = 'cust1 - c1'", jv1[0].name)] + self.assertTrue(amt_against_doc == [[rv1.name, 0, 100.0], ['', 0, 400.0]]) + + #============================ + def test_gl_entry(self): + """ + Check proper gl entry has been made + """ + gle = [[cstr(d[0]), flt(d[1])] for d in sql("select against_voucher, sum(credit) - sum(debit) from `tabGL Entry` where voucher_no = %s and account = 'cust1 - c1' and ifnull(is_cancelled, 'No') = 'No' group by against_voucher", jv1[0].name)] + + self.assertTrue([rv1.name, 100.0] in gle) + self.assertTrue(['', 400.0] in gle) + + #============================ + def test_outstanding(self): + """ + Check whether Outstanding amount has been properly updated in RV + """ + amt = sql("select outstanding_amount from `tabReceivable Voucher` where name = '%s'" % rv1.name)[0][0] + self.assertTrue(amt == 0) + + #============================ + def tearDown(self): + webnotes.conn.rollback() + + + + +# test data +#--------------- +rv1 = Document(fielddata={ + 'doctype':'Receivable Voucher', + 'docstatus':1, + 'debit_to':'cust1 - c1', + 'grand_total': 100, + 'outstanding_amount': 100, + 'name': 'rv1' + }) + +jv1 = [Document(fielddata={ + 'doctype':'Journal Voucher', + 'docstatus':1, + 'cheque_no': '163567', + 'docstatus':1, + 'company': 'comp1', + 'posting_date' : '2011-05-02', + 'remark': 'test data', + 'fiscal_year': '2011-2012', + 'total_debit': 500, + 'total_credit': 500 + }), + Document(fielddata = { + 'parenttype':'Journal Voucher', + 'parentfield':'entries', + 'doctype':'Journal Voucher Detail', + 'account' : 'cust1 - c1', + 'credit':500, + 'debit' : 0, + 'docstatus':1 + }), + Document(fielddata = { + 'parenttype':'Journal Voucher', + 'parentfield':'entries', + 'doctype':'Journal Voucher Detail', + 'account' : 'bank1 - c1', + 'credit':0, + 'debit' : 500, + 'docstatus':1 + })] + +ir = [Document(fielddata = { + 'doctype':'Internal Reconciliation', + 'name' : 'Internal Reconciliation', + 'account':'cust1 - c1', + 'voucher_type' : 'Sales Invoice', + 'voucher_no': 'rv1' + }), + Document(fielddata = { + 'parenttype':'Internal Reconciliation', + 'parentfield':'ir_payment_details', + 'doctype':'IR Payment Detail', + 'parent': 'Internal Reconciliation', + 'voucher_no': 'jv1', + 'name' : '123112', + 'voucher_detail_no' : 'jvd1', + 'selected' : 1, + 'amt_due' : 500, + 'amt_to_be_reconciled':100 + })] + +cust1 = Document(fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'cust1', + 'debit_or_credit': 'Debit', + 'company' : 'comp1', + 'lft': 1, + 'rgt': 2 + }) + +bank1 = Document(fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'bank1', + 'debit_or_credit': 'Debit', + 'company' : 'comp1', + 'lft': 3, + 'rgt': 4 + }) + +comp1 = Document(fielddata={ + 'doctype':'Company', + 'abbr': 'c1', + 'company_name' : 'comp1', + 'name': 'comp1' + }) + +rv_gle = Document(fielddata={ + 'doctype':'GL Entry', + 'account': 'cust1 - c1', + 'company' : 'comp1', + 'voucher_no': 'rv1', + 'against_voucher': 'rv1', + 'against_voucher_type': 'Receivable Voucher', + 'voucher_type' : 'Receivable Voucher', + 'debit': 100, + 'credit': 0 + }) diff --git a/accounts/doctype/lease_agreement/__init__.py b/erpnext/accounts/doctype/ir_payment_detail/__init__.py similarity index 100% rename from accounts/doctype/lease_agreement/__init__.py rename to erpnext/accounts/doctype/ir_payment_detail/__init__.py diff --git a/erpnext/accounts/doctype/ir_payment_detail/ir_payment_detail.txt b/erpnext/accounts/doctype/ir_payment_detail/ir_payment_detail.txt new file mode 100644 index 00000000000..b35c4977eb4 --- /dev/null +++ b/erpnext/accounts/doctype/ir_payment_detail/ir_payment_detail.txt @@ -0,0 +1,132 @@ +# DocType, IR Payment Detail +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-30 11:57:48', + 'docstatus': 0, + 'modified': '2011-09-20 15:18:02', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all DocType + { + 'colour': 'White:FFF', + 'default_print_format': 'Standard', + 'doctype': 'DocType', + 'istable': 1, + 'module': 'Accounts', + 'name': '__common__', + 'section_style': 'Simple', + 'show_in_menu': 0, + 'version': 14 + }, + + # These values are common for all DocField + { + 'doctype': 'DocField', + 'name': '__common__', + 'parent': 'IR Payment Detail', + 'parentfield': 'fields', + 'parenttype': 'DocType' + }, + + # DocType, IR Payment Detail + { + 'doctype': 'DocType', + 'name': 'IR Payment Detail' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'selected', + 'fieldtype': 'Check', + 'label': 'Select', + 'permlevel': 0, + 'reqd': 1, + 'width': '60px' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'voucher_no', + 'fieldtype': 'Link', + 'label': 'Voucher No', + 'options': 'Journal Voucher', + 'permlevel': 1, + 'reqd': 0, + 'width': '140px' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'amt_due', + 'fieldtype': 'Currency', + 'label': 'Amt Due', + 'permlevel': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'amt_to_be_reconciled', + 'fieldtype': 'Currency', + 'label': 'Amt to be reconciled', + 'permlevel': 0, + 'reqd': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'posting_date', + 'fieldtype': 'Date', + 'label': 'Posting Date', + 'permlevel': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'total_amt', + 'fieldtype': 'Currency', + 'label': 'Total Amt', + 'permlevel': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'against_account', + 'fieldtype': 'Data', + 'label': 'Against Account', + 'permlevel': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'remarks', + 'fieldtype': 'Small Text', + 'label': 'Remarks', + 'permlevel': 1, + 'width': '200px' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'voucher_detail_no', + 'fieldtype': 'Data', + 'hidden': 1, + 'label': 'Voucher Detail No', + 'no_column': 0, + 'permlevel': 1, + 'print_hide': 1, + 'reqd': 0 + } +] \ No newline at end of file diff --git a/accounts/doctype/lease_installment/__init__.py b/erpnext/accounts/doctype/journal_voucher/__init__.py similarity index 100% rename from accounts/doctype/lease_installment/__init__.py rename to erpnext/accounts/doctype/journal_voucher/__init__.py diff --git a/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js similarity index 100% rename from accounts/doctype/journal_voucher/journal_voucher.js rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.js diff --git a/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py similarity index 100% rename from accounts/doctype/journal_voucher/journal_voucher.py rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.py diff --git a/accounts/doctype/journal_voucher/journal_voucher.txt b/erpnext/accounts/doctype/journal_voucher/journal_voucher.txt similarity index 100% rename from accounts/doctype/journal_voucher/journal_voucher.txt rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.txt diff --git a/accounts/doctype/ledger_balance_export/__init__.py b/erpnext/accounts/doctype/journal_voucher_detail/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from accounts/doctype/ledger_balance_export/__init__.py rename to erpnext/accounts/doctype/journal_voucher_detail/__init__.py diff --git a/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt b/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt similarity index 100% rename from accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt rename to erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt diff --git a/accounts/doctype/ledger_detail/__init__.py b/erpnext/accounts/doctype/lease_agreement/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from accounts/doctype/ledger_detail/__init__.py rename to erpnext/accounts/doctype/lease_agreement/__init__.py diff --git a/accounts/doctype/lease_agreement/lease_agreement.js b/erpnext/accounts/doctype/lease_agreement/lease_agreement.js similarity index 99% rename from accounts/doctype/lease_agreement/lease_agreement.js rename to erpnext/accounts/doctype/lease_agreement/lease_agreement.js index 8ffd522c8d0..7b90be9d0a7 100644 --- a/accounts/doctype/lease_agreement/lease_agreement.js +++ b/erpnext/accounts/doctype/lease_agreement/lease_agreement.js @@ -75,4 +75,4 @@ cur_frm.add_fetch('invoice','grand_total','invoice_amount'); cur_frm.fields_dict.invoice.get_query=function(doc){ return "SELECT tv.name FROM `tabReceivable Voucher` tv WHERE debit_to='"+doc.account+"' and tv.%(key)s like '%s' ORDER BY tv.name LIMIT 50" -} \ No newline at end of file +} diff --git a/accounts/doctype/lease_agreement/lease_agreement.py b/erpnext/accounts/doctype/lease_agreement/lease_agreement.py similarity index 100% rename from accounts/doctype/lease_agreement/lease_agreement.py rename to erpnext/accounts/doctype/lease_agreement/lease_agreement.py diff --git a/accounts/doctype/lease_agreement/lease_agreement.txt b/erpnext/accounts/doctype/lease_agreement/lease_agreement.txt similarity index 100% rename from accounts/doctype/lease_agreement/lease_agreement.txt rename to erpnext/accounts/doctype/lease_agreement/lease_agreement.txt diff --git a/accounts/doctype/mode_of_payment/__init__.py b/erpnext/accounts/doctype/lease_installment/__init__.py similarity index 100% rename from accounts/doctype/mode_of_payment/__init__.py rename to erpnext/accounts/doctype/lease_installment/__init__.py diff --git a/accounts/doctype/lease_installment/lease_installment.txt b/erpnext/accounts/doctype/lease_installment/lease_installment.txt similarity index 100% rename from accounts/doctype/lease_installment/lease_installment.txt rename to erpnext/accounts/doctype/lease_installment/lease_installment.txt diff --git a/accounts/doctype/payable_voucher/__init__.py b/erpnext/accounts/doctype/ledger_balance_export/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from accounts/doctype/payable_voucher/__init__.py rename to erpnext/accounts/doctype/ledger_balance_export/__init__.py diff --git a/accounts/doctype/ledger_balance_export/ledger_balance_export.js b/erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.js similarity index 100% rename from accounts/doctype/ledger_balance_export/ledger_balance_export.js rename to erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.js diff --git a/accounts/doctype/ledger_balance_export/ledger_balance_export.py b/erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.py similarity index 100% rename from accounts/doctype/ledger_balance_export/ledger_balance_export.py rename to erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.py diff --git a/accounts/doctype/ledger_balance_export/ledger_balance_export.txt b/erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.txt similarity index 100% rename from accounts/doctype/ledger_balance_export/ledger_balance_export.txt rename to erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.txt diff --git a/accounts/doctype/period_closing_voucher/__init__.py b/erpnext/accounts/doctype/ledger_detail/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from accounts/doctype/period_closing_voucher/__init__.py rename to erpnext/accounts/doctype/ledger_detail/__init__.py diff --git a/accounts/doctype/ledger_detail/ledger_detail.txt b/erpnext/accounts/doctype/ledger_detail/ledger_detail.txt similarity index 100% rename from accounts/doctype/ledger_detail/ledger_detail.txt rename to erpnext/accounts/doctype/ledger_detail/ledger_detail.txt diff --git a/accounts/doctype/pos_setting/__init__.py b/erpnext/accounts/doctype/mode_of_payment/__init__.py similarity index 100% rename from accounts/doctype/pos_setting/__init__.py rename to erpnext/accounts/doctype/mode_of_payment/__init__.py diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.js b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js similarity index 100% rename from accounts/doctype/mode_of_payment/mode_of_payment.js rename to erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.txt b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.txt similarity index 100% rename from accounts/doctype/mode_of_payment/mode_of_payment.txt rename to erpnext/accounts/doctype/mode_of_payment/mode_of_payment.txt diff --git a/accounts/doctype/purchase_tax_detail/__init__.py b/erpnext/accounts/doctype/payable_voucher/__init__.py similarity index 100% rename from accounts/doctype/purchase_tax_detail/__init__.py rename to erpnext/accounts/doctype/payable_voucher/__init__.py diff --git a/accounts/doctype/payable_voucher/payable_voucher.js b/erpnext/accounts/doctype/payable_voucher/payable_voucher.js similarity index 100% rename from accounts/doctype/payable_voucher/payable_voucher.js rename to erpnext/accounts/doctype/payable_voucher/payable_voucher.js diff --git a/accounts/doctype/payable_voucher/payable_voucher.py b/erpnext/accounts/doctype/payable_voucher/payable_voucher.py similarity index 95% rename from accounts/doctype/payable_voucher/payable_voucher.py rename to erpnext/accounts/doctype/payable_voucher/payable_voucher.py index 7bc0eb6301c..178a0cb3d4b 100644 --- a/accounts/doctype/payable_voucher/payable_voucher.py +++ b/erpnext/accounts/doctype/payable_voucher/payable_voucher.py @@ -441,12 +441,38 @@ class DocType(TransactionBase): if not submitted: msgprint("Purchase Receipt : "+ cstr(d.purchase_receipt) +" is not submitted") raise Exception , "Validation Error." - - def update_against_document_in_jv(self, against_document_no, against_document_doctype): - get_obj('GL Control').update_against_document_in_jv( self,'advance_allocation_details', against_document_no, against_document_doctype, self.doc.credit_to, 'debit',self.doc.doctype) + + + #-------------------------------------------------------------------- + def update_against_document_in_jv(self): + """ + Links invoice and advance voucher: + 1. cancel advance voucher + 2. split into multiple rows if partially adjusted, assign against voucher + 3. submit advance voucher + """ + + lst = [] + for d in getlist(self.doclist, 'advance_allocation_details'): + if flt(d.allocated_amount) > 0: + args = { + 'voucher_no' : d.journal_voucher, + 'voucher_detail_no' : d.jv_detail_no, + 'against_voucher_type' : 'Payable Voucher', + 'against_voucher' : self.doc.name, + 'account' : self.doc.credit_to, + 'is_advance' : 'Yes', + 'dr_or_cr' : 'debit', + 'unadjusted_amt' : flt(d.advance_amount), + 'allocated_amt' : flt(d.allocated_amount) + } + lst.append(args) + + if lst: + get_obj('GL Control').reconcile_against_document(lst) # On Submit - # ---------- + #-------------------------------------------------------------------- def on_submit(self): self.check_prev_docstatus() @@ -456,7 +482,9 @@ class DocType(TransactionBase): # this sequence because outstanding may get -negative get_obj(dt='GL Control').make_gl_entries(self.doc, self.doclist) - self.update_against_document_in_jv(self.doc.name, self.doc.doctype) + + self.update_against_document_in_jv() + get_obj(dt = 'Purchase Common').update_prevdoc_detail(self, is_submit = 1) diff --git a/accounts/doctype/payable_voucher/payable_voucher.txt b/erpnext/accounts/doctype/payable_voucher/payable_voucher.txt similarity index 100% rename from accounts/doctype/payable_voucher/payable_voucher.txt rename to erpnext/accounts/doctype/payable_voucher/payable_voucher.txt diff --git a/accounts/doctype/pv_detail/__init__.py b/erpnext/accounts/doctype/period_closing_voucher/__init__.py similarity index 100% rename from accounts/doctype/pv_detail/__init__.py rename to erpnext/accounts/doctype/period_closing_voucher/__init__.py diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.js b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.js similarity index 100% rename from accounts/doctype/period_closing_voucher/period_closing_voucher.js rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.js diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py similarity index 100% rename from accounts/doctype/period_closing_voucher/period_closing_voucher.py rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.txt b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.txt similarity index 100% rename from accounts/doctype/period_closing_voucher/period_closing_voucher.txt rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.txt diff --git a/accounts/doctype/receivable_voucher/__init__.py b/erpnext/accounts/doctype/pos_setting/__init__.py similarity index 100% rename from accounts/doctype/receivable_voucher/__init__.py rename to erpnext/accounts/doctype/pos_setting/__init__.py diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.js b/erpnext/accounts/doctype/pos_setting/pos_setting.js new file mode 100755 index 00000000000..4eed7b6918d --- /dev/null +++ b/erpnext/accounts/doctype/pos_setting/pos_setting.js @@ -0,0 +1,109 @@ + + +//--------- ONLOAD ------------- +cur_frm.cscript.onload = function(doc, cdt, cdn) { + +} + +// Settings Module + +cur_frm.cscript.refresh = function(doc,cdt,cdn){ + + + if(doc.based_on == 'Grand Total' || doc.based_on == 'Average Discount' || doc.based_on == 'Total Claimed Amount' || doc.based_on == 'Not Applicable') hide_field('master_name'); + else unhide_field('master_name'); + + if(doc.based_on == 'Not Applicable') hide_field('value'); + else unhide_field('value'); + + if(doc.transaction == 'Expense Voucher' || doc.transaction == 'Appraisal'){ + hide_field(['master_name','system_role', 'system_user']); + unhide_field(['to_emp','to_designation']); + if(doc.transaction == 'Appraisal') hide_field('value'); + else unhide_field('value'); + } + else { + unhide_field(['master_name','system_role', 'system_user','value']); + hide_field(['to_emp','to_designation']); + } +} + +cur_frm.cscript.based_on = function(doc){ + if(doc.based_on == 'Grand Total' || doc.based_on == 'Average Discount' || doc.based_on == 'Total Claimed Amount' || doc.based_on == 'Not Applicable'){ + doc.master_name = ''; + refresh_field('master_name'); + hide_field('master_name'); + } + else{ + unhide_field('master_name'); + } + + if(doc.based_on == 'Not Applicable') { + doc.value =0; + refresh_field('value'); + hide_field('value'); + } + else unhide_field('value'); +} + +cur_frm.cscript.transaction = function(doc,cdt,cdn){ + if(doc.transaction == 'Expense Voucher' || doc.transaction == 'Appraisal'){ + doc.master_name = doc.system_role = doc.system_user = ''; + refresh_many(['master_name','system_role', 'system_user']); + hide_field(['master_name','system_role', 'system_user']); + unhide_field(['to_emp','to_designation']); + if(doc.transaction == 'Appraisal') { + doc.value =0; + refresh_many('value'); + hide_field('value'); + } + else unhide_field('value'); + } + else { + unhide_field(['master_name','system_role', 'system_user','value']); + hide_field(['to_emp','to_designation']); + } + + if(doc.transaction == 'Expense Voucher') doc.based_on = 'Total Claimed Amount'; + if(doc.transaction == 'Appraisal') doc.based_on == 'Not Applicable'; +} + + +// System User Trigger +// ------------------- +cur_frm.fields_dict['system_user'].get_query = function(doc) { + return 'SELECT tabProfile.name, tabProfile.first_name FROM tabProfile WHERE tabProfile.name not in ("Administrator","Guest") AND tabProfile.docstatus != 2 AND tabProfile.%(key)s LIKE "%s" LIMIT 50' +} + + +// System Role Trigger +// ----------------------- +cur_frm.fields_dict['system_role'].get_query = function(doc) { + return 'SELECT tabRole.name FROM tabRole WHERE tabRole.name not in ("Administrator","Guest","All") AND tabRole.docstatus != 2 AND tabRole.%(key)s LIKE "%s" LIMIT 50' +} + + +// Approving User Trigger +// ----------------------- +cur_frm.fields_dict['approving_user'].get_query = function(doc) { + return 'SELECT tabProfile.name, tabProfile.first_name FROM tabProfile WHERE tabProfile.name not in ("Administrator","Guest") AND tabProfile.docstatus != 2 AND tabProfile.%(key)s LIKE "%s" LIMIT 50' +} + + +// Approving Role Trigger +// ----------------------- +cur_frm.fields_dict['approving_role'].get_query = function(doc) { + return 'SELECT tabRole.name FROM tabRole WHERE tabRole.name not in ("Administrator","Guest","All") AND tabRole.docstatus != 2 AND tabRole.%(key)s LIKE "%s" LIMIT 50' +} + + +// Master Name Trigger +// -------------------- +cur_frm.fields_dict['master_name'].get_query = function(doc){ + if(doc.based_on == 'Customerwise Discount') + return 'SELECT `tabCustomer`.`name` FROM `tabCustomer` WHERE `tabCustomer`.docstatus !=2 and `tabCustomer`.`name` LIKE "%s" ORDER BY `tabCustomer`.`name` DESC LIMIT 50'; + else if(doc.based_on == 'Itemwise Discount') + return 'SELECT `tabItem`.`name` FROM `tabItem` WHERE (IFNULL(`tabItem`.`end_of_life`,"") = "" OR `tabItem`.`end_of_life` = "0000-00-00" OR `tabItem`.`end_of_life` > NOW()) and `tabItem`.is_sales_item = "Yes" and tabItem.%(key)s LIKE "%s" ORDER BY `tabItem`.`name` DESC LIMIT 50'; + else + return 'SELECT `tabItem`.`name` FROM `tabItem` WHERE `tabItem`.`name` = "cheating done to avoid null" ORDER BY `tabItem`.`name` DESC LIMIT 50'; +} diff --git a/accounts/doctype/pos_setting/pos_setting.py b/erpnext/accounts/doctype/pos_setting/pos_setting.py similarity index 100% rename from accounts/doctype/pos_setting/pos_setting.py rename to erpnext/accounts/doctype/pos_setting/pos_setting.py diff --git a/accounts/doctype/pos_setting/pos_setting.txt b/erpnext/accounts/doctype/pos_setting/pos_setting.txt similarity index 100% rename from accounts/doctype/pos_setting/pos_setting.txt rename to erpnext/accounts/doctype/pos_setting/pos_setting.txt diff --git a/accounts/doctype/rv_detail/__init__.py b/erpnext/accounts/doctype/purchase_tax_detail/__init__.py similarity index 100% rename from accounts/doctype/rv_detail/__init__.py rename to erpnext/accounts/doctype/purchase_tax_detail/__init__.py diff --git a/accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt b/erpnext/accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt similarity index 100% rename from accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt rename to erpnext/accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt diff --git a/accounts/doctype/rv_tax_detail/__init__.py b/erpnext/accounts/doctype/pv_detail/__init__.py similarity index 100% rename from accounts/doctype/rv_tax_detail/__init__.py rename to erpnext/accounts/doctype/pv_detail/__init__.py diff --git a/accounts/doctype/pv_detail/pv_detail.txt b/erpnext/accounts/doctype/pv_detail/pv_detail.txt similarity index 100% rename from accounts/doctype/pv_detail/pv_detail.txt rename to erpnext/accounts/doctype/pv_detail/pv_detail.txt diff --git a/accounts/doctype/tds_category/__init__.py b/erpnext/accounts/doctype/receivable_voucher/__init__.py similarity index 100% rename from accounts/doctype/tds_category/__init__.py rename to erpnext/accounts/doctype/receivable_voucher/__init__.py diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js new file mode 100644 index 00000000000..ec8f2918d04 --- /dev/null +++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js @@ -0,0 +1,434 @@ +cur_frm.cscript.tname = "RV Detail"; +cur_frm.cscript.fname = "entries"; +cur_frm.cscript.other_fname = "other_charges"; +cur_frm.cscript.sales_team_fname = "sales_team"; + +// print heading +cur_frm.pformat.print_heading = 'Invoice'; + +$import(Sales Common) +$import(Other Charges) +$import(SMS Control) + +// On Load +// ------- +cur_frm.cscript.onload = function(doc,dt,dn) { + if(!doc.customer && doc.debit_to) get_field(dt, 'debit_to', dn).print_hide = 0; + if (doc.__islocal) { + if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()}); + if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()}); + if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()}); + + //for previously created sales invoice, set required field related to pos + if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn); + + hide_field(['customer_address', 'contact_person', 'customer_name', 'address_display', 'contact_display', 'contact_mobile', 'contact_email', 'territory', 'customer_group']); + } +} + +cur_frm.cscript.onload_post_render = function(doc, dt, dn) { + if(doc.customer && doc.__islocal) { + // called from mapper, update the account names for items and customer + $c_obj(make_doclist(doc.doctype,doc.name), + 'load_default_accounts','', + function(r,rt) { + refresh_field('entries'); + cur_frm.cscript.customer(doc,dt,dn); + } + ); + } + + if(!doc.customer && doc.__islocal) { + // new -- load default taxes + cur_frm.cscript.load_taxes(doc, cdt, cdn); + } +} + + +// Hide Fields +// ------------ +cur_frm.cscript.hide_fields = function(doc, cdt, cdn) { + par_flds =['project_name', 'due_date', 'posting_time', 'sales_order_main', 'delivery_note_main', 'Get Items', 'company', 'is_opening', 'currency', 'conversion_rate', 'price_list_name', 'cash_bank_account', 'source', 'cancel_reason', 'total_advance', 'gross_profit', 'gross_profit_percent', 'Get Advances Received', 'advance_adjustment_details', 'sales_partner', 'commission_rate', 'total_commission', 'Repair Outstanding Amt']; + + ch_flds = {'entries': ['income_account', 'warehouse', 'cost_center', 'sales_order', 'delivery_note']} + + if(cint(doc.is_pos) == 1) { + hide_field(par_flds); + for(t in ch_flds) { + for(f in ch_flds[t]) { + cur_frm.fields_dict[t].grid.set_column_disp(ch_flds[t][f], false); + } + } + } else { + unhide_field(par_flds); + for (t in ch_flds) { + for (f in ch_flds[t]) { + cur_frm.fields_dict[t].grid.set_column_disp(ch_flds[t][f], true); + } + } + } +} + + +// Refresh +// ------- +cur_frm.cscript.refresh = function(doc, dt, dn) { + + // Show / Hide button + cur_frm.clear_custom_buttons(); + + if(doc.docstatus==1) { + cur_frm.add_custom_button('View Ledger', cur_frm.cscript['View Ledger Entry']); + cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']); + unhide_field('Repair Outstanding Amt'); + + if(doc.is_pos==1 && doc.update_stock!=1) + cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']); + + if(doc.outstanding_amount!=0) + cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript['Make Bank Voucher']); + } + else + hide_field('Repair Outstanding Amt'); + cur_frm.cscript.is_opening(doc, dt, dn); + cur_frm.cscript.hide_fields(doc, cdt, cdn); +} + +//fetch retail transaction related fields +//-------------------------------------------- +cur_frm.cscript.is_pos = function(doc,dt,dn){ + cur_frm.cscript.hide_fields(doc, cdt, cdn); + if(doc.is_pos == 1){ + if (!doc.company) { + msgprint("Please select company to proceed"); + doc.is_pos = 0; + refresh_field('is_pos'); + } + else { + var callback = function(r,rt){ + cur_frm.refresh(); + } + $c_obj(make_doclist(dt,dn),'set_pos_fields','',callback); + } + } +} + + +cur_frm.cscript.warehouse = function(doc, cdt , cdn) { + var d = locals[cdt][cdn]; + if (!d.item_code) {alert("please enter item code first"); return}; + if (d.warehouse) { + arg = "{'item_code':'" + d.item_code + "','warehouse':'" + d.warehouse +"'}"; + get_server_fields('get_actual_qty',arg,'entries',doc,cdt,cdn,1); + } +} + + + +//Customer +cur_frm.cscript.customer = function(doc,dt,dn) { + + var callback = function(r,rt) { + var doc = locals[cur_frm.doctype][cur_frm.docname]; + get_server_fields('get_debit_to','','',doc, dt, dn, 0); + cur_frm.refresh(); + } + + if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); + if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); +} + +cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) { + if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1); +} + +cur_frm.fields_dict.customer_address.on_new = function(dn) { + locals['Address'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer; + locals['Address'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; +} + +cur_frm.fields_dict.contact_person.on_new = function(dn) { + locals['Contact'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer; + locals['Contact'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; +} + +cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) { + return 'SELECT name,address_line1,city FROM tabAddress WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50'; +} + +cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) { + return 'SELECT name,CONCAT(first_name," ",ifnull(last_name,"")) As FullName,department,designation FROM tabContact WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50'; +} + + +// Set Due Date = posting date + credit days +cur_frm.cscript.debit_to = function(doc,dt,dn) { + + var callback2 = function(r,rt) { + var doc = locals[cur_frm.doctype][cur_frm.docname]; + cur_frm.refresh(); + } + + var callback = function(r,rt) { + var doc = locals[cur_frm.doctype][cur_frm.docname]; + if(doc.customer) $c_obj(make_doclist(dt,dn), 'get_default_customer_address', '', callback2); + if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); + cur_frm.refresh(); + } + + if(doc.debit_to && doc.posting_date){ + get_server_fields('get_cust_and_due_date','','',doc,dt,dn,1,callback); + } +} + + + +//refresh advance amount +//------------------------------------------------- + +cur_frm.cscript.paid_amount = function(doc,dt,dn){ + doc.outstanding_amount = flt(doc.grand_total) - flt(doc.paid_amount) - flt(doc.write_off_amount); + refresh_field('outstanding_amount'); +} + + +//---- get customer details ---------------------------- +cur_frm.cscript.project_name = function(doc,cdt,cdn){ + $c_obj(make_doclist(doc.doctype, doc.name),'pull_project_customer','', function(r,rt){ + refresh_many(['customer', 'customer_name','customer_address', 'territory']); + }); +} + +//Set debit and credit to zero on adding new row +//---------------------------------------------- +cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){ + + cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); + acc = ''; + cc = ''; + + for(var i = 0; i 0 AND `tabBin`.`warehouse` like '%s' ORDER BY `tabBin`.`warehouse` DESC LIMIT 50"; +} + +// Cost Center in Details Table +// ----------------------------- +cur_frm.fields_dict.entries.grid.get_field("cost_center").get_query = function(doc) { + return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.`company_name` = "' +doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50'; +} + +// Sales Order +// ----------- +cur_frm.fields_dict.sales_order_main.get_query = function(doc) { + if (doc.customer) + return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.`customer` = "' + doc.customer + '" and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50'; + else + return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50'; +} + +// Delivery Note +// -------------- +cur_frm.fields_dict.delivery_note_main.get_query = function(doc) { + if (doc.customer) + return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.`customer` = "' + doc.customer + '" and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50'; + else + return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50'; +} + + + +cur_frm.cscript.income_account = function(doc, cdt, cdn){ + var d = locals[cdt][cdn]; + if(d.income_account){ + var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); + for(var i = 0; i < cl.length; i++){ + if(!cl[i].income_account) cl[i].income_account = d.income_account; + } + } + refresh_field(cur_frm.cscript.fname); +} + + +cur_frm.cscript.cost_center = function(doc, cdt, cdn){ + var d = locals[cdt][cdn]; + if(d.cost_center){ + var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); + for(var i = 0; i < cl.length; i++){ + if(!cl[i].cost_center) cl[i].cost_center = d.cost_center; + } + } + refresh_field(cur_frm.cscript.fname); +} + +/* **************************************** Utility Functions *************************************** */ + +// Details Calculation +// -------------------- +cur_frm.cscript.calc_adjustment_amount = function(doc,cdt,cdn) { + var doc = locals[doc.doctype][doc.name]; + var el = getchildren('Advance Adjustment Detail',doc.name,'advance_adjustment_details'); + var total_adjustment_amt = 0 + for(var i in el) { + total_adjustment_amt += flt(el[i].allocated_amount) + } + doc.total_advance = flt(total_adjustment_amt); + doc.outstanding_amount = flt(doc.grand_total) - flt(total_adjustment_amt) - flt(doc.paid_amount) - flt(doc.write_off_amount); + refresh_many(['total_advance','outstanding_amount']); +} + + +// Make Journal Voucher +// -------------------- +cur_frm.cscript.make_jv = function(doc, dt, dn) { + var jv = LocalDB.create('Journal Voucher'); + jv = locals['Journal Voucher'][jv]; + jv.voucher_type = 'Bank Voucher'; + + jv.company = doc.company; + jv.remark = repl('Payment received against invoice %(vn)s for %(rem)s', {vn:doc.name, rem:doc.remarks}); + jv.fiscal_year = doc.fiscal_year; + + // debit to creditor + var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); + d1.account = doc.debit_to; + d1.credit = doc.outstanding_amount; + d1.against_invoice = doc.name; + + + // credit to bank + var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); + d1.debit = doc.outstanding_amount; + + loaddoc('Journal Voucher', jv.name); +} + + +/****************** Get Accounting Entry *****************/ +cur_frm.cscript['View Ledger Entry'] = function(){ + var callback = function(report){ + report.set_filter('GL Entry', 'Voucher No',cur_frm.doc.name); + report.dt.run(); + } + loadreport('GL Entry','General Ledger', callback); +} diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.py b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py similarity index 94% rename from accounts/doctype/receivable_voucher/receivable_voucher.py rename to erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py index dba08fe8b9d..6d1f80adb98 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.py +++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py @@ -225,40 +225,47 @@ class DocType(TransactionBase): #----------------------------------------------------------------- - # ADVANCE ALLOCATION - #----------------------------------------------------------------- - def update_against_document_in_jv(self,against_document_no, against_document_doctype): - get_obj('GL Control').update_against_document_in_jv( self, 'advance_adjustment_details', against_document_no, against_document_doctype, self.doc.debit_to, 'credit', self.doc.doctype) + def update_against_document_in_jv(self): + """ + Links invoice and advance voucher: + 1. cancel advance voucher + 2. split into multiple rows if partially adjusted, assign against voucher + 3. submit advance voucher + """ + + lst = [] + for d in getlist(self.doclist, 'advance_adjustment_details'): + if flt(d.allocated_amount) > 0: + args = { + 'voucher_no' : d.journal_voucher, + 'voucher_detail_no' : d.jv_detail_no, + 'against_voucher_type' : 'Receivable Voucher', + 'against_voucher' : self.doc.name, + 'account' : self.doc.debit_to, + 'is_advance' : 'Yes', + 'dr_or_cr' : 'credit', + 'unadjusted_amt' : flt(d.advance_amount), + 'allocated_amt' : flt(d.allocated_amount) + } + lst.append(args) + + if lst: + get_obj('GL Control').reconcile_against_document(lst) - - -# ************************************* VALIDATE ********************************************** - # Get Customer Name and address based on Debit To Account selected - # This case arises in case of direct RV where user doesn't enter customer name. - # Hence it should be fetched from Account Head. - # ----------------------------------------------------------------------------- - #def get_customer_details(self): - # get_obj('Sales Common').get_customer_details(self, inv_det_reqd = 1) - # self.get_cust_and_due_date() - - # Validate Customer Name with SO or DN if items are fetched from SO or DN # ------------------------------------------------------------------------ def validate_customer(self): + """ + Validate customer name with SO and DN + """ for d in getlist(self.doclist,'entries'): - customer = '' - if d.sales_order: - customer = sql("select customer from `tabSales Order` where name = '%s'" % d.sales_order)[0][0] - doctype = 'sales order' - doctype_no = cstr(d.sales_order) - if d.delivery_note: - customer = sql("select customer from `tabDelivery Note` where name = '%s'" % d.delivery_note)[0][0] - doctype = 'delivery note' - doctype_no = cstr(d.delivery_note) - if customer and not cstr(self.doc.customer) == cstr(customer): - msgprint("Customer %s do not match with customer of %s %s." %(self.doc.customer,doctype,doctype_no)) - raise Exception , " Validation Error " - + dt = d.delivery_note and 'Delivery Note' or d.sales_order and 'Sales Order' or '' + if dt: + dt_no = d.delivery_note or d.sales_order + cust = sql("select customer from `tab%s` where name = %s" % (dt, '%s'), dt_no) + if cust and cstr(cust[0][0]) != cstr(self.doc.customer): + msgprint("Customer %s does not match with customer of %s: %s." %(self.doc.customer, dt, dt_no), raise_exception=1) + # Validates Debit To Account and Customer Matches # ------------------------------------------------ @@ -545,7 +552,7 @@ class DocType(TransactionBase): self.make_gl_entries() if not cint(self.doc.is_pos) == 1: - self.update_against_document_in_jv(self.doc.name, self.doc.doctype) + self.update_against_document_in_jv() # on submit notification # get_obj('Notification Control').notify_contact('Sales Invoice', self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person) diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.txt b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt similarity index 94% rename from accounts/doctype/receivable_voucher/receivable_voucher.txt rename to erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt index f2f9eafb20b..2f3b48d3fc6 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.txt +++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt @@ -5,16 +5,17 @@ { 'creation': '2010-08-08 17:09:18', 'docstatus': 0, - 'modified': '2011-06-20 13:02:04', + 'modified': '2011-10-10 12:29:26', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1309508839', + '_last_update': '1317986484', 'change_log': '1. Change in pull_details method dt.-26-06-2009', 'colour': 'White:FFF', + 'default_print_format': 'Standard', 'doctype': 'DocType', 'module': 'Accounts', 'name': '__common__', @@ -24,7 +25,7 @@ 'server_code_error': ' ', 'show_in_menu': 0, 'subject': 'To %(customer_name)s worth %(currency)s %(grand_total_export)s due on %(due_date)s | %(outstanding_amount)s outstanding', - 'version': 356 + 'version': 359 }, # These values are common for all DocField @@ -58,7 +59,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 1, 'role': 'Accounts Manager', 'submit': 0, @@ -71,7 +71,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 0, 'role': 'Accounts Manager', 'submit': 1, @@ -84,7 +83,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 3, 'permlevel': 0, 'role': 'Accounts User', 'submit': 1, @@ -97,7 +95,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 4, 'permlevel': 1, 'role': 'Accounts User', 'submit': 0, @@ -106,18 +103,21 @@ # DocPerm { + 'amend': 0, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', - 'idx': 5, 'match': 'customer', 'permlevel': 0, - 'role': 'Customer' + 'role': 'Customer', + 'submit': 0, + 'write': 0 }, # DocField { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 1, 'label': 'Basic Info', 'oldfieldtype': 'Section Break', 'permlevel': 0, @@ -128,7 +128,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 2, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'print_hide': 0, @@ -143,7 +142,6 @@ 'doctype': 'DocField', 'fieldname': 'naming_series', 'fieldtype': 'Select', - 'idx': 3, 'label': 'Series', 'no_copy': 1, 'oldfieldname': 'naming_series', @@ -159,7 +157,6 @@ 'doctype': 'DocField', 'fieldname': 'is_pos', 'fieldtype': 'Check', - 'idx': 4, 'label': 'Is POS', 'oldfieldname': 'is_pos', 'oldfieldtype': 'Check', @@ -174,7 +171,6 @@ 'doctype': 'DocField', 'fieldname': 'update_stock', 'fieldtype': 'Check', - 'idx': 5, 'label': 'Update Stock', 'oldfieldname': 'update_stock', 'oldfieldtype': 'Check', @@ -189,7 +185,6 @@ 'doctype': 'DocField', 'fieldname': 'debit_to', 'fieldtype': 'Link', - 'idx': 6, 'in_filter': 1, 'label': 'Debit To', 'oldfieldname': 'debit_to', @@ -209,7 +204,6 @@ 'fieldname': 'customer', 'fieldtype': 'Link', 'hidden': 0, - 'idx': 7, 'label': 'Customer', 'no_copy': 0, 'oldfieldname': 'customer', @@ -225,7 +219,6 @@ 'doctype': 'DocField', 'fieldname': 'customer_address', 'fieldtype': 'Link', - 'idx': 8, 'label': 'Customer Address', 'options': 'Address', 'permlevel': 0, @@ -237,7 +230,6 @@ 'doctype': 'DocField', 'fieldname': 'contact_person', 'fieldtype': 'Link', - 'idx': 9, 'label': 'Contact Person', 'options': 'Contact', 'permlevel': 0, @@ -249,7 +241,6 @@ 'doctype': 'DocField', 'fieldname': 'customer_name', 'fieldtype': 'Data', - 'idx': 10, 'label': 'Name', 'oldfieldname': 'customer_name', 'oldfieldtype': 'Data', @@ -261,7 +252,6 @@ 'doctype': 'DocField', 'fieldname': 'address_display', 'fieldtype': 'Small Text', - 'idx': 11, 'label': 'Address', 'permlevel': 1 }, @@ -271,7 +261,6 @@ 'doctype': 'DocField', 'fieldname': 'contact_display', 'fieldtype': 'Small Text', - 'idx': 12, 'label': 'Contact', 'permlevel': 1 }, @@ -281,7 +270,6 @@ 'doctype': 'DocField', 'fieldname': 'contact_mobile', 'fieldtype': 'Text', - 'idx': 13, 'label': 'Mobile No', 'permlevel': 1 }, @@ -291,7 +279,6 @@ 'doctype': 'DocField', 'fieldname': 'contact_email', 'fieldtype': 'Text', - 'idx': 14, 'label': 'Contact Email', 'permlevel': 1, 'print_hide': 1 @@ -302,7 +289,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 15, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -315,7 +301,6 @@ 'doctype': 'DocField', 'fieldname': 'voucher_date', 'fieldtype': 'Date', - 'idx': 16, 'in_filter': 1, 'label': 'Voucher Date', 'no_copy': 1, @@ -334,7 +319,6 @@ 'doctype': 'DocField', 'fieldname': 'due_date', 'fieldtype': 'Date', - 'idx': 17, 'in_filter': 1, 'label': 'Due Date', 'no_copy': 1, @@ -353,7 +337,6 @@ 'doctype': 'DocField', 'fieldname': 'posting_date', 'fieldtype': 'Date', - 'idx': 18, 'in_filter': 1, 'label': 'Posting Date', 'no_copy': 1, @@ -370,7 +353,6 @@ 'doctype': 'DocField', 'fieldname': 'posting_time', 'fieldtype': 'Time', - 'idx': 19, 'label': 'Posting Time', 'no_copy': 1, 'oldfieldname': 'posting_time', @@ -385,7 +367,6 @@ 'doctype': 'DocField', 'fieldname': 'amendment_date', 'fieldtype': 'Date', - 'idx': 20, 'label': 'Amendment Date', 'no_copy': 1, 'oldfieldname': 'amendment_date', @@ -399,8 +380,8 @@ 'doctype': 'DocField', 'fieldname': 'amended_from', 'fieldtype': 'Link', - 'idx': 21, 'label': 'Amended From', + 'no_copy': 1, 'oldfieldname': 'amended_from', 'oldfieldtype': 'Link', 'options': 'Receivable Voucher', @@ -413,7 +394,6 @@ 'doctype': 'DocField', 'fieldname': 'mode_of_payment', 'fieldtype': 'Select', - 'idx': 22, 'label': 'Mode of Payment', 'oldfieldname': 'mode_of_payment', 'oldfieldtype': 'Select', @@ -426,7 +406,6 @@ 'doctype': 'DocField', 'fieldname': 'territory', 'fieldtype': 'Link', - 'idx': 23, 'in_filter': 1, 'label': 'Territory', 'options': 'Territory', @@ -441,14 +420,12 @@ 'doctype': 'DocField', 'fieldname': 'customer_group', 'fieldtype': 'Link', - 'idx': 24, 'in_filter': 1, 'label': 'Customer Group', 'options': 'Customer Group', 'permlevel': 0, 'print_hide': 1, - 'reqd': 1, - 'search_index': 1 + 'search_index': 0 }, # DocField @@ -456,7 +433,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 25, 'label': 'Items', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -467,7 +443,6 @@ 'doctype': 'DocField', 'fieldname': 'price_list_name', 'fieldtype': 'Select', - 'idx': 26, 'label': 'Price List', 'oldfieldname': 'price_list_name', 'oldfieldtype': 'Select', @@ -484,7 +459,6 @@ 'doctype': 'DocField', 'fieldname': 'sales_order_main', 'fieldtype': 'Link', - 'idx': 27, 'label': 'Sales Order', 'oldfieldname': 'sales_order_main', 'oldfieldtype': 'Link', @@ -500,7 +474,6 @@ 'doctype': 'DocField', 'fieldname': 'delivery_note_main', 'fieldtype': 'Link', - 'idx': 28, 'label': 'Delivery Note', 'oldfieldname': 'delivery_note_main', 'oldfieldtype': 'Link', @@ -513,7 +486,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 29, 'label': 'Get Items', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -525,7 +497,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 30, 'permlevel': 0, 'width': '50%' }, @@ -535,7 +506,6 @@ 'doctype': 'DocField', 'fieldname': 'currency', 'fieldtype': 'Select', - 'idx': 31, 'label': 'Currency', 'oldfieldname': 'currency', 'oldfieldtype': 'Select', @@ -551,7 +521,6 @@ 'doctype': 'DocField', 'fieldname': 'conversion_rate', 'fieldtype': 'Currency', - 'idx': 32, 'label': 'Conversion Rate', 'oldfieldname': 'conversion_rate', 'oldfieldtype': 'Currency', @@ -564,7 +533,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 33, 'permlevel': 0 }, @@ -575,7 +543,6 @@ 'doctype': 'DocField', 'fieldname': 'entries', 'fieldtype': 'Table', - 'idx': 34, 'label': 'Entries', 'oldfieldname': 'entries', 'oldfieldtype': 'Table', @@ -588,7 +555,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 35, 'label': 'Re-Calculate Values', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -596,13 +562,27 @@ 'trigger': 'Client' }, + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'permlevel': 0, + 'width': '50%' + }, + # DocField { 'description': 'Will be calculated automatically when you enter the details', 'doctype': 'DocField', 'fieldname': 'net_total', 'fieldtype': 'Currency', - 'idx': 36, 'label': 'Net Total*', 'oldfieldname': 'net_total', 'oldfieldtype': 'Currency', @@ -615,7 +595,6 @@ { 'doctype': 'DocField', 'fieldtype': 'HTML', - 'idx': 37, 'label': 'Rates HTML', 'oldfieldtype': 'HTML', 'options': '* Rates in standard currency', @@ -623,14 +602,6 @@ 'print_hide': 1 }, - # DocField - { - 'doctype': 'DocField', - 'fieldtype': 'Section Break', - 'idx': 38, - 'permlevel': 0 - }, - # DocField { 'colour': 'White:FFF', @@ -638,7 +609,6 @@ 'doctype': 'DocField', 'fieldname': 'cash_bank_account', 'fieldtype': 'Link', - 'idx': 39, 'label': 'Cash/Bank Account', 'oldfieldname': 'cash_bank_account', 'oldfieldtype': 'Link', @@ -654,7 +624,6 @@ 'doctype': 'DocField', 'fieldname': 'paid_amount', 'fieldtype': 'Currency', - 'idx': 40, 'label': 'Paid Amount', 'oldfieldname': 'paid_amount', 'oldfieldtype': 'Currency', @@ -667,7 +636,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 41, 'permlevel': 0, 'width': '50%' }, @@ -679,7 +647,6 @@ 'doctype': 'DocField', 'fieldname': 'write_off_account', 'fieldtype': 'Link', - 'idx': 42, 'label': 'Write Off Account', 'options': 'Account', 'permlevel': 0, @@ -693,7 +660,6 @@ 'doctype': 'DocField', 'fieldname': 'write_off_cost_center', 'fieldtype': 'Link', - 'idx': 43, 'label': 'Write Off Cost Center', 'options': 'Cost Center', 'permlevel': 0, @@ -707,7 +673,6 @@ 'doctype': 'DocField', 'fieldname': 'write_off_amount', 'fieldtype': 'Currency', - 'idx': 44, 'label': 'Write Off Amount', 'permlevel': 0, 'print_hide': 1 @@ -717,7 +682,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 45, 'label': 'Taxes', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -728,7 +692,6 @@ 'doctype': 'DocField', 'fieldname': 'charge', 'fieldtype': 'Link', - 'idx': 46, 'label': 'Charge', 'oldfieldname': 'charge', 'oldfieldtype': 'Link', @@ -741,7 +704,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 47, 'label': 'Get Charges', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -756,7 +718,6 @@ 'doctype': 'DocField', 'fieldname': 'other_charges', 'fieldtype': 'Table', - 'idx': 48, 'label': 'Taxes1', 'oldfieldname': 'other_charges', 'oldfieldtype': 'Table', @@ -764,24 +725,10 @@ 'permlevel': 0 }, - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'other_charges_total', - 'fieldtype': 'Currency', - 'idx': 49, - 'label': 'Total Charges', - 'oldfieldname': 'other_charges_total', - 'oldfieldtype': 'Currency', - 'permlevel': 1, - 'print_hide': 1 - }, - # DocField { 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 50, 'label': 'Calculate Charges', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -789,11 +736,22 @@ 'trigger': 'Client' }, + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'other_charges_total', + 'fieldtype': 'Currency', + 'label': 'Total Charges', + 'oldfieldname': 'other_charges_total', + 'oldfieldtype': 'Currency', + 'permlevel': 1, + 'print_hide': 1 + }, + # DocField { 'doctype': 'DocField', 'fieldtype': 'HTML', - 'idx': 51, 'label': 'Other Charges Calculation', 'oldfieldtype': 'HTML', 'permlevel': 0, @@ -805,7 +763,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 52, 'label': 'Terms', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -816,7 +773,6 @@ 'doctype': 'DocField', 'fieldname': 'tc_name', 'fieldtype': 'Link', - 'idx': 53, 'label': 'Select Terms', 'oldfieldname': 'tc_name', 'oldfieldtype': 'Link', @@ -830,7 +786,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 54, 'label': 'Get Terms', 'oldfieldtype': 'Button', 'options': 'get_tc_details', @@ -844,7 +799,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'HTML', - 'idx': 55, 'label': 'Terms HTML', 'oldfieldtype': 'HTML', 'options': 'You can add Terms and Notes that will be printed in the Transaction', @@ -857,7 +811,6 @@ 'doctype': 'DocField', 'fieldname': 'terms', 'fieldtype': 'Text Editor', - 'idx': 56, 'label': 'Term Details', 'oldfieldname': 'terms', 'oldfieldtype': 'Text Editor', @@ -869,7 +822,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 57, 'label': 'More Info', 'oldfieldtype': 'Section Break', 'permlevel': 0, @@ -881,7 +833,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 58, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'print_hide': 1, @@ -895,7 +846,6 @@ 'doctype': 'DocField', 'fieldname': 'is_opening', 'fieldtype': 'Select', - 'idx': 59, 'in_filter': 1, 'label': 'Is Opening', 'oldfieldname': 'is_opening', @@ -912,7 +862,6 @@ 'doctype': 'DocField', 'fieldname': 'aging_date', 'fieldtype': 'Date', - 'idx': 60, 'label': 'Aging Date', 'oldfieldname': 'aging_date', 'oldfieldtype': 'Date', @@ -927,7 +876,6 @@ 'doctype': 'DocField', 'fieldname': 'letter_head', 'fieldtype': 'Select', - 'idx': 61, 'label': 'Letter Head', 'oldfieldname': 'letter_head', 'oldfieldtype': 'Select', @@ -941,7 +889,6 @@ 'doctype': 'DocField', 'fieldname': 'source', 'fieldtype': 'Select', - 'idx': 62, 'label': 'Source', 'oldfieldname': 'source', 'oldfieldtype': 'Select', @@ -957,7 +904,6 @@ 'doctype': 'DocField', 'fieldname': 'campaign', 'fieldtype': 'Link', - 'idx': 63, 'label': 'Campaign', 'oldfieldname': 'campaign', 'oldfieldtype': 'Link', @@ -973,7 +919,6 @@ 'doctype': 'DocField', 'fieldname': 'select_print_heading', 'fieldtype': 'Link', - 'idx': 64, 'label': 'Select Print Heading', 'no_copy': 1, 'oldfieldname': 'select_print_heading', @@ -992,7 +937,6 @@ 'doctype': 'DocField', 'fieldname': 'project_name', 'fieldtype': 'Link', - 'idx': 65, 'in_filter': 1, 'label': 'Project Name', 'oldfieldname': 'project_name', @@ -1008,7 +952,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 66, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -1018,7 +961,6 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Link', - 'idx': 67, 'in_filter': 1, 'label': 'Company', 'oldfieldname': 'company', @@ -1035,7 +977,6 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 68, 'in_filter': 1, 'label': 'Fiscal Year', 'no_copy': 0, @@ -1055,7 +996,6 @@ 'doctype': 'DocField', 'fieldname': 'cancel_reason', 'fieldtype': 'Data', - 'idx': 69, 'label': 'Cancel Reason', 'oldfieldname': 'cancel_reason', 'oldfieldtype': 'Data', @@ -1068,7 +1008,6 @@ 'doctype': 'DocField', 'fieldname': 'remarks', 'fieldtype': 'Small Text', - 'idx': 70, 'label': 'Remarks', 'no_copy': 1, 'oldfieldname': 'remarks', @@ -1083,7 +1022,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 71, 'label': 'Totals', 'oldfieldtype': 'Section Break', 'permlevel': 0, @@ -1095,7 +1033,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 72, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'print_hide': 1, @@ -1108,7 +1045,6 @@ 'doctype': 'DocField', 'fieldname': 'grand_total', 'fieldtype': 'Currency', - 'idx': 73, 'in_filter': 1, 'label': 'Grand Total', 'oldfieldname': 'grand_total', @@ -1124,7 +1060,6 @@ 'doctype': 'DocField', 'fieldname': 'rounded_total', 'fieldtype': 'Currency', - 'idx': 74, 'label': 'Rounded Total', 'oldfieldname': 'rounded_total', 'oldfieldtype': 'Currency', @@ -1139,7 +1074,6 @@ 'doctype': 'DocField', 'fieldname': 'in_words', 'fieldtype': 'Data', - 'idx': 75, 'label': 'In Words', 'oldfieldname': 'in_words', 'oldfieldtype': 'Data', @@ -1152,7 +1086,6 @@ 'doctype': 'DocField', 'fieldname': 'total_advance', 'fieldtype': 'Currency', - 'idx': 76, 'label': 'Total Advance', 'oldfieldname': 'total_advance', 'oldfieldtype': 'Currency', @@ -1166,7 +1099,6 @@ 'doctype': 'DocField', 'fieldname': 'outstanding_amount', 'fieldtype': 'Currency', - 'idx': 77, 'label': 'Outstanding Amount', 'no_copy': 1, 'oldfieldname': 'outstanding_amount', @@ -1180,7 +1112,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 78, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'print_hide': 1, @@ -1192,7 +1123,6 @@ 'doctype': 'DocField', 'fieldname': 'grand_total_export', 'fieldtype': 'Currency', - 'idx': 79, 'label': 'Grand Total (Export)', 'oldfieldname': 'grand_total_export', 'oldfieldtype': 'Currency', @@ -1206,7 +1136,6 @@ 'doctype': 'DocField', 'fieldname': 'rounded_total_export', 'fieldtype': 'Currency', - 'idx': 80, 'label': 'Rounded Total (Export)', 'oldfieldname': 'rounded_total_export', 'oldfieldtype': 'Currency', @@ -1221,7 +1150,6 @@ 'doctype': 'DocField', 'fieldname': 'in_words_export', 'fieldtype': 'Data', - 'idx': 81, 'label': 'In Words (Export)', 'oldfieldname': 'in_words_export', 'oldfieldtype': 'Data', @@ -1234,7 +1162,6 @@ 'doctype': 'DocField', 'fieldname': 'gross_profit', 'fieldtype': 'Currency', - 'idx': 82, 'label': 'Gross Profit', 'oldfieldname': 'gross_profit', 'oldfieldtype': 'Currency', @@ -1247,7 +1174,6 @@ 'doctype': 'DocField', 'fieldname': 'gross_profit_percent', 'fieldtype': 'Currency', - 'idx': 83, 'label': 'Gross Profit (%)', 'oldfieldname': 'gross_profit_percent', 'oldfieldtype': 'Currency', @@ -1260,7 +1186,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 84, 'label': 'Advances', 'oldfieldtype': 'Section Break', 'permlevel': 0, @@ -1271,7 +1196,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 85, 'label': 'Get Advances Received', 'oldfieldtype': 'Button', 'options': 'get_advances', @@ -1284,7 +1208,6 @@ 'doctype': 'DocField', 'fieldname': 'advance_adjustment_details', 'fieldtype': 'Table', - 'idx': 86, 'label': 'Advance Adjustment Detail', 'oldfieldname': 'advance_adjustment_details', 'oldfieldtype': 'Table', @@ -1297,7 +1220,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 87, 'label': 'Sales Team', 'oldfieldtype': 'Section Break', 'permlevel': 0, @@ -1309,7 +1231,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 88, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'print_hide': 1, @@ -1321,7 +1242,6 @@ 'doctype': 'DocField', 'fieldname': 'sales_partner', 'fieldtype': 'Link', - 'idx': 89, 'in_filter': 1, 'label': 'Sales Partner', 'oldfieldname': 'sales_partner', @@ -1337,7 +1257,6 @@ 'doctype': 'DocField', 'fieldname': 'commission_rate', 'fieldtype': 'Currency', - 'idx': 90, 'label': 'Commission Rate (%)', 'oldfieldname': 'commission_rate', 'oldfieldtype': 'Currency', @@ -1352,7 +1271,6 @@ 'doctype': 'DocField', 'fieldname': 'total_commission', 'fieldtype': 'Currency', - 'idx': 91, 'label': 'Total Commission', 'oldfieldname': 'total_commission', 'oldfieldtype': 'Currency', @@ -1366,7 +1284,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 92, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'print_hide': 1, @@ -1378,7 +1295,6 @@ 'doctype': 'DocField', 'fieldname': 'sales_team', 'fieldtype': 'Table', - 'idx': 93, 'label': 'Sales Team1', 'oldfieldname': 'sales_team', 'oldfieldtype': 'Table', @@ -1392,7 +1308,6 @@ 'allow_on_submit': 1, 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 94, 'label': 'Repair Outstanding Amt', 'oldfieldtype': 'Button', 'options': 'repair_rv_outstanding', @@ -1406,7 +1321,6 @@ 'fieldname': 'against_income_account', 'fieldtype': 'Small Text', 'hidden': 1, - 'idx': 95, 'label': 'Against Income Account', 'no_copy': 1, 'oldfieldname': 'against_income_account', diff --git a/accounts/doctype/tds_category_account/__init__.py b/erpnext/accounts/doctype/rv_detail/__init__.py similarity index 100% rename from accounts/doctype/tds_category_account/__init__.py rename to erpnext/accounts/doctype/rv_detail/__init__.py diff --git a/accounts/doctype/rv_detail/rv_detail.txt b/erpnext/accounts/doctype/rv_detail/rv_detail.txt similarity index 100% rename from accounts/doctype/rv_detail/rv_detail.txt rename to erpnext/accounts/doctype/rv_detail/rv_detail.txt diff --git a/accounts/doctype/tds_control/__init__.py b/erpnext/accounts/doctype/rv_tax_detail/__init__.py similarity index 100% rename from accounts/doctype/tds_control/__init__.py rename to erpnext/accounts/doctype/rv_tax_detail/__init__.py diff --git a/accounts/doctype/rv_tax_detail/rv_tax_detail.txt b/erpnext/accounts/doctype/rv_tax_detail/rv_tax_detail.txt similarity index 100% rename from accounts/doctype/rv_tax_detail/rv_tax_detail.txt rename to erpnext/accounts/doctype/rv_tax_detail/rv_tax_detail.txt diff --git a/accounts/doctype/tds_detail/__init__.py b/erpnext/accounts/doctype/tds_category/__init__.py similarity index 100% rename from accounts/doctype/tds_detail/__init__.py rename to erpnext/accounts/doctype/tds_category/__init__.py diff --git a/accounts/doctype/tds_category/tds_category.js b/erpnext/accounts/doctype/tds_category/tds_category.js similarity index 100% rename from accounts/doctype/tds_category/tds_category.js rename to erpnext/accounts/doctype/tds_category/tds_category.js diff --git a/accounts/doctype/tds_category/tds_category.py b/erpnext/accounts/doctype/tds_category/tds_category.py similarity index 100% rename from accounts/doctype/tds_category/tds_category.py rename to erpnext/accounts/doctype/tds_category/tds_category.py diff --git a/accounts/doctype/tds_category/tds_category.txt b/erpnext/accounts/doctype/tds_category/tds_category.txt similarity index 100% rename from accounts/doctype/tds_category/tds_category.txt rename to erpnext/accounts/doctype/tds_category/tds_category.txt diff --git a/accounts/doctype/tds_payment/__init__.py b/erpnext/accounts/doctype/tds_category_account/__init__.py similarity index 100% rename from accounts/doctype/tds_payment/__init__.py rename to erpnext/accounts/doctype/tds_category_account/__init__.py diff --git a/accounts/doctype/tds_category_account/tds_category_account.txt b/erpnext/accounts/doctype/tds_category_account/tds_category_account.txt similarity index 100% rename from accounts/doctype/tds_category_account/tds_category_account.txt rename to erpnext/accounts/doctype/tds_category_account/tds_category_account.txt diff --git a/accounts/doctype/tds_payment_detail/__init__.py b/erpnext/accounts/doctype/tds_control/__init__.py similarity index 100% rename from accounts/doctype/tds_payment_detail/__init__.py rename to erpnext/accounts/doctype/tds_control/__init__.py diff --git a/accounts/doctype/tds_control/tds_control.js b/erpnext/accounts/doctype/tds_control/tds_control.js similarity index 100% rename from accounts/doctype/tds_control/tds_control.js rename to erpnext/accounts/doctype/tds_control/tds_control.js diff --git a/accounts/doctype/tds_control/tds_control.py b/erpnext/accounts/doctype/tds_control/tds_control.py similarity index 100% rename from accounts/doctype/tds_control/tds_control.py rename to erpnext/accounts/doctype/tds_control/tds_control.py diff --git a/accounts/doctype/tds_control/tds_control.txt b/erpnext/accounts/doctype/tds_control/tds_control.txt similarity index 100% rename from accounts/doctype/tds_control/tds_control.txt rename to erpnext/accounts/doctype/tds_control/tds_control.txt diff --git a/accounts/doctype/tds_rate_chart/__init__.py b/erpnext/accounts/doctype/tds_detail/__init__.py similarity index 100% rename from accounts/doctype/tds_rate_chart/__init__.py rename to erpnext/accounts/doctype/tds_detail/__init__.py diff --git a/accounts/doctype/tds_detail/tds_detail.txt b/erpnext/accounts/doctype/tds_detail/tds_detail.txt similarity index 100% rename from accounts/doctype/tds_detail/tds_detail.txt rename to erpnext/accounts/doctype/tds_detail/tds_detail.txt diff --git a/accounts/doctype/tds_rate_detail/__init__.py b/erpnext/accounts/doctype/tds_payment/__init__.py similarity index 100% rename from accounts/doctype/tds_rate_detail/__init__.py rename to erpnext/accounts/doctype/tds_payment/__init__.py diff --git a/accounts/doctype/tds_payment/tds_payment.js b/erpnext/accounts/doctype/tds_payment/tds_payment.js similarity index 100% rename from accounts/doctype/tds_payment/tds_payment.js rename to erpnext/accounts/doctype/tds_payment/tds_payment.js diff --git a/accounts/doctype/tds_payment/tds_payment.py b/erpnext/accounts/doctype/tds_payment/tds_payment.py similarity index 100% rename from accounts/doctype/tds_payment/tds_payment.py rename to erpnext/accounts/doctype/tds_payment/tds_payment.py diff --git a/accounts/doctype/tds_payment/tds_payment.txt b/erpnext/accounts/doctype/tds_payment/tds_payment.txt similarity index 100% rename from accounts/doctype/tds_payment/tds_payment.txt rename to erpnext/accounts/doctype/tds_payment/tds_payment.txt diff --git a/accounts/doctype/tds_return_acknowledgement/__init__.py b/erpnext/accounts/doctype/tds_payment_detail/__init__.py similarity index 100% rename from accounts/doctype/tds_return_acknowledgement/__init__.py rename to erpnext/accounts/doctype/tds_payment_detail/__init__.py diff --git a/accounts/doctype/tds_payment_detail/tds_payment_detail.txt b/erpnext/accounts/doctype/tds_payment_detail/tds_payment_detail.txt similarity index 100% rename from accounts/doctype/tds_payment_detail/tds_payment_detail.txt rename to erpnext/accounts/doctype/tds_payment_detail/tds_payment_detail.txt diff --git a/accounts/page/__init__.py b/erpnext/accounts/doctype/tds_rate_chart/__init__.py similarity index 100% rename from accounts/page/__init__.py rename to erpnext/accounts/doctype/tds_rate_chart/__init__.py diff --git a/accounts/doctype/tds_rate_chart/tds_rate_chart.txt b/erpnext/accounts/doctype/tds_rate_chart/tds_rate_chart.txt similarity index 100% rename from accounts/doctype/tds_rate_chart/tds_rate_chart.txt rename to erpnext/accounts/doctype/tds_rate_chart/tds_rate_chart.txt diff --git a/accounts/page/accounts_browser/__init__.py b/erpnext/accounts/doctype/tds_rate_detail/__init__.py similarity index 100% rename from accounts/page/accounts_browser/__init__.py rename to erpnext/accounts/doctype/tds_rate_detail/__init__.py diff --git a/accounts/doctype/tds_rate_detail/tds_rate_detail.txt b/erpnext/accounts/doctype/tds_rate_detail/tds_rate_detail.txt similarity index 100% rename from accounts/doctype/tds_rate_detail/tds_rate_detail.txt rename to erpnext/accounts/doctype/tds_rate_detail/tds_rate_detail.txt diff --git a/accounts/page/financial_statements/__init__.py b/erpnext/accounts/doctype/tds_return_acknowledgement/__init__.py similarity index 100% rename from accounts/page/financial_statements/__init__.py rename to erpnext/accounts/doctype/tds_return_acknowledgement/__init__.py diff --git a/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js b/erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js similarity index 100% rename from accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js rename to erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js diff --git a/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt b/erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt similarity index 100% rename from accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt rename to erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt diff --git a/accounts/search_criteria/__init__.py b/erpnext/accounts/page/__init__.py similarity index 100% rename from accounts/search_criteria/__init__.py rename to erpnext/accounts/page/__init__.py diff --git a/accounts/search_criteria/accounts_payable/__init__.py b/erpnext/accounts/page/accounts_browser/__init__.py similarity index 100% rename from accounts/search_criteria/accounts_payable/__init__.py rename to erpnext/accounts/page/accounts_browser/__init__.py diff --git a/accounts/page/accounts_browser/accounts_browser.css b/erpnext/accounts/page/accounts_browser/accounts_browser.css similarity index 100% rename from accounts/page/accounts_browser/accounts_browser.css rename to erpnext/accounts/page/accounts_browser/accounts_browser.css diff --git a/accounts/page/accounts_browser/accounts_browser.html b/erpnext/accounts/page/accounts_browser/accounts_browser.html similarity index 100% rename from accounts/page/accounts_browser/accounts_browser.html rename to erpnext/accounts/page/accounts_browser/accounts_browser.html diff --git a/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js similarity index 100% rename from accounts/page/accounts_browser/accounts_browser.js rename to erpnext/accounts/page/accounts_browser/accounts_browser.js diff --git a/accounts/page/accounts_browser/accounts_browser.txt b/erpnext/accounts/page/accounts_browser/accounts_browser.txt similarity index 100% rename from accounts/page/accounts_browser/accounts_browser.txt rename to erpnext/accounts/page/accounts_browser/accounts_browser.txt diff --git a/accounts/search_criteria/accounts_receivable/__init__.py b/erpnext/accounts/page/financial_statements/__init__.py similarity index 100% rename from accounts/search_criteria/accounts_receivable/__init__.py rename to erpnext/accounts/page/financial_statements/__init__.py diff --git a/accounts/page/financial_statements/financial_statements.html b/erpnext/accounts/page/financial_statements/financial_statements.html similarity index 100% rename from accounts/page/financial_statements/financial_statements.html rename to erpnext/accounts/page/financial_statements/financial_statements.html diff --git a/accounts/page/financial_statements/financial_statements.js b/erpnext/accounts/page/financial_statements/financial_statements.js similarity index 100% rename from accounts/page/financial_statements/financial_statements.js rename to erpnext/accounts/page/financial_statements/financial_statements.js diff --git a/accounts/page/financial_statements/financial_statements.txt b/erpnext/accounts/page/financial_statements/financial_statements.txt similarity index 100% rename from accounts/page/financial_statements/financial_statements.txt rename to erpnext/accounts/page/financial_statements/financial_statements.txt diff --git a/accounts/search_criteria/bank_clearance_report/__init__.py b/erpnext/accounts/search_criteria/__init__.py similarity index 100% rename from accounts/search_criteria/bank_clearance_report/__init__.py rename to erpnext/accounts/search_criteria/__init__.py diff --git a/accounts/search_criteria/bank_reconciliation_statement/__init__.py b/erpnext/accounts/search_criteria/accounts_payable/__init__.py similarity index 100% rename from accounts/search_criteria/bank_reconciliation_statement/__init__.py rename to erpnext/accounts/search_criteria/accounts_payable/__init__.py diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.js b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.js similarity index 100% rename from accounts/search_criteria/accounts_payable/accounts_payable.js rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.js diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.py b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.py similarity index 100% rename from accounts/search_criteria/accounts_payable/accounts_payable.py rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.py diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.sql b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.sql similarity index 100% rename from accounts/search_criteria/accounts_payable/accounts_payable.sql rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.sql diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.txt b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt similarity index 100% rename from accounts/search_criteria/accounts_payable/accounts_payable.txt rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt diff --git a/accounts/search_criteria/budget_variance_report/__init__.py b/erpnext/accounts/search_criteria/accounts_receivable/__init__.py similarity index 100% rename from accounts/search_criteria/budget_variance_report/__init__.py rename to erpnext/accounts/search_criteria/accounts_receivable/__init__.py diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.js b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.js similarity index 100% rename from accounts/search_criteria/accounts_receivable/accounts_receivable.js rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.js diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.py b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.py similarity index 100% rename from accounts/search_criteria/accounts_receivable/accounts_receivable.py rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.py diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.sql b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.sql similarity index 100% rename from accounts/search_criteria/accounts_receivable/accounts_receivable.sql rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.sql diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.txt b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt similarity index 100% rename from accounts/search_criteria/accounts_receivable/accounts_receivable.txt rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt diff --git a/accounts/search_criteria/business_associate_commission_report/__init__.py b/erpnext/accounts/search_criteria/bank_clearance_report/__init__.py similarity index 100% rename from accounts/search_criteria/business_associate_commission_report/__init__.py rename to erpnext/accounts/search_criteria/bank_clearance_report/__init__.py diff --git a/accounts/search_criteria/bank_clearance_report/bank_clearance_report.js b/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.js similarity index 100% rename from accounts/search_criteria/bank_clearance_report/bank_clearance_report.js rename to erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.js diff --git a/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt b/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt similarity index 100% rename from accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt rename to erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt diff --git a/accounts/search_criteria/cash_flow_statement/__init__.py b/erpnext/accounts/search_criteria/bank_reconciliation_statement/__init__.py similarity index 100% rename from accounts/search_criteria/cash_flow_statement/__init__.py rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/__init__.py diff --git a/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js similarity index 100% rename from accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js diff --git a/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py similarity index 100% rename from accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py diff --git a/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt similarity index 100% rename from accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py b/erpnext/accounts/search_criteria/budget_variance_report/__init__.py similarity index 100% rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py rename to erpnext/accounts/search_criteria/budget_variance_report/__init__.py diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.js b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.js similarity index 100% rename from accounts/search_criteria/budget_variance_report/budget_variance_report.js rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.js diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.py b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.py similarity index 100% rename from accounts/search_criteria/budget_variance_report/budget_variance_report.py rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.py diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.sql b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.sql similarity index 100% rename from accounts/search_criteria/budget_variance_report/budget_variance_report.sql rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.sql diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.txt b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt similarity index 100% rename from accounts/search_criteria/budget_variance_report/budget_variance_report.txt rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt diff --git a/accounts/search_criteria/collection_report/__init__.py b/erpnext/accounts/search_criteria/business_associate_commission_report/__init__.py similarity index 100% rename from accounts/search_criteria/collection_report/__init__.py rename to erpnext/accounts/search_criteria/business_associate_commission_report/__init__.py diff --git a/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js similarity index 100% rename from accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js rename to erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js diff --git a/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py similarity index 100% rename from accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py rename to erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py diff --git a/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt similarity index 100% rename from accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt rename to erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt diff --git a/accounts/search_criteria/cost_center_wise_expense/__init__.py b/erpnext/accounts/search_criteria/cash_flow_statement/__init__.py similarity index 100% rename from accounts/search_criteria/cost_center_wise_expense/__init__.py rename to erpnext/accounts/search_criteria/cash_flow_statement/__init__.py diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.js b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.js similarity index 100% rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.js rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.js diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.py b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.py similarity index 100% rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.py rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.py diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql similarity index 100% rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt similarity index 100% rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt diff --git a/accounts/search_criteria/creditors_ledger/__init__.py b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py similarity index 100% rename from accounts/search_criteria/creditors_ledger/__init__.py rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js similarity index 100% rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py similarity index 100% rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql similarity index 100% rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt similarity index 100% rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt diff --git a/accounts/search_criteria/debtors_ledger/__init__.py b/erpnext/accounts/search_criteria/collection_report/__init__.py similarity index 100% rename from accounts/search_criteria/debtors_ledger/__init__.py rename to erpnext/accounts/search_criteria/collection_report/__init__.py diff --git a/accounts/search_criteria/collection_report/collection_report.js b/erpnext/accounts/search_criteria/collection_report/collection_report.js similarity index 100% rename from accounts/search_criteria/collection_report/collection_report.js rename to erpnext/accounts/search_criteria/collection_report/collection_report.js diff --git a/accounts/search_criteria/collection_report/collection_report.py b/erpnext/accounts/search_criteria/collection_report/collection_report.py similarity index 100% rename from accounts/search_criteria/collection_report/collection_report.py rename to erpnext/accounts/search_criteria/collection_report/collection_report.py diff --git a/accounts/search_criteria/collection_report/collection_report.sql b/erpnext/accounts/search_criteria/collection_report/collection_report.sql similarity index 100% rename from accounts/search_criteria/collection_report/collection_report.sql rename to erpnext/accounts/search_criteria/collection_report/collection_report.sql diff --git a/accounts/search_criteria/collection_report/collection_report.txt b/erpnext/accounts/search_criteria/collection_report/collection_report.txt similarity index 100% rename from accounts/search_criteria/collection_report/collection_report.txt rename to erpnext/accounts/search_criteria/collection_report/collection_report.txt diff --git a/accounts/search_criteria/general_ledger/__init__.py b/erpnext/accounts/search_criteria/cost_center_wise_expense/__init__.py similarity index 100% rename from accounts/search_criteria/general_ledger/__init__.py rename to erpnext/accounts/search_criteria/cost_center_wise_expense/__init__.py diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js similarity index 100% rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py similarity index 100% rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql similarity index 100% rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt similarity index 100% rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt diff --git a/accounts/search_criteria/itemwise_purchase_register/__init__.py b/erpnext/accounts/search_criteria/creditors_ledger/__init__.py similarity index 100% rename from accounts/search_criteria/itemwise_purchase_register/__init__.py rename to erpnext/accounts/search_criteria/creditors_ledger/__init__.py diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.js b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.js similarity index 100% rename from accounts/search_criteria/creditors_ledger/creditors_ledger.js rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.js diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.py b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.py similarity index 100% rename from accounts/search_criteria/creditors_ledger/creditors_ledger.py rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.py diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.sql b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.sql similarity index 100% rename from accounts/search_criteria/creditors_ledger/creditors_ledger.sql rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.sql diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.txt b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt similarity index 100% rename from accounts/search_criteria/creditors_ledger/creditors_ledger.txt rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt diff --git a/accounts/search_criteria/itemwise_sales_register/__init__.py b/erpnext/accounts/search_criteria/debtors_ledger/__init__.py similarity index 100% rename from accounts/search_criteria/itemwise_sales_register/__init__.py rename to erpnext/accounts/search_criteria/debtors_ledger/__init__.py diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.js b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.js similarity index 100% rename from accounts/search_criteria/debtors_ledger/debtors_ledger.js rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.js diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.py b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.py similarity index 100% rename from accounts/search_criteria/debtors_ledger/debtors_ledger.py rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.py diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.sql b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.sql similarity index 100% rename from accounts/search_criteria/debtors_ledger/debtors_ledger.sql rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.sql diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.txt b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt similarity index 100% rename from accounts/search_criteria/debtors_ledger/debtors_ledger.txt rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt diff --git a/accounts/search_criteria/lease_agreement_list/__init__.py b/erpnext/accounts/search_criteria/general_ledger/__init__.py similarity index 100% rename from accounts/search_criteria/lease_agreement_list/__init__.py rename to erpnext/accounts/search_criteria/general_ledger/__init__.py diff --git a/accounts/search_criteria/general_ledger/general_ledger.js b/erpnext/accounts/search_criteria/general_ledger/general_ledger.js similarity index 100% rename from accounts/search_criteria/general_ledger/general_ledger.js rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.js diff --git a/accounts/search_criteria/general_ledger/general_ledger.py b/erpnext/accounts/search_criteria/general_ledger/general_ledger.py similarity index 100% rename from accounts/search_criteria/general_ledger/general_ledger.py rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.py diff --git a/accounts/search_criteria/general_ledger/general_ledger.sql b/erpnext/accounts/search_criteria/general_ledger/general_ledger.sql similarity index 100% rename from accounts/search_criteria/general_ledger/general_ledger.sql rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.sql diff --git a/accounts/search_criteria/general_ledger/general_ledger.txt b/erpnext/accounts/search_criteria/general_ledger/general_ledger.txt similarity index 100% rename from accounts/search_criteria/general_ledger/general_ledger.txt rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.txt diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py b/erpnext/accounts/search_criteria/itemwise_purchase_register/__init__.py similarity index 100% rename from accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py rename to erpnext/accounts/search_criteria/itemwise_purchase_register/__init__.py diff --git a/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js b/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js similarity index 100% rename from accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js rename to erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js diff --git a/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt b/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt similarity index 100% rename from accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt rename to erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt diff --git a/accounts/search_criteria/lease_over_due_list/__init__.py b/erpnext/accounts/search_criteria/itemwise_sales_register/__init__.py similarity index 100% rename from accounts/search_criteria/lease_over_due_list/__init__.py rename to erpnext/accounts/search_criteria/itemwise_sales_register/__init__.py diff --git a/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js b/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js similarity index 100% rename from accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js rename to erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js diff --git a/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt b/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt similarity index 100% rename from accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt rename to erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt diff --git a/accounts/search_criteria/lease_overdue_age_wise/__init__.py b/erpnext/accounts/search_criteria/lease_agreement_list/__init__.py similarity index 100% rename from accounts/search_criteria/lease_overdue_age_wise/__init__.py rename to erpnext/accounts/search_criteria/lease_agreement_list/__init__.py diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.js b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.js similarity index 100% rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.js rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.js diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.py b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.py similarity index 100% rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.py rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.py diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql similarity index 100% rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt similarity index 92% rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt index f47c6095fd7..5e84916ffd5 100644 --- a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt +++ b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-08-29 13:45:35', + 'creation': '2011-07-27 16:17:04', 'docstatus': 0, - 'modified': '2011-08-29 13:45:35', + 'modified': '2011-07-27 16:17:04', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -27,4 +27,4 @@ 'doctype': 'Search Criteria', 'name': 'lease_agreement_list' } -] \ No newline at end of file +] diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py similarity index 100% rename from accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js similarity index 100% rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py similarity index 100% rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql similarity index 100% rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt similarity index 100% rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt diff --git a/accounts/search_criteria/lease_receipts_client_wise/__init__.py b/erpnext/accounts/search_criteria/lease_over_due_list/__init__.py similarity index 100% rename from accounts/search_criteria/lease_receipts_client_wise/__init__.py rename to erpnext/accounts/search_criteria/lease_over_due_list/__init__.py diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.js b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.js similarity index 100% rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.js rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.js diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.py b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.py similarity index 100% rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.py rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.py diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql similarity index 100% rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt similarity index 100% rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py b/erpnext/accounts/search_criteria/lease_overdue_age_wise/__init__.py similarity index 100% rename from accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/__init__.py diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js similarity index 100% rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py similarity index 100% rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql similarity index 100% rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt similarity index 100% rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt diff --git a/accounts/search_criteria/monthly_ledger_summary_report/__init__.py b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py similarity index 100% rename from accounts/search_criteria/monthly_ledger_summary_report/__init__.py rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js similarity index 100% rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py similarity index 100% rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql similarity index 100% rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt similarity index 93% rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt index 6e1b266ea52..e6da15c2704 100644 --- a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt +++ b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-27 18:48:29', + 'creation': '2011-07-27 16:17:04', 'docstatus': 0, - 'modified': '2011-07-28 12:56:35', + 'modified': '2011-07-27 16:17:04', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -27,4 +27,4 @@ 'doctype': 'Search Criteria', 'name': 'lease_receipt_summary_month_wise' } -] \ No newline at end of file +] diff --git a/accounts/search_criteria/payment_receipt_report/__init__.py b/erpnext/accounts/search_criteria/lease_receipts_client_wise/__init__.py similarity index 100% rename from accounts/search_criteria/payment_receipt_report/__init__.py rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/__init__.py diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js similarity index 100% rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py similarity index 100% rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql similarity index 100% rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt similarity index 99% rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt index b155b39a6a5..71c9b0ead78 100644 --- a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt +++ b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt @@ -28,4 +28,4 @@ 'doctype': 'Search Criteria', 'name': 'lease_receipts_client_wise' } -] \ No newline at end of file +] diff --git a/accounts/search_criteria/payment_report/__init__.py b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py similarity index 100% rename from accounts/search_criteria/payment_report/__init__.py rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js similarity index 100% rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py similarity index 100% rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql similarity index 100% rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt similarity index 100% rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt diff --git a/accounts/search_criteria/progressive_total_excise_duty/__init__.py b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/__init__.py similarity index 100% rename from accounts/search_criteria/progressive_total_excise_duty/__init__.py rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/__init__.py diff --git a/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js similarity index 100% rename from accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js diff --git a/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py similarity index 100% rename from accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py diff --git a/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt similarity index 100% rename from accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt diff --git a/accounts/search_criteria/purchase_register/__init__.py b/erpnext/accounts/search_criteria/payment_receipt_report/__init__.py similarity index 100% rename from accounts/search_criteria/purchase_register/__init__.py rename to erpnext/accounts/search_criteria/payment_receipt_report/__init__.py diff --git a/accounts/search_criteria/payment_receipt_report/payment_receipt_report.py b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.py similarity index 100% rename from accounts/search_criteria/payment_receipt_report/payment_receipt_report.py rename to erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.py diff --git a/accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql similarity index 100% rename from accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql rename to erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql diff --git a/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt similarity index 100% rename from accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt rename to erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt diff --git a/accounts/search_criteria/sales_register/__init__.py b/erpnext/accounts/search_criteria/payment_report/__init__.py similarity index 100% rename from accounts/search_criteria/sales_register/__init__.py rename to erpnext/accounts/search_criteria/payment_report/__init__.py diff --git a/accounts/search_criteria/payment_report/payment_report.js b/erpnext/accounts/search_criteria/payment_report/payment_report.js similarity index 100% rename from accounts/search_criteria/payment_report/payment_report.js rename to erpnext/accounts/search_criteria/payment_report/payment_report.js diff --git a/accounts/search_criteria/payment_report/payment_report.py b/erpnext/accounts/search_criteria/payment_report/payment_report.py similarity index 100% rename from accounts/search_criteria/payment_report/payment_report.py rename to erpnext/accounts/search_criteria/payment_report/payment_report.py diff --git a/accounts/search_criteria/payment_report/payment_report.sql b/erpnext/accounts/search_criteria/payment_report/payment_report.sql similarity index 100% rename from accounts/search_criteria/payment_report/payment_report.sql rename to erpnext/accounts/search_criteria/payment_report/payment_report.sql diff --git a/accounts/search_criteria/payment_report/payment_report.txt b/erpnext/accounts/search_criteria/payment_report/payment_report.txt similarity index 100% rename from accounts/search_criteria/payment_report/payment_report.txt rename to erpnext/accounts/search_criteria/payment_report/payment_report.txt diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/__init__.py b/erpnext/accounts/search_criteria/progressive_total_excise_duty/__init__.py similarity index 100% rename from accounts/search_criteria/service_tax_credit_account___inputs/__init__.py rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/__init__.py diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js similarity index 100% rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py similarity index 100% rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql similarity index 100% rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt similarity index 100% rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt diff --git a/accounts/search_criteria/tds_return/__init__.py b/erpnext/accounts/search_criteria/purchase_register/__init__.py similarity index 100% rename from accounts/search_criteria/tds_return/__init__.py rename to erpnext/accounts/search_criteria/purchase_register/__init__.py diff --git a/accounts/search_criteria/purchase_register/purchase_register.py b/erpnext/accounts/search_criteria/purchase_register/purchase_register.py similarity index 100% rename from accounts/search_criteria/purchase_register/purchase_register.py rename to erpnext/accounts/search_criteria/purchase_register/purchase_register.py diff --git a/accounts/search_criteria/purchase_register/purchase_register.txt b/erpnext/accounts/search_criteria/purchase_register/purchase_register.txt similarity index 100% rename from accounts/search_criteria/purchase_register/purchase_register.txt rename to erpnext/accounts/search_criteria/purchase_register/purchase_register.txt diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py b/erpnext/accounts/search_criteria/sales_register/__init__.py similarity index 100% rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py rename to erpnext/accounts/search_criteria/sales_register/__init__.py diff --git a/accounts/search_criteria/sales_register/sales_register.js b/erpnext/accounts/search_criteria/sales_register/sales_register.js similarity index 100% rename from accounts/search_criteria/sales_register/sales_register.js rename to erpnext/accounts/search_criteria/sales_register/sales_register.js diff --git a/accounts/search_criteria/sales_register/sales_register.py b/erpnext/accounts/search_criteria/sales_register/sales_register.py similarity index 100% rename from accounts/search_criteria/sales_register/sales_register.py rename to erpnext/accounts/search_criteria/sales_register/sales_register.py diff --git a/accounts/search_criteria/sales_register/sales_register.txt b/erpnext/accounts/search_criteria/sales_register/sales_register.txt similarity index 100% rename from accounts/search_criteria/sales_register/sales_register.txt rename to erpnext/accounts/search_criteria/sales_register/sales_register.txt diff --git a/accounts/search_criteria/trial_balance/__init__.py b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/__init__.py similarity index 100% rename from accounts/search_criteria/trial_balance/__init__.py rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/__init__.py diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js similarity index 100% rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py similarity index 100% rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql similarity index 100% rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt similarity index 100% rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt diff --git a/accounts/search_criteria/voucher_wise_tax_details/__init__.py b/erpnext/accounts/search_criteria/tds_return/__init__.py similarity index 100% rename from accounts/search_criteria/voucher_wise_tax_details/__init__.py rename to erpnext/accounts/search_criteria/tds_return/__init__.py diff --git a/accounts/search_criteria/tds_return/tds_return.js b/erpnext/accounts/search_criteria/tds_return/tds_return.js similarity index 100% rename from accounts/search_criteria/tds_return/tds_return.js rename to erpnext/accounts/search_criteria/tds_return/tds_return.js diff --git a/accounts/search_criteria/tds_return/tds_return.py b/erpnext/accounts/search_criteria/tds_return/tds_return.py similarity index 100% rename from accounts/search_criteria/tds_return/tds_return.py rename to erpnext/accounts/search_criteria/tds_return/tds_return.py diff --git a/accounts/search_criteria/tds_return/tds_return.sql b/erpnext/accounts/search_criteria/tds_return/tds_return.sql similarity index 100% rename from accounts/search_criteria/tds_return/tds_return.sql rename to erpnext/accounts/search_criteria/tds_return/tds_return.sql diff --git a/accounts/search_criteria/tds_return/tds_return.txt b/erpnext/accounts/search_criteria/tds_return/tds_return.txt similarity index 100% rename from accounts/search_criteria/tds_return/tds_return.txt rename to erpnext/accounts/search_criteria/tds_return/tds_return.txt diff --git a/analysis/__init__.py b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py similarity index 100% rename from analysis/__init__.py rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js similarity index 100% rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py similarity index 100% rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt similarity index 100% rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt diff --git a/analysis/doctype/__init__.py b/erpnext/accounts/search_criteria/trial_balance/__init__.py similarity index 100% rename from analysis/doctype/__init__.py rename to erpnext/accounts/search_criteria/trial_balance/__init__.py diff --git a/accounts/search_criteria/trial_balance/trial_balance.js b/erpnext/accounts/search_criteria/trial_balance/trial_balance.js similarity index 100% rename from accounts/search_criteria/trial_balance/trial_balance.js rename to erpnext/accounts/search_criteria/trial_balance/trial_balance.js diff --git a/accounts/search_criteria/trial_balance/trial_balance.py b/erpnext/accounts/search_criteria/trial_balance/trial_balance.py similarity index 100% rename from accounts/search_criteria/trial_balance/trial_balance.py rename to erpnext/accounts/search_criteria/trial_balance/trial_balance.py diff --git a/accounts/search_criteria/trial_balance/trial_balance.txt b/erpnext/accounts/search_criteria/trial_balance/trial_balance.txt similarity index 100% rename from accounts/search_criteria/trial_balance/trial_balance.txt rename to erpnext/accounts/search_criteria/trial_balance/trial_balance.txt diff --git a/analysis/doctype/mis_control/__init__.py b/erpnext/accounts/search_criteria/voucher_wise_tax_details/__init__.py similarity index 100% rename from analysis/doctype/mis_control/__init__.py rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/__init__.py diff --git a/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js similarity index 100% rename from accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js diff --git a/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py similarity index 100% rename from accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py diff --git a/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt similarity index 100% rename from accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt diff --git a/accounts/utils/__init__.py b/erpnext/accounts/utils/__init__.py similarity index 100% rename from accounts/utils/__init__.py rename to erpnext/accounts/utils/__init__.py diff --git a/analysis/Module Def/Analysis/Analysis.txt b/erpnext/analysis/Module Def/Analysis/Analysis.txt similarity index 100% rename from analysis/Module Def/Analysis/Analysis.txt rename to erpnext/analysis/Module Def/Analysis/Analysis.txt diff --git a/analysis/doctype/ta_control/__init__.py b/erpnext/analysis/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from analysis/doctype/ta_control/__init__.py rename to erpnext/analysis/__init__.py diff --git a/analysis/page/__init__.py b/erpnext/analysis/doctype/__init__.py similarity index 100% rename from analysis/page/__init__.py rename to erpnext/analysis/doctype/__init__.py diff --git a/analysis/search_criteria/__init__.py b/erpnext/analysis/doctype/mis_control/__init__.py similarity index 100% rename from analysis/search_criteria/__init__.py rename to erpnext/analysis/doctype/mis_control/__init__.py diff --git a/analysis/doctype/mis_control/mis_control.py b/erpnext/analysis/doctype/mis_control/mis_control.py similarity index 100% rename from analysis/doctype/mis_control/mis_control.py rename to erpnext/analysis/doctype/mis_control/mis_control.py diff --git a/analysis/doctype/mis_control/mis_control.txt b/erpnext/analysis/doctype/mis_control/mis_control.txt similarity index 100% rename from analysis/doctype/mis_control/mis_control.txt rename to erpnext/analysis/doctype/mis_control/mis_control.txt diff --git a/analysis/search_criteria/monthly_transaction_summary/__init__.py b/erpnext/analysis/doctype/ta_control/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from analysis/search_criteria/monthly_transaction_summary/__init__.py rename to erpnext/analysis/doctype/ta_control/__init__.py diff --git a/analysis/doctype/ta_control/ta_control.py b/erpnext/analysis/doctype/ta_control/ta_control.py similarity index 100% rename from analysis/doctype/ta_control/ta_control.py rename to erpnext/analysis/doctype/ta_control/ta_control.py diff --git a/analysis/doctype/ta_control/ta_control.txt b/erpnext/analysis/doctype/ta_control/ta_control.txt similarity index 100% rename from analysis/doctype/ta_control/ta_control.txt rename to erpnext/analysis/doctype/ta_control/ta_control.txt diff --git a/analysis/search_criteria/trend_analyzer/__init__.py b/erpnext/analysis/page/__init__.py similarity index 100% rename from analysis/search_criteria/trend_analyzer/__init__.py rename to erpnext/analysis/page/__init__.py diff --git a/analysis/search_criteria/yearly_transaction_summary/__init__.py b/erpnext/analysis/search_criteria/__init__.py similarity index 100% rename from analysis/search_criteria/yearly_transaction_summary/__init__.py rename to erpnext/analysis/search_criteria/__init__.py diff --git a/buying/__init__.py b/erpnext/analysis/search_criteria/monthly_transaction_summary/__init__.py similarity index 100% rename from buying/__init__.py rename to erpnext/analysis/search_criteria/monthly_transaction_summary/__init__.py diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js similarity index 100% rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py similarity index 100% rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql similarity index 100% rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt similarity index 100% rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt diff --git a/buying/doctype/__init__.py b/erpnext/analysis/search_criteria/trend_analyzer/__init__.py similarity index 100% rename from buying/doctype/__init__.py rename to erpnext/analysis/search_criteria/trend_analyzer/__init__.py diff --git a/analysis/search_criteria/trend_analyzer/trend_analyzer.js b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.js similarity index 100% rename from analysis/search_criteria/trend_analyzer/trend_analyzer.js rename to erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.js diff --git a/analysis/search_criteria/trend_analyzer/trend_analyzer.py b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.py similarity index 100% rename from analysis/search_criteria/trend_analyzer/trend_analyzer.py rename to erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.py diff --git a/analysis/search_criteria/trend_analyzer/trend_analyzer.txt b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt similarity index 100% rename from analysis/search_criteria/trend_analyzer/trend_analyzer.txt rename to erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt diff --git a/buying/doctype/indent/__init__.py b/erpnext/analysis/search_criteria/yearly_transaction_summary/__init__.py similarity index 100% rename from buying/doctype/indent/__init__.py rename to erpnext/analysis/search_criteria/yearly_transaction_summary/__init__.py diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js similarity index 100% rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py similarity index 100% rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql similarity index 100% rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt similarity index 100% rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt diff --git a/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt b/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt similarity index 98% rename from buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt rename to erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt index 30412182fd3..fe49f4901e8 100644 --- a/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt +++ b/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2009-12-30 16:55:33', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt b/erpnext/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt similarity index 96% rename from buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt rename to erpnext/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt index d32aeb63ce0..b4dafc9a2f7 100755 --- a/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt +++ b/erpnext/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-05-05 15:58:13', + 'creation': '2011-05-20 10:07:55', 'docstatus': 0, - 'modified': '2011-05-05 16:20:10', + 'modified': '2011-09-14 12:36:25', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/buying/Module Def/Buying/Buying.txt b/erpnext/buying/Module Def/Buying/Buying.txt similarity index 100% rename from buying/Module Def/Buying/Buying.txt rename to erpnext/buying/Module Def/Buying/Buying.txt diff --git a/buying/Role/Purchase Manager/Purchase Manager.txt b/erpnext/buying/Role/Purchase Manager/Purchase Manager.txt similarity index 100% rename from buying/Role/Purchase Manager/Purchase Manager.txt rename to erpnext/buying/Role/Purchase Manager/Purchase Manager.txt diff --git a/buying/Role/Purchase Master Manager/Purchase Master Manager.txt b/erpnext/buying/Role/Purchase Master Manager/Purchase Master Manager.txt similarity index 100% rename from buying/Role/Purchase Master Manager/Purchase Master Manager.txt rename to erpnext/buying/Role/Purchase Master Manager/Purchase Master Manager.txt diff --git a/buying/Role/Purchase User/Purchase User.txt b/erpnext/buying/Role/Purchase User/Purchase User.txt similarity index 100% rename from buying/Role/Purchase User/Purchase User.txt rename to erpnext/buying/Role/Purchase User/Purchase User.txt diff --git a/buying/Role/Supplier/Supplier.txt b/erpnext/buying/Role/Supplier/Supplier.txt similarity index 100% rename from buying/Role/Supplier/Supplier.txt rename to erpnext/buying/Role/Supplier/Supplier.txt diff --git a/buying/doctype/indent_detail/__init__.py b/erpnext/buying/__init__.py similarity index 100% rename from buying/doctype/indent_detail/__init__.py rename to erpnext/buying/__init__.py diff --git a/buying/doctype/po_detail/__init__.py b/erpnext/buying/doctype/__init__.py similarity index 100% rename from buying/doctype/po_detail/__init__.py rename to erpnext/buying/doctype/__init__.py diff --git a/buying/doctype/po_raw_material_detail/__init__.py b/erpnext/buying/doctype/indent/__init__.py similarity index 100% rename from buying/doctype/po_raw_material_detail/__init__.py rename to erpnext/buying/doctype/indent/__init__.py diff --git a/buying/doctype/indent/indent.js b/erpnext/buying/doctype/indent/indent.js similarity index 100% rename from buying/doctype/indent/indent.js rename to erpnext/buying/doctype/indent/indent.js diff --git a/buying/doctype/indent/indent.py b/erpnext/buying/doctype/indent/indent.py similarity index 100% rename from buying/doctype/indent/indent.py rename to erpnext/buying/doctype/indent/indent.py diff --git a/buying/doctype/indent/indent.txt b/erpnext/buying/doctype/indent/indent.txt similarity index 100% rename from buying/doctype/indent/indent.txt rename to erpnext/buying/doctype/indent/indent.txt diff --git a/buying/doctype/pr_raw_material_detail/__init__.py b/erpnext/buying/doctype/indent_detail/__init__.py similarity index 100% rename from buying/doctype/pr_raw_material_detail/__init__.py rename to erpnext/buying/doctype/indent_detail/__init__.py diff --git a/buying/doctype/indent_detail/indent_detail.txt b/erpnext/buying/doctype/indent_detail/indent_detail.txt similarity index 100% rename from buying/doctype/indent_detail/indent_detail.txt rename to erpnext/buying/doctype/indent_detail/indent_detail.txt diff --git a/buying/doctype/purchase_common/__init__.py b/erpnext/buying/doctype/po_detail/__init__.py similarity index 100% rename from buying/doctype/purchase_common/__init__.py rename to erpnext/buying/doctype/po_detail/__init__.py diff --git a/buying/doctype/po_detail/po_detail.txt b/erpnext/buying/doctype/po_detail/po_detail.txt similarity index 100% rename from buying/doctype/po_detail/po_detail.txt rename to erpnext/buying/doctype/po_detail/po_detail.txt diff --git a/buying/doctype/purchase_order/__init__.py b/erpnext/buying/doctype/po_raw_material_detail/__init__.py similarity index 100% rename from buying/doctype/purchase_order/__init__.py rename to erpnext/buying/doctype/po_raw_material_detail/__init__.py diff --git a/buying/doctype/po_raw_material_detail/po_raw_material_detail.txt b/erpnext/buying/doctype/po_raw_material_detail/po_raw_material_detail.txt similarity index 100% rename from buying/doctype/po_raw_material_detail/po_raw_material_detail.txt rename to erpnext/buying/doctype/po_raw_material_detail/po_raw_material_detail.txt diff --git a/buying/doctype/purchase_other_charges/__init__.py b/erpnext/buying/doctype/pr_raw_material_detail/__init__.py similarity index 100% rename from buying/doctype/purchase_other_charges/__init__.py rename to erpnext/buying/doctype/pr_raw_material_detail/__init__.py diff --git a/buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt b/erpnext/buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt similarity index 100% rename from buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt rename to erpnext/buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt diff --git a/buying/doctype/qa_inspection_report/__init__.py b/erpnext/buying/doctype/purchase_common/__init__.py similarity index 100% rename from buying/doctype/qa_inspection_report/__init__.py rename to erpnext/buying/doctype/purchase_common/__init__.py diff --git a/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js similarity index 100% rename from buying/doctype/purchase_common/purchase_common.js rename to erpnext/buying/doctype/purchase_common/purchase_common.js diff --git a/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py similarity index 100% rename from buying/doctype/purchase_common/purchase_common.py rename to erpnext/buying/doctype/purchase_common/purchase_common.py diff --git a/buying/doctype/purchase_common/purchase_common.txt b/erpnext/buying/doctype/purchase_common/purchase_common.txt similarity index 100% rename from buying/doctype/purchase_common/purchase_common.txt rename to erpnext/buying/doctype/purchase_common/purchase_common.txt diff --git a/buying/doctype/qa_specification_detail/__init__.py b/erpnext/buying/doctype/purchase_order/__init__.py similarity index 100% rename from buying/doctype/qa_specification_detail/__init__.py rename to erpnext/buying/doctype/purchase_order/__init__.py diff --git a/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js similarity index 100% rename from buying/doctype/purchase_order/purchase_order.js rename to erpnext/buying/doctype/purchase_order/purchase_order.js diff --git a/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py similarity index 100% rename from buying/doctype/purchase_order/purchase_order.py rename to erpnext/buying/doctype/purchase_order/purchase_order.py diff --git a/buying/doctype/purchase_order/purchase_order.txt b/erpnext/buying/doctype/purchase_order/purchase_order.txt similarity index 100% rename from buying/doctype/purchase_order/purchase_order.txt rename to erpnext/buying/doctype/purchase_order/purchase_order.txt diff --git a/buying/doctype/raw_materials_supplied/__init__.py b/erpnext/buying/doctype/purchase_other_charges/__init__.py similarity index 100% rename from buying/doctype/raw_materials_supplied/__init__.py rename to erpnext/buying/doctype/purchase_other_charges/__init__.py diff --git a/buying/doctype/purchase_other_charges/purchase_other_charges.js b/erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.js similarity index 100% rename from buying/doctype/purchase_other_charges/purchase_other_charges.js rename to erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.js diff --git a/buying/doctype/purchase_other_charges/purchase_other_charges.py b/erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.py similarity index 100% rename from buying/doctype/purchase_other_charges/purchase_other_charges.py rename to erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.py diff --git a/buying/doctype/purchase_other_charges/purchase_other_charges.txt b/erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.txt similarity index 100% rename from buying/doctype/purchase_other_charges/purchase_other_charges.txt rename to erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.txt diff --git a/buying/doctype/supplier/__init__.py b/erpnext/buying/doctype/qa_inspection_report/__init__.py similarity index 100% rename from buying/doctype/supplier/__init__.py rename to erpnext/buying/doctype/qa_inspection_report/__init__.py diff --git a/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js new file mode 100644 index 00000000000..a0ee1dcd6f0 --- /dev/null +++ b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js @@ -0,0 +1,44 @@ +cur_frm.cscript.item_code = function(doc, cdt, cdn) { + if (doc.item_code) + get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1); +} + +cur_frm.cscript.inspection_type = function(doc, cdt, cdn) { + if(doc.inspection_type == 'Incoming'){ + doc.delivery_note_no = ''; + hide_field('delivery_note_no'); + unhide_field('purchase_receipt_no'); + } + else if(doc.inspection_type == 'Outgoing'){ + doc.purchase_receipt_no = ''; + unhide_field('delivery_note_no'); + hide_field('purchase_receipt_no'); + + } + else { + doc.purchase_receipt_no = ''; + doc.delivery_note_no = ''; + hide_field('purchase_receipt_no'); + hide_field('delivery_note_no'); + } +} + +cur_frm.cscript.refresh = cur_frm.cscript.inspection_type; + +// item code based on GRN/DN +cur_frm.fields_dict['item_code'].get_query = function(doc, cdt, cdn) { + if (doc.purchase_receipt_no) + return 'SELECT item_code, item_name, description FROM `tabPurchase Receipt Detail` WHERE parent = "'+ doc.purchase_receipt_no +'" and docstatus != 2 AND item_code LIKE "%s" ORDER BY item_code ASC LIMIT 50'; + else if (doc.delivery_note_no) + return 'SELECT item_code, item_name, description FROM `tabDelivery Note Detail` WHERE parent = "'+ doc.delivery_note_no +'" and docstatus != 2 AND item_code LIKE "%s" ORDER BY item_code ASC LIMIT 50'; + else + return 'SELECT name, item_name, description FROM tabItem WHERE docstatus != 2 AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50'; +} + +// Serial No based on item_code +cur_frm.fields_dict['item_serial_no'].get_query = function(doc, cdt, cdn) { + if (doc.item_code) + return 'SELECT name, item_code, warehouse FROM `tabSerial No` WHERE docstatus != 2 AND item_code = "' + doc.item_code +'" AND status = "In Store" AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50'; + else + return 'SELECT name, item_code, warehouse FROM `tabSerial No` WHERE docstatus != 2 AND status = "In Store" AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50'; +} diff --git a/buying/doctype/qa_inspection_report/qa_inspection_report.py b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.py similarity index 100% rename from buying/doctype/qa_inspection_report/qa_inspection_report.py rename to erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.py diff --git a/buying/doctype/qa_inspection_report/qa_inspection_report.txt b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.txt similarity index 93% rename from buying/doctype/qa_inspection_report/qa_inspection_report.txt rename to erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.txt index 10890dc8461..de88e1621ee 100644 --- a/buying/doctype/qa_inspection_report/qa_inspection_report.txt +++ b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.txt @@ -5,14 +5,17 @@ { 'creation': '2010-08-08 17:09:17', 'docstatus': 0, - 'modified': '2011-04-08 10:53:33', + 'modified': '2011-10-06 10:22:41', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { + '_last_update': '1317365120', + 'autoname': 'QAI/.######', 'colour': 'White:FFF', + 'default_print_format': 'Standard', 'doctype': 'DocType', 'module': 'Buying', 'name': '__common__', @@ -21,7 +24,7 @@ 'section_style': 'Simple', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 37 + 'version': 38 }, # These values are common for all DocField @@ -56,7 +59,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 0, 'submit': 1, 'write': 1 @@ -65,7 +67,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 1 }, @@ -73,7 +74,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 1, 'label': 'QA Inspection', 'no_copy': 0, 'oldfieldtype': 'Section Break', @@ -84,7 +84,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 2, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'width': '50%' @@ -95,7 +94,6 @@ 'doctype': 'DocField', 'fieldname': 'naming_series', 'fieldtype': 'Select', - 'idx': 3, 'label': 'Naming Series', 'no_copy': 1, 'options': '\nQAI/11-12/', @@ -109,7 +107,6 @@ 'doctype': 'DocField', 'fieldname': 'inspection_type', 'fieldtype': 'Select', - 'idx': 4, 'in_filter': 1, 'label': 'Inspection Type', 'oldfieldname': 'inspection_type', @@ -125,7 +122,6 @@ 'doctype': 'DocField', 'fieldname': 'report_date', 'fieldtype': 'Date', - 'idx': 5, 'in_filter': 1, 'label': 'Report Date', 'oldfieldname': 'report_date', @@ -142,7 +138,6 @@ 'fieldname': 'item_code', 'fieldtype': 'Link', 'hidden': 0, - 'idx': 6, 'in_filter': 1, 'label': 'Item Code', 'oldfieldname': 'item_code', @@ -159,7 +154,6 @@ 'doctype': 'DocField', 'fieldname': 'sample_size', 'fieldtype': 'Currency', - 'idx': 7, 'in_filter': 0, 'label': 'Sample Size', 'oldfieldname': 'sample_size', @@ -174,7 +168,6 @@ 'doctype': 'DocField', 'fieldname': 'description', 'fieldtype': 'Small Text', - 'idx': 8, 'in_filter': 1, 'label': 'Description', 'oldfieldname': 'description', @@ -188,7 +181,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 9, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'width': '50%' @@ -200,14 +192,12 @@ 'fieldname': 'item_serial_no', 'fieldtype': 'Link', 'hidden': 0, - 'idx': 10, 'label': 'Item Serial No', 'oldfieldname': 'item_serial_no', 'oldfieldtype': 'Link', 'options': 'Serial No', 'permlevel': 0, - 'print_hide': 0, - 'search_index': 0 + 'print_hide': 0 }, # DocField @@ -215,13 +205,11 @@ 'doctype': 'DocField', 'fieldname': 'batch_no', 'fieldtype': 'Link', - 'idx': 11, 'label': 'Batch No', 'oldfieldname': 'batch_no', 'oldfieldtype': 'Link', 'options': 'Batch', - 'permlevel': 0, - 'search_index': 0 + 'permlevel': 0 }, # DocField @@ -231,7 +219,6 @@ 'fieldname': 'purchase_receipt_no', 'fieldtype': 'Link', 'hidden': 0, - 'idx': 12, 'in_filter': 1, 'label': 'Purchase Receipt No', 'oldfieldname': 'purchase_receipt_no', @@ -249,7 +236,6 @@ 'fieldname': 'delivery_note_no', 'fieldtype': 'Link', 'hidden': 0, - 'idx': 13, 'in_filter': 1, 'label': 'Delivery Note No', 'oldfieldname': 'delivery_note_no', @@ -257,7 +243,7 @@ 'options': 'Delivery Note', 'permlevel': 0, 'print_hide': 0, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -265,7 +251,6 @@ 'doctype': 'DocField', 'fieldname': 'inspected_by', 'fieldtype': 'Data', - 'idx': 14, 'label': 'Inspected By', 'oldfieldname': 'inspected_by', 'oldfieldtype': 'Data', @@ -278,7 +263,6 @@ 'doctype': 'DocField', 'fieldname': 'remarks', 'fieldtype': 'Text', - 'idx': 15, 'label': 'Remarks', 'no_copy': 1, 'oldfieldname': 'remarks', @@ -291,7 +275,6 @@ 'doctype': 'DocField', 'fieldname': 'verified_by', 'fieldtype': 'Data', - 'idx': 16, 'label': 'Verified By', 'oldfieldname': 'verified_by', 'oldfieldtype': 'Data', @@ -303,8 +286,8 @@ 'doctype': 'DocField', 'fieldname': 'amended_from', 'fieldtype': 'Data', - 'idx': 17, 'label': 'Amended From', + 'no_copy': 1, 'oldfieldname': 'amended_from', 'oldfieldtype': 'Data', 'permlevel': 1, @@ -316,8 +299,8 @@ 'doctype': 'DocField', 'fieldname': 'amendment_date', 'fieldtype': 'Date', - 'idx': 18, 'label': 'Amendment Date', + 'no_copy': 1, 'oldfieldname': 'amendment_date', 'oldfieldtype': 'Date', 'permlevel': 1, @@ -328,7 +311,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 19, 'label': 'Specification Details', 'oldfieldtype': 'Section Break', 'options': 'Simple', @@ -339,9 +321,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 20, 'label': 'Get Specification Details', - 'oldfieldtype': 'Button', 'options': 'get_item_specification_details', 'permlevel': 0 }, @@ -351,7 +331,6 @@ 'doctype': 'DocField', 'fieldname': 'qa_specification_details', 'fieldtype': 'Table', - 'idx': 21, 'label': 'QA Specification Details', 'oldfieldname': 'qa_specification_details', 'oldfieldtype': 'Table', diff --git a/buying/doctype/supplier_quotation/__init__.py b/erpnext/buying/doctype/qa_specification_detail/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from buying/doctype/supplier_quotation/__init__.py rename to erpnext/buying/doctype/qa_specification_detail/__init__.py diff --git a/buying/doctype/qa_specification_detail/qa_specification_detail.txt b/erpnext/buying/doctype/qa_specification_detail/qa_specification_detail.txt similarity index 100% rename from buying/doctype/qa_specification_detail/qa_specification_detail.txt rename to erpnext/buying/doctype/qa_specification_detail/qa_specification_detail.txt diff --git a/buying/page/__init__.py b/erpnext/buying/doctype/raw_materials_supplied/__init__.py similarity index 100% rename from buying/page/__init__.py rename to erpnext/buying/doctype/raw_materials_supplied/__init__.py diff --git a/buying/doctype/raw_materials_supplied/raw_materials_supplied.txt b/erpnext/buying/doctype/raw_materials_supplied/raw_materials_supplied.txt similarity index 100% rename from buying/doctype/raw_materials_supplied/raw_materials_supplied.txt rename to erpnext/buying/doctype/raw_materials_supplied/raw_materials_supplied.txt diff --git a/buying/search_criteria/__init__.py b/erpnext/buying/doctype/supplier/__init__.py similarity index 100% rename from buying/search_criteria/__init__.py rename to erpnext/buying/doctype/supplier/__init__.py diff --git a/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js similarity index 100% rename from buying/doctype/supplier/supplier.js rename to erpnext/buying/doctype/supplier/supplier.js diff --git a/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py similarity index 100% rename from buying/doctype/supplier/supplier.py rename to erpnext/buying/doctype/supplier/supplier.py diff --git a/buying/doctype/supplier/supplier.txt b/erpnext/buying/doctype/supplier/supplier.txt similarity index 100% rename from buying/doctype/supplier/supplier.txt rename to erpnext/buying/doctype/supplier/supplier.txt diff --git a/buying/search_criteria/itemwise_purchase_details/__init__.py b/erpnext/buying/doctype/supplier_quotation/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from buying/search_criteria/itemwise_purchase_details/__init__.py rename to erpnext/buying/doctype/supplier_quotation/__init__.py diff --git a/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js similarity index 100% rename from buying/doctype/supplier_quotation/supplier_quotation.js rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.js diff --git a/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py similarity index 100% rename from buying/doctype/supplier_quotation/supplier_quotation.py rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.py diff --git a/buying/doctype/supplier_quotation/supplier_quotation.txt b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt similarity index 100% rename from buying/doctype/supplier_quotation/supplier_quotation.txt rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt diff --git a/buying/search_criteria/itemwise_receipt_details/__init__.py b/erpnext/buying/page/__init__.py similarity index 100% rename from buying/search_criteria/itemwise_receipt_details/__init__.py rename to erpnext/buying/page/__init__.py diff --git a/buying/search_criteria/pending_po_items_to_bill/__init__.py b/erpnext/buying/search_criteria/__init__.py similarity index 100% rename from buying/search_criteria/pending_po_items_to_bill/__init__.py rename to erpnext/buying/search_criteria/__init__.py diff --git a/buying/search_criteria/pending_po_items_to_receive/__init__.py b/erpnext/buying/search_criteria/itemwise_purchase_details/__init__.py similarity index 100% rename from buying/search_criteria/pending_po_items_to_receive/__init__.py rename to erpnext/buying/search_criteria/itemwise_purchase_details/__init__.py diff --git a/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js similarity index 100% rename from buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js rename to erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js diff --git a/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt similarity index 100% rename from buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt rename to erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt diff --git a/buying/search_criteria/purchase_in_transit/__init__.py b/erpnext/buying/search_criteria/itemwise_receipt_details/__init__.py similarity index 100% rename from buying/search_criteria/purchase_in_transit/__init__.py rename to erpnext/buying/search_criteria/itemwise_receipt_details/__init__.py diff --git a/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js b/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js similarity index 100% rename from buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js rename to erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js diff --git a/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt b/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt similarity index 100% rename from buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt rename to erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt diff --git a/home/doctype/__init__.py b/erpnext/buying/search_criteria/pending_po_items_to_bill/__init__.py similarity index 100% rename from home/doctype/__init__.py rename to erpnext/buying/search_criteria/pending_po_items_to_bill/__init__.py diff --git a/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js b/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js similarity index 100% rename from buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js rename to erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js diff --git a/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt b/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt similarity index 100% rename from buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt rename to erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt diff --git a/home/doctype/company_control/__init__.py b/erpnext/buying/search_criteria/pending_po_items_to_receive/__init__.py similarity index 100% rename from home/doctype/company_control/__init__.py rename to erpnext/buying/search_criteria/pending_po_items_to_receive/__init__.py diff --git a/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js similarity index 100% rename from buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js rename to erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js diff --git a/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py similarity index 100% rename from buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py rename to erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py diff --git a/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt similarity index 100% rename from buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt rename to erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt diff --git a/home/doctype/feed/__init__.py b/erpnext/buying/search_criteria/purchase_in_transit/__init__.py similarity index 100% rename from home/doctype/feed/__init__.py rename to erpnext/buying/search_criteria/purchase_in_transit/__init__.py diff --git a/buying/search_criteria/purchase_in_transit/purchase_in_transit.js b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.js similarity index 100% rename from buying/search_criteria/purchase_in_transit/purchase_in_transit.js rename to erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.js diff --git a/buying/search_criteria/purchase_in_transit/purchase_in_transit.py b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.py similarity index 100% rename from buying/search_criteria/purchase_in_transit/purchase_in_transit.py rename to erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.py diff --git a/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt similarity index 100% rename from buying/search_criteria/purchase_in_transit/purchase_in_transit.txt rename to erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt diff --git a/erpnext_version.py b/erpnext/erpnext_version.py similarity index 100% rename from erpnext_version.py rename to erpnext/erpnext_version.py diff --git a/home/Module Def/Home/Home.txt b/erpnext/home/Module Def/Home/Home.txt similarity index 100% rename from home/Module Def/Home/Home.txt rename to erpnext/home/Module Def/Home/Home.txt diff --git a/home/__init__.py b/erpnext/home/__init__.py similarity index 100% rename from home/__init__.py rename to erpnext/home/__init__.py diff --git a/home/doctype/home_control/__init__.py b/erpnext/home/doctype/__init__.py similarity index 100% rename from home/doctype/home_control/__init__.py rename to erpnext/home/doctype/__init__.py diff --git a/home/doctype/widget_control/__init__.py b/erpnext/home/doctype/company_control/__init__.py similarity index 100% rename from home/doctype/widget_control/__init__.py rename to erpnext/home/doctype/company_control/__init__.py diff --git a/home/doctype/company_control/company_control.py b/erpnext/home/doctype/company_control/company_control.py similarity index 96% rename from home/doctype/company_control/company_control.py rename to erpnext/home/doctype/company_control/company_control.py index 246b07e7361..9c055a706a5 100644 --- a/home/doctype/company_control/company_control.py +++ b/erpnext/home/doctype/company_control/company_control.py @@ -72,10 +72,6 @@ class DocType: p.fields[k] = arg[k] p.save() - def update_profile_image(self, fid, fname): - sql("update tabProfile set file_list = '%s,%s' where name='%s'" % (fname, fid, session['user'])) - - def get_login_url(self): return session['data']['login_from'] diff --git a/home/doctype/company_control/company_control.txt b/erpnext/home/doctype/company_control/company_control.txt similarity index 100% rename from home/doctype/company_control/company_control.txt rename to erpnext/home/doctype/company_control/company_control.txt diff --git a/home/page/__init__.py b/erpnext/home/doctype/feed/__init__.py similarity index 100% rename from home/page/__init__.py rename to erpnext/home/doctype/feed/__init__.py diff --git a/home/doctype/feed/feed.py b/erpnext/home/doctype/feed/feed.py similarity index 100% rename from home/doctype/feed/feed.py rename to erpnext/home/doctype/feed/feed.py diff --git a/home/doctype/feed/feed.txt b/erpnext/home/doctype/feed/feed.txt similarity index 100% rename from home/doctype/feed/feed.txt rename to erpnext/home/doctype/feed/feed.txt diff --git a/home/page/dashboard/__init__.py b/erpnext/home/doctype/home_control/__init__.py similarity index 100% rename from home/page/dashboard/__init__.py rename to erpnext/home/doctype/home_control/__init__.py diff --git a/home/doctype/home_control/home_control.js b/erpnext/home/doctype/home_control/home_control.js similarity index 100% rename from home/doctype/home_control/home_control.js rename to erpnext/home/doctype/home_control/home_control.js diff --git a/home/doctype/home_control/home_control.py b/erpnext/home/doctype/home_control/home_control.py similarity index 91% rename from home/doctype/home_control/home_control.py rename to erpnext/home/doctype/home_control/home_control.py index 1f58a5e2361..8242e744315 100644 --- a/home/doctype/home_control/home_control.py +++ b/erpnext/home/doctype/home_control/home_control.py @@ -33,9 +33,6 @@ class DocType: ml = sql("select distinct t1.name, t1.module_icon, t1.module_label, t1.module_desc, t1.module_page from `tabModule Def` t1, `tabModule Def Role` t2 where t2.role in ('%s') and t1.disabled !='Yes' and ifnull(t1.is_hidden, 'No') != 'Yes' and t1.name = t2.parent order by t1.module_seq asc" % "','".join(rl), as_dict=1) return ml - def get_login_url(self): - return session['data'].get('login_from', '') - def get_module_details(self,m): ret = {} ret['il'] = sql('select doc_type, doc_name, display_name, icon, description, fields, click_function, idx from `tabModule Def Item` where parent=%s and ifnull(`hide`,0)=0 order by idx asc', m, as_dict=1) @@ -50,6 +47,9 @@ class DocType: AND t2.read=1 AND t2.role IN ("%s") AND ifnull(standard,"No")="No"''' % (m, '", "'.join(webnotes.user.get_roles())), as_dict=1) + + ret['login_url'] = session['data'].get('login_from', '') + return ret # ---------------------------------------------------------------------------------------------------------------- @@ -121,24 +121,6 @@ class DocType: def get_dt_help(self,dt): return sql("select description from tabDocType where name=%s",dt)[0][0] or '' - - # ---------------------------------------------------------------------------------------- - def welcome_done(self): - if cint(get_defaults().get('welcome_done')): - return 'Yes' - else: - return 'No' - - def set_welcome_done(self): - set_default('welcome_done', '1') - - # Check Complete Registration - # ---------------------- - def registration_complete(self): - if cint(get_defaults().get('registration_complete')): - return 'Yes' - else: - return 'No' # get dashboard counts # -------------------- @@ -235,24 +217,6 @@ class DocType: # ------------------------------------------------------------------------------------------------------- - def get_status_details(self, arg=''): - # no of users online - count = sql("select count(distinct user) from tabSessions t2 where user not in ('Guest','Administrator') and TIMESTAMPDIFF(HOUR,t2.lastupdate,NOW()) <= 1") - - # unread messages - unread = sql("select count(t1.name) from `tabMail` t1, `tabMail Participant Details` t2 where t2.participant_name = '%s' and t2.parent = t1.name and (t2.read_status = 'No' or t2.read_status is NULL) and (t2.delete_status = 'No' or t2.delete_status is NULL) and t1.last_updated_by != t2.participant_name" % arg) - - # system messages - msg_id = webnotes.conn.get_global('system_message_id') - msg = '' - - if msg_id and msg_id != webnotes.conn.get_global('system_message_id', session['user']): - msg = webnotes.conn.get_global('system_message') - - return {'user_count': count and cint(count[0][0]) or 0, 'unread': unread and cint(unread[0][0]) or 0, 'system_message':msg} - - # ------------------------------------------------------------------------------------------------------- - def dismiss_message(self, arg=''): msg_id = webnotes.conn.get_global('system_message_id') webnotes.conn.set_global('system_message_id', msg_id, session['user']) diff --git a/home/doctype/home_control/home_control.txt b/erpnext/home/doctype/home_control/home_control.txt similarity index 100% rename from home/doctype/home_control/home_control.txt rename to erpnext/home/doctype/home_control/home_control.txt diff --git a/home/page/event_updates/__init__.py b/erpnext/home/doctype/widget_control/__init__.py similarity index 100% rename from home/page/event_updates/__init__.py rename to erpnext/home/doctype/widget_control/__init__.py diff --git a/home/doctype/widget_control/widget_control.py b/erpnext/home/doctype/widget_control/widget_control.py similarity index 100% rename from home/doctype/widget_control/widget_control.py rename to erpnext/home/doctype/widget_control/widget_control.py diff --git a/home/doctype/widget_control/widget_control.txt b/erpnext/home/doctype/widget_control/widget_control.txt similarity index 100% rename from home/doctype/widget_control/widget_control.txt rename to erpnext/home/doctype/widget_control/widget_control.txt diff --git a/home/page/.DS_Store b/erpnext/home/page/.DS_Store similarity index 100% rename from home/page/.DS_Store rename to erpnext/home/page/.DS_Store diff --git a/home/page/my_company/__init__.py b/erpnext/home/page/__init__.py similarity index 100% rename from home/page/my_company/__init__.py rename to erpnext/home/page/__init__.py diff --git a/home/page/profile_settings/__init__.py b/erpnext/home/page/dashboard/__init__.py similarity index 100% rename from home/page/profile_settings/__init__.py rename to erpnext/home/page/dashboard/__init__.py diff --git a/home/page/dashboard/dashboard.css b/erpnext/home/page/dashboard/dashboard.css similarity index 100% rename from home/page/dashboard/dashboard.css rename to erpnext/home/page/dashboard/dashboard.css diff --git a/home/page/dashboard/dashboard.html b/erpnext/home/page/dashboard/dashboard.html similarity index 100% rename from home/page/dashboard/dashboard.html rename to erpnext/home/page/dashboard/dashboard.html diff --git a/home/page/dashboard/dashboard.js b/erpnext/home/page/dashboard/dashboard.js similarity index 89% rename from home/page/dashboard/dashboard.js rename to erpnext/home/page/dashboard/dashboard.js index 15e7cf3fdc0..08be0af675c 100644 --- a/home/page/dashboard/dashboard.js +++ b/erpnext/home/page/dashboard/dashboard.js @@ -1,11 +1,11 @@ pscript.onload_dashboard = function() { // load jqplot $.scriptPath = 'js/' - $.require(['jquery/jquery.jqplot.min.js', - 'jquery/jqplot-plugins/jqplot.barRenderer.js', - 'jquery/jqplot-plugins/jqplot.canvasAxisTickRenderer.min.js', - 'jquery/jqplot-plugins/jqplot.canvasTextRenderer.min.js', - 'jquery/jqplot-plugins/jqplot.categoryAxisRenderer.min.js']); + wn.require('lib/js/legacy/jquery/jquery.jqplot.min.js'); + wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.barRenderer.js'); + wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.canvasAxisTickRenderer.min.js'); + wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.canvasTextRenderer.min.js'); + wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.categoryAxisRenderer.min.js'); pscript.dashboard_settings = { diff --git a/home/page/dashboard/dashboard.py b/erpnext/home/page/dashboard/dashboard.py similarity index 100% rename from home/page/dashboard/dashboard.py rename to erpnext/home/page/dashboard/dashboard.py diff --git a/home/page/dashboard/dashboard.txt b/erpnext/home/page/dashboard/dashboard.txt similarity index 100% rename from home/page/dashboard/dashboard.txt rename to erpnext/home/page/dashboard/dashboard.txt diff --git a/home/page/event_updates/.DS_Store b/erpnext/home/page/event_updates/.DS_Store similarity index 100% rename from home/page/event_updates/.DS_Store rename to erpnext/home/page/event_updates/.DS_Store diff --git a/home/search_criteria/__init__.py b/erpnext/home/page/event_updates/__init__.py similarity index 100% rename from home/search_criteria/__init__.py rename to erpnext/home/page/event_updates/__init__.py diff --git a/home/page/event_updates/event_updates.css b/erpnext/home/page/event_updates/event_updates.css similarity index 100% rename from home/page/event_updates/event_updates.css rename to erpnext/home/page/event_updates/event_updates.css diff --git a/home/page/event_updates/event_updates.html b/erpnext/home/page/event_updates/event_updates.html similarity index 100% rename from home/page/event_updates/event_updates.html rename to erpnext/home/page/event_updates/event_updates.html diff --git a/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js similarity index 91% rename from home/page/event_updates/event_updates.js rename to erpnext/home/page/event_updates/event_updates.js index 9aa3da244a7..b58a0c09146 100644 --- a/home/page/event_updates/event_updates.js +++ b/erpnext/home/page/event_updates/event_updates.js @@ -39,9 +39,6 @@ pscript.home_pre_process = function(wrapper) { var banner = $a(wrapper.banner_area, 'div', '', {paddingBottom:'4px'}) banner.innerHTML = cp.client_name; } - - // complete registration - if(in_list(user_roles,'System Manager')) { pscript.complete_registration(); } } // Widgets @@ -78,16 +75,8 @@ pscript.home_make_widgets = function() { } } ] - }) - sidebar.refresh() - - /*$y(cell,{padding:'0px 8px'}); - - new HomeCalendar(new HomeWidget(cell, 'Calendar', 'Event')); - - - new HomeToDo(new HomeWidget(cell, 'To Do', 'Item'));*/ - + }); + new FeedList(wrapper.body); } @@ -134,7 +123,7 @@ HomeWidget = function(parent, heading, item) { this.footer = $a(this.wrapper,'div'); // add button - this.add_btn = $btn(this.footer,'+ Add ' + item,function(){me.add()}); + this.add_btn = $btn(this.footer,'+ Add ' + item,function(){me.add()},null,'cupid-blue'); // refresh this.refresh_btn = $ln(this.footer,'Refresh',function() { me.refresh(); },{fontSize:'11px',marginLeft:'7px',color:'#888'}); @@ -431,18 +420,18 @@ FeedList.prototype.make_head = function() { // head $a(this.head,'h1','', {display:'inline'}, 'Home'); - $a(this.head,'span','link_type', {marginLeft:'7px'}, 'help', function() { + $a(this.head,'span','link_type', {marginLeft:'7px', fontSize:'11px'}, 'help', function() { msgprint('What appears here? This is where you get updates of everything you are permitted to follow') }) // refresh $a(this.head,'span','link_type', - {cursor:'pointer', marginLeft:'7px', fontSize:'11px'}, 'refresh', + {marginLeft:'7px', fontSize:'11px'}, 'refresh', function() { me.run(); } ); if(has_common(user_roles, ['System Manager','Accounts Manager'])) { - $btn(this.head, 'Dashboard', function() {loadpage('dashboard'); }, {marginLeft:'7px'}) + $btn(this.head, 'Dashboard', function() {loadpage('dashboard'); }, {marginLeft:'7px'}, 'cupid-blue') } } @@ -618,6 +607,11 @@ pscript.home_make_status = function() { // render online users pscript.online_users_obj.render(r.message.online_users); pscript.online_users = r.message.online_users; + + // complete registration + if(in_list(user_roles,'System Manager')) { + pscript.complete_registration(r.message.registration_complete); + } // setup wizard if(r.message.setup_status) { @@ -629,54 +623,57 @@ pscript.home_make_status = function() { // complete my company registration // -------------------------------- -pscript.complete_registration = function() -{ - var reg_callback = function(r, rt){ - if(r.message == 'No'){ - var d = new Dialog(400, 200, "Please Complete Your Registration"); - if(user != 'Administrator'){ - d.no_cancel(); // Hide close image - $dh(page_body.wntoolbar.wrapper); - } - $($a(d.body,'div','', {margin:'8px', color:'#888'})).html('Company Name : '+locals['Control Panel']['Control Panel'].company_name); - - d.make_body( - [ - ['Data','Company Abbreviation'], - ['Select','Fiscal Year Start Date'], - ['Select','Default Currency'], - ['Button','Save'], - ]); - - //d.widgets['Save'].disabled = true; // disable Save button - pscript.make_dialog_field(d); - - // submit details - d.widgets['Save'].onclick = function() - { - d.widgets['Save'].set_working(); - - flag = pscript.validate_fields(d); - if(flag) - { - var args = [ - locals['Control Panel']['Control Panel'].company_name, - d.widgets['Company Abbreviation'].value, - d.widgets['Fiscal Year Start Date'].value, - d.widgets['Default Currency'].value - ]; - - $c_obj('Setup Control','setup_account',JSON.stringify(args),function(r, rt){ - sys_defaults = r.message; - d.hide(); - $ds(page_body.wntoolbar.wrapper); - }); - } - } - d.show(); +pscript.complete_registration = function(is_complete) { + if(is_complete == 'No'){ + var d = new Dialog(400, 200, "Please Complete Your Registration"); + if(user != 'Administrator'){ + d.no_cancel(); // Hide close image + $dh(page_body.wntoolbar.wrapper); } + + d.make_body([ + ['Data','Company Name','Example: Your Company LLC'], + ['Data','Company Abbreviation', 'Example: YC (all your acconts will have this as a suffix)'], + ['Select','Fiscal Year Start Date'], + ['Select','Default Currency'], + ['Button','Save'], + ]); + + // if company name is set, set the input value + // and disable it + if(locals['Control Panel']['Control Panel'].company_name) { + d.widgets['Company Name'].value = locals['Control Panel']['Control Panel'].company_name; + d.widgets['Company Name'].disabled = 1; + } + + + //d.widgets['Save'].disabled = true; // disable Save button + pscript.make_dialog_field(d); + + // submit details + d.widgets['Save'].onclick = function() + { + d.widgets['Save'].set_working(); + + flag = pscript.validate_fields(d); + if(flag) + { + var args = [ + d.widgets['Company Name'].value, + d.widgets['Company Abbreviation'].value, + d.widgets['Fiscal Year Start Date'].value, + d.widgets['Default Currency'].value + ]; + + $c_obj('Setup Control','setup_account',JSON.stringify(args),function(r, rt){ + sys_defaults = r.message; + d.hide(); + $ds(page_body.wntoolbar.wrapper); + }); + } + } + d.show(); } - $c_obj('Home Control','registration_complete','',reg_callback); } // make dialog fields diff --git a/home/page/event_updates/event_updates.py b/erpnext/home/page/event_updates/event_updates.py similarity index 89% rename from home/page/event_updates/event_updates.py rename to erpnext/home/page/event_updates/event_updates.py index 11342734904..1d1d1b20404 100644 --- a/home/page/event_updates/event_updates.py +++ b/erpnext/home/page/event_updates/event_updates.py @@ -24,7 +24,7 @@ def get_unread_messages(): # Get toolbar items # def get_status_details(arg=None): - from webnotes.utils import cint, date_diff, nowdate + from webnotes.utils import cint, date_diff, nowdate, get_defaults online = get_online_users() @@ -35,7 +35,8 @@ def get_status_details(arg=None): 'online_users': online or [], 'is_trial': webnotes.conn.get_global('is_trial'), 'days_to_expiry': (webnotes.conn.get_global('days_to_expiry') or '0'), - 'setup_status': get_setup_status() + 'setup_status': get_setup_status(), + 'registration_complete': cint(get_defaults('registration_complete')) and 'Yes' or 'No' } return ret @@ -53,7 +54,7 @@ def get_setup_status(): header = webnotes.conn.get_value('Control Panel', None, 'client_name') or '' if header.startswith('
'\ - +webnotes.conn.get_value('Control Panel', None, 'company_name')): + +(webnotes.conn.get_value('Control Panel', None, 'company_name') or '')): return False elif 'Banner Comes Here' in header: diff --git a/home/page/event_updates/event_updates.txt b/erpnext/home/page/event_updates/event_updates.txt similarity index 100% rename from home/page/event_updates/event_updates.txt rename to erpnext/home/page/event_updates/event_updates.txt diff --git a/home/page/event_updates/event_updates_static.html b/erpnext/home/page/event_updates/event_updates_static.html similarity index 100% rename from home/page/event_updates/event_updates_static.html rename to erpnext/home/page/event_updates/event_updates_static.html diff --git a/home/search_criteria/bills_to_be_paid/__init__.py b/erpnext/home/page/my_company/__init__.py similarity index 100% rename from home/search_criteria/bills_to_be_paid/__init__.py rename to erpnext/home/page/my_company/__init__.py diff --git a/home/page/my_company/my_company.css b/erpnext/home/page/my_company/my_company.css similarity index 100% rename from home/page/my_company/my_company.css rename to erpnext/home/page/my_company/my_company.css diff --git a/home/page/my_company/my_company.html b/erpnext/home/page/my_company/my_company.html similarity index 100% rename from home/page/my_company/my_company.html rename to erpnext/home/page/my_company/my_company.html diff --git a/home/page/my_company/my_company.js b/erpnext/home/page/my_company/my_company.js similarity index 100% rename from home/page/my_company/my_company.js rename to erpnext/home/page/my_company/my_company.js diff --git a/home/page/my_company/my_company.py b/erpnext/home/page/my_company/my_company.py similarity index 100% rename from home/page/my_company/my_company.py rename to erpnext/home/page/my_company/my_company.py diff --git a/home/page/my_company/my_company.txt b/erpnext/home/page/my_company/my_company.txt similarity index 100% rename from home/page/my_company/my_company.txt rename to erpnext/home/page/my_company/my_company.txt diff --git a/home/search_criteria/bills_to_be_submitted/__init__.py b/erpnext/home/page/profile_settings/__init__.py similarity index 100% rename from home/search_criteria/bills_to_be_submitted/__init__.py rename to erpnext/home/page/profile_settings/__init__.py diff --git a/home/page/profile_settings/profile_settings.html b/erpnext/home/page/profile_settings/profile_settings.html similarity index 100% rename from home/page/profile_settings/profile_settings.html rename to erpnext/home/page/profile_settings/profile_settings.html diff --git a/home/page/profile_settings/profile_settings.js b/erpnext/home/page/profile_settings/profile_settings.js similarity index 95% rename from home/page/profile_settings/profile_settings.js rename to erpnext/home/page/profile_settings/profile_settings.js index 10b06d422a4..425626b1627 100644 --- a/home/page/profile_settings/profile_settings.js +++ b/erpnext/home/page/profile_settings/profile_settings.js @@ -97,7 +97,7 @@ MyProfile = function(wrapper) { ]); var w = d.widgets['wrapper']; - me.uploader = new Uploader(w, {thumbnail:'80px', server_obj:'Company Control', method:'update_profile_image'}, pscript.user_image_upload) + me.uploader = new Uploader(w, {cmd:'home.page.profile_settings.profile_settings.set_user_image'}, pscript.user_image_upload, 1) me.change_dialog = d; } me.change_dialog.show(); diff --git a/home/page/profile_settings/profile_settings.py b/erpnext/home/page/profile_settings/profile_settings.py similarity index 64% rename from home/page/profile_settings/profile_settings.py rename to erpnext/home/page/profile_settings/profile_settings.py index 56f7f15eb21..d1e091cad47 100644 --- a/home/page/profile_settings/profile_settings.py +++ b/erpnext/home/page/profile_settings/profile_settings.py @@ -2,7 +2,6 @@ import webnotes from webnotes.utils import load_json, cint, nowdate - def change_password(arg): """ Change password @@ -21,15 +20,40 @@ def change_password(arg): webnotes.msgprint('Password Updated'); def get_user_details(arg=None): - "Returns user first name, last name and bio" - + """ + Returns user first name, last name and bio + """ return webnotes.conn.sql("select first_name, last_name, bio from tabProfile where name=%s", webnotes.user.name, as_dict=1)[0] def set_user_details(arg=None): - "updates user details given in argument" + """ + updates user details given in argument + """ from webnotes.model.doc import Document p = Document('Profile', webnotes.user.name) p.fields.update(load_json(arg)) p.save() webnotes.msgprint('Updated') + +def set_user_image(arg=None): + """ + Set uploaded image as user image + """ + from webnotes.utils.upload_handler import UploadHandler + + uh = UploadHandler() + if not uh.file_name: + # do nothing - no file found + return + else: + # save the file + from webnotes.utils.file_manager import FileAttachments + + fa = FileAttachments('Profile', webnotes.session['user']) + fa.delete_all() + fa.add(uh.file_name, uh.content) + fa.save() + + uh.set_callback('window.parent.upload_callback("%s", "%s")' \ + % (webnotes.form_dict['uploader_id'], fa.get_fid(0))) diff --git a/home/page/profile_settings/profile_settings.txt b/erpnext/home/page/profile_settings/profile_settings.txt similarity index 100% rename from home/page/profile_settings/profile_settings.txt rename to erpnext/home/page/profile_settings/profile_settings.txt diff --git a/home/search_criteria/delivery_note_to_be_billed/__init__.py b/erpnext/home/search_criteria/__init__.py similarity index 100% rename from home/search_criteria/delivery_note_to_be_billed/__init__.py rename to erpnext/home/search_criteria/__init__.py diff --git a/home/search_criteria/delivery_note_to_be_submitted/__init__.py b/erpnext/home/search_criteria/bills_to_be_paid/__init__.py similarity index 100% rename from home/search_criteria/delivery_note_to_be_submitted/__init__.py rename to erpnext/home/search_criteria/bills_to_be_paid/__init__.py diff --git a/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt b/erpnext/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt similarity index 100% rename from home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt rename to erpnext/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt diff --git a/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py b/erpnext/home/search_criteria/bills_to_be_submitted/__init__.py similarity index 100% rename from home/search_criteria/enquiry_quotations_to_be_sent/__init__.py rename to erpnext/home/search_criteria/bills_to_be_submitted/__init__.py diff --git a/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt b/erpnext/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt similarity index 100% rename from home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt rename to erpnext/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt diff --git a/home/search_criteria/enquiry_to_follow_up/__init__.py b/erpnext/home/search_criteria/delivery_note_to_be_billed/__init__.py similarity index 100% rename from home/search_criteria/enquiry_to_follow_up/__init__.py rename to erpnext/home/search_criteria/delivery_note_to_be_billed/__init__.py diff --git a/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt b/erpnext/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt similarity index 100% rename from home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt rename to erpnext/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt diff --git a/home/search_criteria/indent_purchase_order_to_be_made/__init__.py b/erpnext/home/search_criteria/delivery_note_to_be_submitted/__init__.py similarity index 100% rename from home/search_criteria/indent_purchase_order_to_be_made/__init__.py rename to erpnext/home/search_criteria/delivery_note_to_be_submitted/__init__.py diff --git a/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt b/erpnext/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt similarity index 100% rename from home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt rename to erpnext/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt diff --git a/home/search_criteria/indent_to_be_submitted/__init__.py b/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py similarity index 100% rename from home/search_criteria/indent_to_be_submitted/__init__.py rename to erpnext/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py diff --git a/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt b/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt similarity index 100% rename from home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt rename to erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt diff --git a/home/search_criteria/invoices_overdue/__init__.py b/erpnext/home/search_criteria/enquiry_to_follow_up/__init__.py similarity index 100% rename from home/search_criteria/invoices_overdue/__init__.py rename to erpnext/home/search_criteria/enquiry_to_follow_up/__init__.py diff --git a/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js b/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js similarity index 100% rename from home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js rename to erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js diff --git a/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt b/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt similarity index 100% rename from home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt rename to erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt diff --git a/home/search_criteria/invoices_to_be_submitted/__init__.py b/erpnext/home/search_criteria/indent_purchase_order_to_be_made/__init__.py similarity index 100% rename from home/search_criteria/invoices_to_be_submitted/__init__.py rename to erpnext/home/search_criteria/indent_purchase_order_to_be_made/__init__.py diff --git a/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt b/erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt similarity index 100% rename from home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt rename to erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt diff --git a/home/search_criteria/invoices_to_receive_payment/__init__.py b/erpnext/home/search_criteria/indent_to_be_submitted/__init__.py similarity index 100% rename from home/search_criteria/invoices_to_receive_payment/__init__.py rename to erpnext/home/search_criteria/indent_to_be_submitted/__init__.py diff --git a/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt b/erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt similarity index 100% rename from home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt rename to erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt diff --git a/home/search_criteria/lead_to_follow_up/__init__.py b/erpnext/home/search_criteria/invoices_overdue/__init__.py similarity index 100% rename from home/search_criteria/lead_to_follow_up/__init__.py rename to erpnext/home/search_criteria/invoices_overdue/__init__.py diff --git a/home/search_criteria/invoices_overdue/invoices_overdue.txt b/erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt similarity index 100% rename from home/search_criteria/invoices_overdue/invoices_overdue.txt rename to erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt diff --git a/home/search_criteria/purchase_order_to_be_billed/__init__.py b/erpnext/home/search_criteria/invoices_to_be_submitted/__init__.py similarity index 100% rename from home/search_criteria/purchase_order_to_be_billed/__init__.py rename to erpnext/home/search_criteria/invoices_to_be_submitted/__init__.py diff --git a/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt b/erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt similarity index 100% rename from home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt rename to erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt diff --git a/home/search_criteria/purchase_order_to_be_submitted/__init__.py b/erpnext/home/search_criteria/invoices_to_receive_payment/__init__.py similarity index 100% rename from home/search_criteria/purchase_order_to_be_submitted/__init__.py rename to erpnext/home/search_criteria/invoices_to_receive_payment/__init__.py diff --git a/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt b/erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt similarity index 100% rename from home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt rename to erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt diff --git a/home/search_criteria/purchase_order_to_receive_items/__init__.py b/erpnext/home/search_criteria/lead_to_follow_up/__init__.py similarity index 100% rename from home/search_criteria/purchase_order_to_receive_items/__init__.py rename to erpnext/home/search_criteria/lead_to_follow_up/__init__.py diff --git a/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js b/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js similarity index 100% rename from home/search_criteria/lead_to_follow_up/lead_to_follow_up.js rename to erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js diff --git a/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt b/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt similarity index 100% rename from home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt rename to erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt diff --git a/home/search_criteria/lead_to_follow_up/sales_order_overdue.js b/erpnext/home/search_criteria/lead_to_follow_up/sales_order_overdue.js similarity index 100% rename from home/search_criteria/lead_to_follow_up/sales_order_overdue.js rename to erpnext/home/search_criteria/lead_to_follow_up/sales_order_overdue.js diff --git a/home/search_criteria/sales_order_overdue/__init__.py b/erpnext/home/search_criteria/purchase_order_to_be_billed/__init__.py similarity index 100% rename from home/search_criteria/sales_order_overdue/__init__.py rename to erpnext/home/search_criteria/purchase_order_to_be_billed/__init__.py diff --git a/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt b/erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt similarity index 100% rename from home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt rename to erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt diff --git a/home/search_criteria/sales_order_to_be_billed/__init__.py b/erpnext/home/search_criteria/purchase_order_to_be_submitted/__init__.py similarity index 100% rename from home/search_criteria/sales_order_to_be_billed/__init__.py rename to erpnext/home/search_criteria/purchase_order_to_be_submitted/__init__.py diff --git a/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt b/erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt similarity index 100% rename from home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt rename to erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt diff --git a/home/search_criteria/sales_order_to_be_delivered/__init__.py b/erpnext/home/search_criteria/purchase_order_to_receive_items/__init__.py similarity index 100% rename from home/search_criteria/sales_order_to_be_delivered/__init__.py rename to erpnext/home/search_criteria/purchase_order_to_receive_items/__init__.py diff --git a/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt b/erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt similarity index 100% rename from home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt rename to erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt diff --git a/home/search_criteria/sales_order_to_be_submitted/__init__.py b/erpnext/home/search_criteria/sales_order_overdue/__init__.py similarity index 100% rename from home/search_criteria/sales_order_to_be_submitted/__init__.py rename to erpnext/home/search_criteria/sales_order_overdue/__init__.py diff --git a/home/search_criteria/sales_order_overdue/sales_order_overdue.txt b/erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt similarity index 100% rename from home/search_criteria/sales_order_overdue/sales_order_overdue.txt rename to erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt diff --git a/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py b/erpnext/home/search_criteria/sales_order_to_be_billed/__init__.py similarity index 100% rename from home/search_criteria/serial_no_amc_expiring_this_month/__init__.py rename to erpnext/home/search_criteria/sales_order_to_be_billed/__init__.py diff --git a/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt b/erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt similarity index 100% rename from home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt rename to erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt diff --git a/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py b/erpnext/home/search_criteria/sales_order_to_be_delivered/__init__.py similarity index 100% rename from home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py rename to erpnext/home/search_criteria/sales_order_to_be_delivered/__init__.py diff --git a/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt b/erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt similarity index 100% rename from home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt rename to erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt diff --git a/home/search_criteria/task_open/__init__.py b/erpnext/home/search_criteria/sales_order_to_be_submitted/__init__.py similarity index 100% rename from home/search_criteria/task_open/__init__.py rename to erpnext/home/search_criteria/sales_order_to_be_submitted/__init__.py diff --git a/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt b/erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt similarity index 100% rename from home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt rename to erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt diff --git a/hr/__init__.py b/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py similarity index 100% rename from hr/__init__.py rename to erpnext/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py diff --git a/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt b/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt similarity index 100% rename from home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt rename to erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt diff --git a/hr/doctype/__init__.py b/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py similarity index 100% rename from hr/doctype/__init__.py rename to erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py diff --git a/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt b/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt similarity index 100% rename from home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt rename to erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt diff --git a/hr/doctype/absent_days_detail/__init__.py b/erpnext/home/search_criteria/task_open/__init__.py similarity index 100% rename from hr/doctype/absent_days_detail/__init__.py rename to erpnext/home/search_criteria/task_open/__init__.py diff --git a/home/search_criteria/task_open/task_open.txt b/erpnext/home/search_criteria/task_open/task_open.txt similarity index 100% rename from home/search_criteria/task_open/task_open.txt rename to erpnext/home/search_criteria/task_open/task_open.txt diff --git a/hr/Deduction Type/Income Tax/Income Tax.txt b/erpnext/hr/Deduction Type/Income Tax/Income Tax.txt similarity index 100% rename from hr/Deduction Type/Income Tax/Income Tax.txt rename to erpnext/hr/Deduction Type/Income Tax/Income Tax.txt diff --git a/hr/Deduction Type/Professional Tax/Professional Tax.txt b/erpnext/hr/Deduction Type/Professional Tax/Professional Tax.txt similarity index 100% rename from hr/Deduction Type/Professional Tax/Professional Tax.txt rename to erpnext/hr/Deduction Type/Professional Tax/Professional Tax.txt diff --git a/hr/Deduction Type/Provident Fund/Provident Fund.txt b/erpnext/hr/Deduction Type/Provident Fund/Provident Fund.txt similarity index 100% rename from hr/Deduction Type/Provident Fund/Provident Fund.txt rename to erpnext/hr/Deduction Type/Provident Fund/Provident Fund.txt diff --git a/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt b/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt similarity index 92% rename from hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt rename to erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt index b3081bfb52d..aed40029e23 100644 --- a/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt +++ b/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:25:40', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt b/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt similarity index 95% rename from hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt rename to erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt index 03318a1c2d3..0a365d10aa6 100644 --- a/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt +++ b/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt @@ -3,10 +3,10 @@ # These values are common in all dictionaries { - 'creation': '2010-12-14 10:23:25', + 'creation': '2010-12-14 10:33:11', 'docstatus': 0, - 'modified': '2011-02-12 18:31:40', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:44', + 'modified_by': 'Administrator', 'owner': 'harshada@webnotestech.com' }, diff --git a/hr/Earning Type/Basic/Basic.txt b/erpnext/hr/Earning Type/Basic/Basic.txt similarity index 100% rename from hr/Earning Type/Basic/Basic.txt rename to erpnext/hr/Earning Type/Basic/Basic.txt diff --git a/hr/Earning Type/House Rent Allowance/House Rent Allowance.txt b/erpnext/hr/Earning Type/House Rent Allowance/House Rent Allowance.txt similarity index 100% rename from hr/Earning Type/House Rent Allowance/House Rent Allowance.txt rename to erpnext/hr/Earning Type/House Rent Allowance/House Rent Allowance.txt diff --git a/hr/Expense Type/Calls/Calls.txt b/erpnext/hr/Expense Type/Calls/Calls.txt similarity index 100% rename from hr/Expense Type/Calls/Calls.txt rename to erpnext/hr/Expense Type/Calls/Calls.txt diff --git a/hr/Expense Type/Food/Food.txt b/erpnext/hr/Expense Type/Food/Food.txt similarity index 100% rename from hr/Expense Type/Food/Food.txt rename to erpnext/hr/Expense Type/Food/Food.txt diff --git a/hr/Expense Type/Medical/Medical.txt b/erpnext/hr/Expense Type/Medical/Medical.txt similarity index 100% rename from hr/Expense Type/Medical/Medical.txt rename to erpnext/hr/Expense Type/Medical/Medical.txt diff --git a/hr/Expense Type/Others/Others.txt b/erpnext/hr/Expense Type/Others/Others.txt similarity index 100% rename from hr/Expense Type/Others/Others.txt rename to erpnext/hr/Expense Type/Others/Others.txt diff --git a/hr/Expense Type/Travel/Travel.txt b/erpnext/hr/Expense Type/Travel/Travel.txt similarity index 100% rename from hr/Expense Type/Travel/Travel.txt rename to erpnext/hr/Expense Type/Travel/Travel.txt diff --git a/hr/Leave Type/Casual Leave/Casual Leave.txt b/erpnext/hr/Leave Type/Casual Leave/Casual Leave.txt similarity index 100% rename from hr/Leave Type/Casual Leave/Casual Leave.txt rename to erpnext/hr/Leave Type/Casual Leave/Casual Leave.txt diff --git a/hr/Leave Type/Compensatory Off/Compensatory Off.txt b/erpnext/hr/Leave Type/Compensatory Off/Compensatory Off.txt similarity index 100% rename from hr/Leave Type/Compensatory Off/Compensatory Off.txt rename to erpnext/hr/Leave Type/Compensatory Off/Compensatory Off.txt diff --git a/hr/Leave Type/Leave Without Pay/Leave Without Pay.txt b/erpnext/hr/Leave Type/Leave Without Pay/Leave Without Pay.txt similarity index 100% rename from hr/Leave Type/Leave Without Pay/Leave Without Pay.txt rename to erpnext/hr/Leave Type/Leave Without Pay/Leave Without Pay.txt diff --git a/hr/Leave Type/Privilege Leave/Privilege Leave.txt b/erpnext/hr/Leave Type/Privilege Leave/Privilege Leave.txt similarity index 100% rename from hr/Leave Type/Privilege Leave/Privilege Leave.txt rename to erpnext/hr/Leave Type/Privilege Leave/Privilege Leave.txt diff --git a/hr/Leave Type/Sick Leave/Sick Leave.txt b/erpnext/hr/Leave Type/Sick Leave/Sick Leave.txt similarity index 100% rename from hr/Leave Type/Sick Leave/Sick Leave.txt rename to erpnext/hr/Leave Type/Sick Leave/Sick Leave.txt diff --git a/hr/Module Def/HR/HR.txt b/erpnext/hr/Module Def/HR/HR.txt similarity index 100% rename from hr/Module Def/HR/HR.txt rename to erpnext/hr/Module Def/HR/HR.txt diff --git a/hr/Role/Employee/Employee.txt b/erpnext/hr/Role/Employee/Employee.txt similarity index 100% rename from hr/Role/Employee/Employee.txt rename to erpnext/hr/Role/Employee/Employee.txt diff --git a/hr/Role/HR Manager/HR Manager.txt b/erpnext/hr/Role/HR Manager/HR Manager.txt similarity index 100% rename from hr/Role/HR Manager/HR Manager.txt rename to erpnext/hr/Role/HR Manager/HR Manager.txt diff --git a/hr/Role/HR User/HR User.txt b/erpnext/hr/Role/HR User/HR User.txt similarity index 100% rename from hr/Role/HR User/HR User.txt rename to erpnext/hr/Role/HR User/HR User.txt diff --git a/hr/doctype/appraisal/__init__.py b/erpnext/hr/__init__.py similarity index 100% rename from hr/doctype/appraisal/__init__.py rename to erpnext/hr/__init__.py diff --git a/hr/doctype/appraisal_detail/__init__.py b/erpnext/hr/doctype/__init__.py similarity index 100% rename from hr/doctype/appraisal_detail/__init__.py rename to erpnext/hr/doctype/__init__.py diff --git a/hr/doctype/attendance/__init__.py b/erpnext/hr/doctype/absent_days_detail/__init__.py similarity index 100% rename from hr/doctype/attendance/__init__.py rename to erpnext/hr/doctype/absent_days_detail/__init__.py diff --git a/hr/doctype/absent_days_detail/absent_days_detail.txt b/erpnext/hr/doctype/absent_days_detail/absent_days_detail.txt similarity index 100% rename from hr/doctype/absent_days_detail/absent_days_detail.txt rename to erpnext/hr/doctype/absent_days_detail/absent_days_detail.txt diff --git a/hr/doctype/attendance_control_panel/__init__.py b/erpnext/hr/doctype/appraisal/__init__.py similarity index 100% rename from hr/doctype/attendance_control_panel/__init__.py rename to erpnext/hr/doctype/appraisal/__init__.py diff --git a/hr/doctype/appraisal/appraisal.js b/erpnext/hr/doctype/appraisal/appraisal.js similarity index 100% rename from hr/doctype/appraisal/appraisal.js rename to erpnext/hr/doctype/appraisal/appraisal.js diff --git a/hr/doctype/appraisal/appraisal.py b/erpnext/hr/doctype/appraisal/appraisal.py similarity index 100% rename from hr/doctype/appraisal/appraisal.py rename to erpnext/hr/doctype/appraisal/appraisal.py diff --git a/hr/doctype/appraisal/appraisal.txt b/erpnext/hr/doctype/appraisal/appraisal.txt similarity index 100% rename from hr/doctype/appraisal/appraisal.txt rename to erpnext/hr/doctype/appraisal/appraisal.txt diff --git a/hr/doctype/branch/__init__.py b/erpnext/hr/doctype/appraisal_detail/__init__.py similarity index 100% rename from hr/doctype/branch/__init__.py rename to erpnext/hr/doctype/appraisal_detail/__init__.py diff --git a/hr/doctype/appraisal_detail/appraisal_detail.txt b/erpnext/hr/doctype/appraisal_detail/appraisal_detail.txt similarity index 100% rename from hr/doctype/appraisal_detail/appraisal_detail.txt rename to erpnext/hr/doctype/appraisal_detail/appraisal_detail.txt diff --git a/hr/doctype/chapter_vi_a_detail/__init__.py b/erpnext/hr/doctype/attendance/__init__.py similarity index 100% rename from hr/doctype/chapter_vi_a_detail/__init__.py rename to erpnext/hr/doctype/attendance/__init__.py diff --git a/hr/doctype/attendance/attendance.js b/erpnext/hr/doctype/attendance/attendance.js similarity index 100% rename from hr/doctype/attendance/attendance.js rename to erpnext/hr/doctype/attendance/attendance.js diff --git a/hr/doctype/attendance/attendance.py b/erpnext/hr/doctype/attendance/attendance.py similarity index 100% rename from hr/doctype/attendance/attendance.py rename to erpnext/hr/doctype/attendance/attendance.py diff --git a/hr/doctype/attendance/attendance.txt b/erpnext/hr/doctype/attendance/attendance.txt similarity index 100% rename from hr/doctype/attendance/attendance.txt rename to erpnext/hr/doctype/attendance/attendance.txt diff --git a/hr/doctype/declaration_detail/__init__.py b/erpnext/hr/doctype/attendance_control_panel/__init__.py similarity index 100% rename from hr/doctype/declaration_detail/__init__.py rename to erpnext/hr/doctype/attendance_control_panel/__init__.py diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.js b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.js similarity index 100% rename from hr/doctype/attendance_control_panel/attendance_control_panel.js rename to erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.js diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.py b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py similarity index 100% rename from hr/doctype/attendance_control_panel/attendance_control_panel.py rename to erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.txt b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.txt similarity index 100% rename from hr/doctype/attendance_control_panel/attendance_control_panel.txt rename to erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.txt diff --git a/hr/doctype/deduction_detail/__init__.py b/erpnext/hr/doctype/branch/__init__.py similarity index 100% rename from hr/doctype/deduction_detail/__init__.py rename to erpnext/hr/doctype/branch/__init__.py diff --git a/hr/doctype/branch/branch.js b/erpnext/hr/doctype/branch/branch.js similarity index 100% rename from hr/doctype/branch/branch.js rename to erpnext/hr/doctype/branch/branch.js diff --git a/hr/doctype/branch/branch.txt b/erpnext/hr/doctype/branch/branch.txt similarity index 100% rename from hr/doctype/branch/branch.txt rename to erpnext/hr/doctype/branch/branch.txt diff --git a/hr/doctype/deduction_type/__init__.py b/erpnext/hr/doctype/chapter_vi_a_detail/__init__.py similarity index 100% rename from hr/doctype/deduction_type/__init__.py rename to erpnext/hr/doctype/chapter_vi_a_detail/__init__.py diff --git a/hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt b/erpnext/hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt similarity index 100% rename from hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt rename to erpnext/hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt diff --git a/hr/doctype/department/__init__.py b/erpnext/hr/doctype/declaration_detail/__init__.py similarity index 100% rename from hr/doctype/department/__init__.py rename to erpnext/hr/doctype/declaration_detail/__init__.py diff --git a/hr/doctype/declaration_detail/declaration_detail.txt b/erpnext/hr/doctype/declaration_detail/declaration_detail.txt similarity index 100% rename from hr/doctype/declaration_detail/declaration_detail.txt rename to erpnext/hr/doctype/declaration_detail/declaration_detail.txt diff --git a/hr/doctype/designation/__init__.py b/erpnext/hr/doctype/deduction_detail/__init__.py similarity index 100% rename from hr/doctype/designation/__init__.py rename to erpnext/hr/doctype/deduction_detail/__init__.py diff --git a/hr/doctype/deduction_detail/deduction_detail.txt b/erpnext/hr/doctype/deduction_detail/deduction_detail.txt similarity index 100% rename from hr/doctype/deduction_detail/deduction_detail.txt rename to erpnext/hr/doctype/deduction_detail/deduction_detail.txt diff --git a/hr/doctype/earn_deduction_detail/__init__.py b/erpnext/hr/doctype/deduction_type/__init__.py similarity index 100% rename from hr/doctype/earn_deduction_detail/__init__.py rename to erpnext/hr/doctype/deduction_type/__init__.py diff --git a/hr/doctype/deduction_type/deduction_type.js b/erpnext/hr/doctype/deduction_type/deduction_type.js similarity index 100% rename from hr/doctype/deduction_type/deduction_type.js rename to erpnext/hr/doctype/deduction_type/deduction_type.js diff --git a/hr/doctype/deduction_type/deduction_type.txt b/erpnext/hr/doctype/deduction_type/deduction_type.txt similarity index 100% rename from hr/doctype/deduction_type/deduction_type.txt rename to erpnext/hr/doctype/deduction_type/deduction_type.txt diff --git a/hr/doctype/earning_detail/__init__.py b/erpnext/hr/doctype/department/__init__.py similarity index 100% rename from hr/doctype/earning_detail/__init__.py rename to erpnext/hr/doctype/department/__init__.py diff --git a/hr/doctype/department/department.js b/erpnext/hr/doctype/department/department.js similarity index 100% rename from hr/doctype/department/department.js rename to erpnext/hr/doctype/department/department.js diff --git a/hr/doctype/department/department.txt b/erpnext/hr/doctype/department/department.txt similarity index 100% rename from hr/doctype/department/department.txt rename to erpnext/hr/doctype/department/department.txt diff --git a/hr/doctype/earning_type/__init__.py b/erpnext/hr/doctype/designation/__init__.py similarity index 100% rename from hr/doctype/earning_type/__init__.py rename to erpnext/hr/doctype/designation/__init__.py diff --git a/hr/doctype/designation/designation.js b/erpnext/hr/doctype/designation/designation.js similarity index 100% rename from hr/doctype/designation/designation.js rename to erpnext/hr/doctype/designation/designation.js diff --git a/hr/doctype/designation/designation.txt b/erpnext/hr/doctype/designation/designation.txt similarity index 100% rename from hr/doctype/designation/designation.txt rename to erpnext/hr/doctype/designation/designation.txt diff --git a/hr/doctype/educational_qualifications/__init__.py b/erpnext/hr/doctype/earn_deduction_detail/__init__.py similarity index 100% rename from hr/doctype/educational_qualifications/__init__.py rename to erpnext/hr/doctype/earn_deduction_detail/__init__.py diff --git a/hr/doctype/earn_deduction_detail/earn_deduction_detail.txt b/erpnext/hr/doctype/earn_deduction_detail/earn_deduction_detail.txt similarity index 100% rename from hr/doctype/earn_deduction_detail/earn_deduction_detail.txt rename to erpnext/hr/doctype/earn_deduction_detail/earn_deduction_detail.txt diff --git a/hr/doctype/educational_qualifications_detail/__init__.py b/erpnext/hr/doctype/earning_detail/__init__.py similarity index 100% rename from hr/doctype/educational_qualifications_detail/__init__.py rename to erpnext/hr/doctype/earning_detail/__init__.py diff --git a/hr/doctype/earning_detail/earning_detail.txt b/erpnext/hr/doctype/earning_detail/earning_detail.txt similarity index 100% rename from hr/doctype/earning_detail/earning_detail.txt rename to erpnext/hr/doctype/earning_detail/earning_detail.txt diff --git a/hr/doctype/employee/__init__.py b/erpnext/hr/doctype/earning_type/__init__.py similarity index 100% rename from hr/doctype/employee/__init__.py rename to erpnext/hr/doctype/earning_type/__init__.py diff --git a/hr/doctype/earning_type/earning_type.js b/erpnext/hr/doctype/earning_type/earning_type.js similarity index 100% rename from hr/doctype/earning_type/earning_type.js rename to erpnext/hr/doctype/earning_type/earning_type.js diff --git a/hr/doctype/earning_type/earning_type.txt b/erpnext/hr/doctype/earning_type/earning_type.txt similarity index 100% rename from hr/doctype/earning_type/earning_type.txt rename to erpnext/hr/doctype/earning_type/earning_type.txt diff --git a/hr/doctype/employee_profile/__init__.py b/erpnext/hr/doctype/educational_qualifications/__init__.py similarity index 100% rename from hr/doctype/employee_profile/__init__.py rename to erpnext/hr/doctype/educational_qualifications/__init__.py diff --git a/hr/doctype/educational_qualifications/educational_qualifications.txt b/erpnext/hr/doctype/educational_qualifications/educational_qualifications.txt similarity index 100% rename from hr/doctype/educational_qualifications/educational_qualifications.txt rename to erpnext/hr/doctype/educational_qualifications/educational_qualifications.txt diff --git a/hr/doctype/employment_type/__init__.py b/erpnext/hr/doctype/educational_qualifications_detail/__init__.py similarity index 100% rename from hr/doctype/employment_type/__init__.py rename to erpnext/hr/doctype/educational_qualifications_detail/__init__.py diff --git a/hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt b/erpnext/hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt similarity index 100% rename from hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt rename to erpnext/hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt diff --git a/hr/doctype/expense_type/__init__.py b/erpnext/hr/doctype/employee/__init__.py similarity index 100% rename from hr/doctype/expense_type/__init__.py rename to erpnext/hr/doctype/employee/__init__.py diff --git a/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js similarity index 100% rename from hr/doctype/employee/employee.js rename to erpnext/hr/doctype/employee/employee.js diff --git a/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py similarity index 98% rename from hr/doctype/employee/employee.py rename to erpnext/hr/doctype/employee/employee.py index 01ff32df661..ba602cf5751 100644 --- a/hr/doctype/employee/employee.py +++ b/erpnext/hr/doctype/employee/employee.py @@ -46,7 +46,7 @@ class DocType: # check if salary structure exists #======================================================================================================== def check_sal_structure(self, nm): - ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes'"%nm) + ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes' and docstatus!= 2"%nm) return ret_sal_struct and ret_sal_struct[0][0] or '' #======================================================================================================== diff --git a/hr/doctype/employee/employee.txt b/erpnext/hr/doctype/employee/employee.txt similarity index 100% rename from hr/doctype/employee/employee.txt rename to erpnext/hr/doctype/employee/employee.txt diff --git a/hr/doctype/expense_voucher/__init__.py b/erpnext/hr/doctype/employee_profile/__init__.py similarity index 100% rename from hr/doctype/expense_voucher/__init__.py rename to erpnext/hr/doctype/employee_profile/__init__.py diff --git a/hr/doctype/employee_profile/employee_profile.js b/erpnext/hr/doctype/employee_profile/employee_profile.js similarity index 100% rename from hr/doctype/employee_profile/employee_profile.js rename to erpnext/hr/doctype/employee_profile/employee_profile.js diff --git a/hr/doctype/employee_profile/employee_profile.py b/erpnext/hr/doctype/employee_profile/employee_profile.py similarity index 100% rename from hr/doctype/employee_profile/employee_profile.py rename to erpnext/hr/doctype/employee_profile/employee_profile.py diff --git a/hr/doctype/employee_profile/employee_profile.txt b/erpnext/hr/doctype/employee_profile/employee_profile.txt similarity index 100% rename from hr/doctype/employee_profile/employee_profile.txt rename to erpnext/hr/doctype/employee_profile/employee_profile.txt diff --git a/hr/doctype/expense_voucher_detail/__init__.py b/erpnext/hr/doctype/employment_type/__init__.py similarity index 100% rename from hr/doctype/expense_voucher_detail/__init__.py rename to erpnext/hr/doctype/employment_type/__init__.py diff --git a/hr/doctype/employment_type/employment_type.js b/erpnext/hr/doctype/employment_type/employment_type.js similarity index 100% rename from hr/doctype/employment_type/employment_type.js rename to erpnext/hr/doctype/employment_type/employment_type.js diff --git a/hr/doctype/employment_type/employment_type.txt b/erpnext/hr/doctype/employment_type/employment_type.txt similarity index 100% rename from hr/doctype/employment_type/employment_type.txt rename to erpnext/hr/doctype/employment_type/employment_type.txt diff --git a/hr/doctype/experience_in_company_detail/__init__.py b/erpnext/hr/doctype/expense_type/__init__.py similarity index 100% rename from hr/doctype/experience_in_company_detail/__init__.py rename to erpnext/hr/doctype/expense_type/__init__.py diff --git a/hr/doctype/expense_type/expense_type.js b/erpnext/hr/doctype/expense_type/expense_type.js similarity index 100% rename from hr/doctype/expense_type/expense_type.js rename to erpnext/hr/doctype/expense_type/expense_type.js diff --git a/hr/doctype/expense_type/expense_type.txt b/erpnext/hr/doctype/expense_type/expense_type.txt similarity index 100% rename from hr/doctype/expense_type/expense_type.txt rename to erpnext/hr/doctype/expense_type/expense_type.txt diff --git a/hr/doctype/grade/__init__.py b/erpnext/hr/doctype/expense_voucher/__init__.py similarity index 100% rename from hr/doctype/grade/__init__.py rename to erpnext/hr/doctype/expense_voucher/__init__.py diff --git a/hr/doctype/expense_voucher/expense_voucher.js b/erpnext/hr/doctype/expense_voucher/expense_voucher.js similarity index 100% rename from hr/doctype/expense_voucher/expense_voucher.js rename to erpnext/hr/doctype/expense_voucher/expense_voucher.js diff --git a/hr/doctype/expense_voucher/expense_voucher.py b/erpnext/hr/doctype/expense_voucher/expense_voucher.py similarity index 100% rename from hr/doctype/expense_voucher/expense_voucher.py rename to erpnext/hr/doctype/expense_voucher/expense_voucher.py diff --git a/hr/doctype/expense_voucher/expense_voucher.txt b/erpnext/hr/doctype/expense_voucher/expense_voucher.txt similarity index 100% rename from hr/doctype/expense_voucher/expense_voucher.txt rename to erpnext/hr/doctype/expense_voucher/expense_voucher.txt diff --git a/hr/doctype/holiday_list/__init__.py b/erpnext/hr/doctype/expense_voucher_detail/__init__.py similarity index 100% rename from hr/doctype/holiday_list/__init__.py rename to erpnext/hr/doctype/expense_voucher_detail/__init__.py diff --git a/hr/doctype/expense_voucher_detail/expense_voucher_detail.txt b/erpnext/hr/doctype/expense_voucher_detail/expense_voucher_detail.txt similarity index 100% rename from hr/doctype/expense_voucher_detail/expense_voucher_detail.txt rename to erpnext/hr/doctype/expense_voucher_detail/expense_voucher_detail.txt diff --git a/hr/doctype/holiday_list_detail/__init__.py b/erpnext/hr/doctype/experience_in_company_detail/__init__.py similarity index 100% rename from hr/doctype/holiday_list_detail/__init__.py rename to erpnext/hr/doctype/experience_in_company_detail/__init__.py diff --git a/hr/doctype/experience_in_company_detail/experience_in_company_detail.txt b/erpnext/hr/doctype/experience_in_company_detail/experience_in_company_detail.txt similarity index 100% rename from hr/doctype/experience_in_company_detail/experience_in_company_detail.txt rename to erpnext/hr/doctype/experience_in_company_detail/experience_in_company_detail.txt diff --git a/hr/doctype/invest_80_declaration_detail/__init__.py b/erpnext/hr/doctype/grade/__init__.py similarity index 100% rename from hr/doctype/invest_80_declaration_detail/__init__.py rename to erpnext/hr/doctype/grade/__init__.py diff --git a/hr/doctype/grade/grade.js b/erpnext/hr/doctype/grade/grade.js similarity index 100% rename from hr/doctype/grade/grade.js rename to erpnext/hr/doctype/grade/grade.js diff --git a/hr/doctype/grade/grade.txt b/erpnext/hr/doctype/grade/grade.txt similarity index 100% rename from hr/doctype/grade/grade.txt rename to erpnext/hr/doctype/grade/grade.txt diff --git a/hr/doctype/it_checklist/__init__.py b/erpnext/hr/doctype/holiday_list/__init__.py similarity index 100% rename from hr/doctype/it_checklist/__init__.py rename to erpnext/hr/doctype/holiday_list/__init__.py diff --git a/hr/doctype/holiday_list/holiday_list.js b/erpnext/hr/doctype/holiday_list/holiday_list.js similarity index 100% rename from hr/doctype/holiday_list/holiday_list.js rename to erpnext/hr/doctype/holiday_list/holiday_list.js diff --git a/hr/doctype/holiday_list/holiday_list.py b/erpnext/hr/doctype/holiday_list/holiday_list.py similarity index 100% rename from hr/doctype/holiday_list/holiday_list.py rename to erpnext/hr/doctype/holiday_list/holiday_list.py diff --git a/hr/doctype/holiday_list/holiday_list.txt b/erpnext/hr/doctype/holiday_list/holiday_list.txt similarity index 100% rename from hr/doctype/holiday_list/holiday_list.txt rename to erpnext/hr/doctype/holiday_list/holiday_list.txt diff --git a/hr/doctype/kra_sheet/__init__.py b/erpnext/hr/doctype/holiday_list_detail/__init__.py similarity index 100% rename from hr/doctype/kra_sheet/__init__.py rename to erpnext/hr/doctype/holiday_list_detail/__init__.py diff --git a/hr/doctype/holiday_list_detail/holiday_list_detail.txt b/erpnext/hr/doctype/holiday_list_detail/holiday_list_detail.txt similarity index 100% rename from hr/doctype/holiday_list_detail/holiday_list_detail.txt rename to erpnext/hr/doctype/holiday_list_detail/holiday_list_detail.txt diff --git a/hr/doctype/kra_template/__init__.py b/erpnext/hr/doctype/invest_80_declaration_detail/__init__.py similarity index 100% rename from hr/doctype/kra_template/__init__.py rename to erpnext/hr/doctype/invest_80_declaration_detail/__init__.py diff --git a/hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt b/erpnext/hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt similarity index 100% rename from hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt rename to erpnext/hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt diff --git a/hr/doctype/leave_allocation/__init__.py b/erpnext/hr/doctype/it_checklist/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from hr/doctype/leave_allocation/__init__.py rename to erpnext/hr/doctype/it_checklist/__init__.py diff --git a/hr/doctype/it_checklist/it_checklist.js b/erpnext/hr/doctype/it_checklist/it_checklist.js similarity index 100% rename from hr/doctype/it_checklist/it_checklist.js rename to erpnext/hr/doctype/it_checklist/it_checklist.js diff --git a/hr/doctype/it_checklist/it_checklist.py b/erpnext/hr/doctype/it_checklist/it_checklist.py similarity index 100% rename from hr/doctype/it_checklist/it_checklist.py rename to erpnext/hr/doctype/it_checklist/it_checklist.py diff --git a/hr/doctype/it_checklist/it_checklist.txt b/erpnext/hr/doctype/it_checklist/it_checklist.txt similarity index 100% rename from hr/doctype/it_checklist/it_checklist.txt rename to erpnext/hr/doctype/it_checklist/it_checklist.txt diff --git a/hr/doctype/leave_application/__init__.py b/erpnext/hr/doctype/kra_sheet/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from hr/doctype/leave_application/__init__.py rename to erpnext/hr/doctype/kra_sheet/__init__.py diff --git a/hr/doctype/kra_sheet/kra_sheet.txt b/erpnext/hr/doctype/kra_sheet/kra_sheet.txt similarity index 100% rename from hr/doctype/kra_sheet/kra_sheet.txt rename to erpnext/hr/doctype/kra_sheet/kra_sheet.txt diff --git a/hr/doctype/leave_control_panel/__init__.py b/erpnext/hr/doctype/kra_template/__init__.py similarity index 100% rename from hr/doctype/leave_control_panel/__init__.py rename to erpnext/hr/doctype/kra_template/__init__.py diff --git a/hr/doctype/kra_template/kra_template.js b/erpnext/hr/doctype/kra_template/kra_template.js similarity index 100% rename from hr/doctype/kra_template/kra_template.js rename to erpnext/hr/doctype/kra_template/kra_template.js diff --git a/hr/doctype/kra_template/kra_template.txt b/erpnext/hr/doctype/kra_template/kra_template.txt similarity index 100% rename from hr/doctype/kra_template/kra_template.txt rename to erpnext/hr/doctype/kra_template/kra_template.txt diff --git a/hr/doctype/leave_type/__init__.py b/erpnext/hr/doctype/leave_allocation/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from hr/doctype/leave_type/__init__.py rename to erpnext/hr/doctype/leave_allocation/__init__.py diff --git a/hr/doctype/leave_allocation/leave_allocation.js b/erpnext/hr/doctype/leave_allocation/leave_allocation.js similarity index 100% rename from hr/doctype/leave_allocation/leave_allocation.js rename to erpnext/hr/doctype/leave_allocation/leave_allocation.js diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py similarity index 100% rename from hr/doctype/leave_allocation/leave_allocation.py rename to erpnext/hr/doctype/leave_allocation/leave_allocation.py diff --git a/hr/doctype/leave_allocation/leave_allocation.txt b/erpnext/hr/doctype/leave_allocation/leave_allocation.txt similarity index 100% rename from hr/doctype/leave_allocation/leave_allocation.txt rename to erpnext/hr/doctype/leave_allocation/leave_allocation.txt diff --git a/hr/doctype/other_income_detail/__init__.py b/erpnext/hr/doctype/leave_application/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from hr/doctype/other_income_detail/__init__.py rename to erpnext/hr/doctype/leave_application/__init__.py diff --git a/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js similarity index 100% rename from hr/doctype/leave_application/leave_application.js rename to erpnext/hr/doctype/leave_application/leave_application.js diff --git a/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py similarity index 100% rename from hr/doctype/leave_application/leave_application.py rename to erpnext/hr/doctype/leave_application/leave_application.py diff --git a/hr/doctype/leave_application/leave_application.txt b/erpnext/hr/doctype/leave_application/leave_application.txt similarity index 100% rename from hr/doctype/leave_application/leave_application.txt rename to erpnext/hr/doctype/leave_application/leave_application.txt diff --git a/hr/doctype/payroll_rule/__init__.py b/erpnext/hr/doctype/leave_control_panel/__init__.py similarity index 100% rename from hr/doctype/payroll_rule/__init__.py rename to erpnext/hr/doctype/leave_control_panel/__init__.py diff --git a/hr/doctype/leave_control_panel/leave_control_panel.js b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js similarity index 100% rename from hr/doctype/leave_control_panel/leave_control_panel.js rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.js diff --git a/hr/doctype/leave_control_panel/leave_control_panel.py b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py similarity index 100% rename from hr/doctype/leave_control_panel/leave_control_panel.py rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.py diff --git a/hr/doctype/leave_control_panel/leave_control_panel.txt b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.txt similarity index 100% rename from hr/doctype/leave_control_panel/leave_control_panel.txt rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.txt diff --git a/hr/doctype/previous_experience_detail/__init__.py b/erpnext/hr/doctype/leave_type/__init__.py similarity index 100% rename from hr/doctype/previous_experience_detail/__init__.py rename to erpnext/hr/doctype/leave_type/__init__.py diff --git a/hr/doctype/leave_type/leave_type.js b/erpnext/hr/doctype/leave_type/leave_type.js similarity index 100% rename from hr/doctype/leave_type/leave_type.js rename to erpnext/hr/doctype/leave_type/leave_type.js diff --git a/hr/doctype/leave_type/leave_type.txt b/erpnext/hr/doctype/leave_type/leave_type.txt similarity index 100% rename from hr/doctype/leave_type/leave_type.txt rename to erpnext/hr/doctype/leave_type/leave_type.txt diff --git a/hr/doctype/professional_training_details/__init__.py b/erpnext/hr/doctype/other_income_detail/__init__.py similarity index 100% rename from hr/doctype/professional_training_details/__init__.py rename to erpnext/hr/doctype/other_income_detail/__init__.py diff --git a/hr/doctype/other_income_detail/other_income_detail.txt b/erpnext/hr/doctype/other_income_detail/other_income_detail.txt similarity index 100% rename from hr/doctype/other_income_detail/other_income_detail.txt rename to erpnext/hr/doctype/other_income_detail/other_income_detail.txt diff --git a/hr/doctype/salary_slip/__init__.py b/erpnext/hr/doctype/payroll_rule/__init__.py similarity index 100% rename from hr/doctype/salary_slip/__init__.py rename to erpnext/hr/doctype/payroll_rule/__init__.py diff --git a/hr/doctype/payroll_rule/payroll_rule.js b/erpnext/hr/doctype/payroll_rule/payroll_rule.js similarity index 100% rename from hr/doctype/payroll_rule/payroll_rule.js rename to erpnext/hr/doctype/payroll_rule/payroll_rule.js diff --git a/hr/doctype/payroll_rule/payroll_rule.py b/erpnext/hr/doctype/payroll_rule/payroll_rule.py similarity index 100% rename from hr/doctype/payroll_rule/payroll_rule.py rename to erpnext/hr/doctype/payroll_rule/payroll_rule.py diff --git a/hr/doctype/payroll_rule/payroll_rule.txt b/erpnext/hr/doctype/payroll_rule/payroll_rule.txt similarity index 100% rename from hr/doctype/payroll_rule/payroll_rule.txt rename to erpnext/hr/doctype/payroll_rule/payroll_rule.txt diff --git a/hr/doctype/salary_structure/__init__.py b/erpnext/hr/doctype/previous_experience_detail/__init__.py similarity index 100% rename from hr/doctype/salary_structure/__init__.py rename to erpnext/hr/doctype/previous_experience_detail/__init__.py diff --git a/hr/doctype/previous_experience_detail/previous_experience_detail.txt b/erpnext/hr/doctype/previous_experience_detail/previous_experience_detail.txt similarity index 100% rename from hr/doctype/previous_experience_detail/previous_experience_detail.txt rename to erpnext/hr/doctype/previous_experience_detail/previous_experience_detail.txt diff --git a/hr/doctype/ss_deduction_detail/__init__.py b/erpnext/hr/doctype/professional_training_details/__init__.py similarity index 100% rename from hr/doctype/ss_deduction_detail/__init__.py rename to erpnext/hr/doctype/professional_training_details/__init__.py diff --git a/hr/doctype/professional_training_details/professional_training_details.txt b/erpnext/hr/doctype/professional_training_details/professional_training_details.txt similarity index 100% rename from hr/doctype/professional_training_details/professional_training_details.txt rename to erpnext/hr/doctype/professional_training_details/professional_training_details.txt diff --git a/hr/doctype/salary_manager/__init__.py b/erpnext/hr/doctype/salary_manager/__init__.py similarity index 100% rename from hr/doctype/salary_manager/__init__.py rename to erpnext/hr/doctype/salary_manager/__init__.py diff --git a/hr/doctype/salary_manager/salary_manager.js b/erpnext/hr/doctype/salary_manager/salary_manager.js similarity index 100% rename from hr/doctype/salary_manager/salary_manager.js rename to erpnext/hr/doctype/salary_manager/salary_manager.js diff --git a/hr/doctype/salary_manager/salary_manager.py b/erpnext/hr/doctype/salary_manager/salary_manager.py similarity index 100% rename from hr/doctype/salary_manager/salary_manager.py rename to erpnext/hr/doctype/salary_manager/salary_manager.py diff --git a/hr/doctype/salary_manager/salary_manager.txt b/erpnext/hr/doctype/salary_manager/salary_manager.txt similarity index 100% rename from hr/doctype/salary_manager/salary_manager.txt rename to erpnext/hr/doctype/salary_manager/salary_manager.txt diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/erpnext/hr/doctype/salary_manager/test_salary_manager.py similarity index 100% rename from hr/doctype/salary_manager/test_salary_manager.py rename to erpnext/hr/doctype/salary_manager/test_salary_manager.py diff --git a/hr/doctype/ss_earning_detail/__init__.py b/erpnext/hr/doctype/salary_slip/__init__.py similarity index 100% rename from hr/doctype/ss_earning_detail/__init__.py rename to erpnext/hr/doctype/salary_slip/__init__.py diff --git a/hr/doctype/salary_slip/salary_slip.js b/erpnext/hr/doctype/salary_slip/salary_slip.js similarity index 100% rename from hr/doctype/salary_slip/salary_slip.js rename to erpnext/hr/doctype/salary_slip/salary_slip.js diff --git a/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py similarity index 100% rename from hr/doctype/salary_slip/salary_slip.py rename to erpnext/hr/doctype/salary_slip/salary_slip.py diff --git a/hr/doctype/salary_slip/salary_slip.txt b/erpnext/hr/doctype/salary_slip/salary_slip.txt similarity index 100% rename from hr/doctype/salary_slip/salary_slip.txt rename to erpnext/hr/doctype/salary_slip/salary_slip.txt diff --git a/hr/page/__init__.py b/erpnext/hr/doctype/salary_structure/__init__.py similarity index 100% rename from hr/page/__init__.py rename to erpnext/hr/doctype/salary_structure/__init__.py diff --git a/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js similarity index 100% rename from hr/doctype/salary_structure/salary_structure.js rename to erpnext/hr/doctype/salary_structure/salary_structure.js diff --git a/hr/doctype/salary_structure/salary_structure.py b/erpnext/hr/doctype/salary_structure/salary_structure.py similarity index 100% rename from hr/doctype/salary_structure/salary_structure.py rename to erpnext/hr/doctype/salary_structure/salary_structure.py diff --git a/hr/doctype/salary_structure/salary_structure.txt b/erpnext/hr/doctype/salary_structure/salary_structure.txt similarity index 100% rename from hr/doctype/salary_structure/salary_structure.txt rename to erpnext/hr/doctype/salary_structure/salary_structure.txt diff --git a/hr/search_criteria/__init__.py b/erpnext/hr/doctype/ss_deduction_detail/__init__.py similarity index 100% rename from hr/search_criteria/__init__.py rename to erpnext/hr/doctype/ss_deduction_detail/__init__.py diff --git a/hr/doctype/ss_deduction_detail/ss_deduction_detail.txt b/erpnext/hr/doctype/ss_deduction_detail/ss_deduction_detail.txt similarity index 100% rename from hr/doctype/ss_deduction_detail/ss_deduction_detail.txt rename to erpnext/hr/doctype/ss_deduction_detail/ss_deduction_detail.txt diff --git a/hr/search_criteria/employee_appraisals/__init__.py b/erpnext/hr/doctype/ss_earning_detail/__init__.py similarity index 100% rename from hr/search_criteria/employee_appraisals/__init__.py rename to erpnext/hr/doctype/ss_earning_detail/__init__.py diff --git a/hr/doctype/ss_earning_detail/ss_earning_detail.txt b/erpnext/hr/doctype/ss_earning_detail/ss_earning_detail.txt similarity index 100% rename from hr/doctype/ss_earning_detail/ss_earning_detail.txt rename to erpnext/hr/doctype/ss_earning_detail/ss_earning_detail.txt diff --git a/hr/search_criteria/employee_details/__init__.py b/erpnext/hr/page/__init__.py similarity index 100% rename from hr/search_criteria/employee_details/__init__.py rename to erpnext/hr/page/__init__.py diff --git a/hr/search_criteria/employee_in_company_experience/__init__.py b/erpnext/hr/search_criteria/__init__.py similarity index 100% rename from hr/search_criteria/employee_in_company_experience/__init__.py rename to erpnext/hr/search_criteria/__init__.py diff --git a/hr/search_criteria/employee_information/__init__.py b/erpnext/hr/search_criteria/employee_appraisals/__init__.py similarity index 100% rename from hr/search_criteria/employee_information/__init__.py rename to erpnext/hr/search_criteria/employee_appraisals/__init__.py diff --git a/hr/search_criteria/employee_appraisals/employee_appraisals.txt b/erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt similarity index 100% rename from hr/search_criteria/employee_appraisals/employee_appraisals.txt rename to erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt diff --git a/hr/search_criteria/employees_birthday/__init__.py b/erpnext/hr/search_criteria/employee_details/__init__.py similarity index 100% rename from hr/search_criteria/employees_birthday/__init__.py rename to erpnext/hr/search_criteria/employee_details/__init__.py diff --git a/hr/search_criteria/employee_details/employee_details.txt b/erpnext/hr/search_criteria/employee_details/employee_details.txt similarity index 100% rename from hr/search_criteria/employee_details/employee_details.txt rename to erpnext/hr/search_criteria/employee_details/employee_details.txt diff --git a/hr/search_criteria/employeewise_balance_leave_report/__init__.py b/erpnext/hr/search_criteria/employee_in_company_experience/__init__.py similarity index 100% rename from hr/search_criteria/employeewise_balance_leave_report/__init__.py rename to erpnext/hr/search_criteria/employee_in_company_experience/__init__.py diff --git a/hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt b/erpnext/hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt similarity index 100% rename from hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt rename to erpnext/hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt diff --git a/hr/search_criteria/employeewise_leave_transaction_details/__init__.py b/erpnext/hr/search_criteria/employee_information/__init__.py similarity index 100% rename from hr/search_criteria/employeewise_leave_transaction_details/__init__.py rename to erpnext/hr/search_criteria/employee_information/__init__.py diff --git a/hr/search_criteria/employee_information/employee_information.py b/erpnext/hr/search_criteria/employee_information/employee_information.py similarity index 100% rename from hr/search_criteria/employee_information/employee_information.py rename to erpnext/hr/search_criteria/employee_information/employee_information.py diff --git a/hr/search_criteria/employee_information/employee_information.txt b/erpnext/hr/search_criteria/employee_information/employee_information.txt similarity index 100% rename from hr/search_criteria/employee_information/employee_information.txt rename to erpnext/hr/search_criteria/employee_information/employee_information.txt diff --git a/hr/search_criteria/expense_vouchers/__init__.py b/erpnext/hr/search_criteria/employees_birthday/__init__.py similarity index 100% rename from hr/search_criteria/expense_vouchers/__init__.py rename to erpnext/hr/search_criteria/employees_birthday/__init__.py diff --git a/hr/search_criteria/employees_birthday/employees_birthday.txt b/erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt similarity index 100% rename from hr/search_criteria/employees_birthday/employees_birthday.txt rename to erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt diff --git a/hr/search_criteria/monthly_attendance_details/__init__.py b/erpnext/hr/search_criteria/employeewise_balance_leave_report/__init__.py similarity index 100% rename from hr/search_criteria/monthly_attendance_details/__init__.py rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/__init__.py diff --git a/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js b/erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js similarity index 100% rename from hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js diff --git a/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py b/erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py similarity index 100% rename from hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py diff --git a/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt b/erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt similarity index 100% rename from hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt diff --git a/hr/search_criteria/monthly_salary_register/__init__.py b/erpnext/hr/search_criteria/employeewise_leave_transaction_details/__init__.py similarity index 100% rename from hr/search_criteria/monthly_salary_register/__init__.py rename to erpnext/hr/search_criteria/employeewise_leave_transaction_details/__init__.py diff --git a/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt b/erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt similarity index 100% rename from hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt rename to erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/__init__.py b/erpnext/hr/search_criteria/expense_vouchers/__init__.py similarity index 100% rename from hr/search_criteria/new_or_left_employees_for_a_month/__init__.py rename to erpnext/hr/search_criteria/expense_vouchers/__init__.py diff --git a/hr/search_criteria/expense_vouchers/expense_vouchers.txt b/erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt similarity index 100% rename from hr/search_criteria/expense_vouchers/expense_vouchers.txt rename to erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt diff --git a/hr/search_criteria/pending_appraisals/__init__.py b/erpnext/hr/search_criteria/monthly_attendance_details/__init__.py similarity index 100% rename from hr/search_criteria/pending_appraisals/__init__.py rename to erpnext/hr/search_criteria/monthly_attendance_details/__init__.py diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js similarity index 100% rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py similarity index 100% rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql similarity index 100% rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt similarity index 100% rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt diff --git a/hr/search_criteria/pending_expense_vouchers/__init__.py b/erpnext/hr/search_criteria/monthly_salary_register/__init__.py similarity index 100% rename from hr/search_criteria/pending_expense_vouchers/__init__.py rename to erpnext/hr/search_criteria/monthly_salary_register/__init__.py diff --git a/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt b/erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt similarity index 100% rename from hr/search_criteria/monthly_salary_register/monthly_salary_register.txt rename to erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt diff --git a/hr/search_criteria/salary_register/__init__.py b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/__init__.py similarity index 100% rename from hr/search_criteria/salary_register/__init__.py rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/__init__.py diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js similarity index 100% rename from hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py similarity index 100% rename from hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt similarity index 100% rename from hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt diff --git a/hr/search_criteria/salary_slips/__init__.py b/erpnext/hr/search_criteria/pending_appraisals/__init__.py similarity index 100% rename from hr/search_criteria/salary_slips/__init__.py rename to erpnext/hr/search_criteria/pending_appraisals/__init__.py diff --git a/hr/search_criteria/pending_appraisals/pending_appraisals.js b/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.js similarity index 100% rename from hr/search_criteria/pending_appraisals/pending_appraisals.js rename to erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.js diff --git a/hr/search_criteria/pending_appraisals/pending_appraisals.txt b/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt similarity index 100% rename from hr/search_criteria/pending_appraisals/pending_appraisals.txt rename to erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt diff --git a/hr/search_criteria/salary_structure_details/__init__.py b/erpnext/hr/search_criteria/pending_expense_vouchers/__init__.py similarity index 100% rename from hr/search_criteria/salary_structure_details/__init__.py rename to erpnext/hr/search_criteria/pending_expense_vouchers/__init__.py diff --git a/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js b/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js similarity index 100% rename from hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js rename to erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js diff --git a/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt b/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt similarity index 100% rename from hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt rename to erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt diff --git a/knowledge_base/__init__.py b/erpnext/hr/search_criteria/salary_register/__init__.py similarity index 100% rename from knowledge_base/__init__.py rename to erpnext/hr/search_criteria/salary_register/__init__.py diff --git a/hr/search_criteria/salary_register/salary_register.js b/erpnext/hr/search_criteria/salary_register/salary_register.js similarity index 100% rename from hr/search_criteria/salary_register/salary_register.js rename to erpnext/hr/search_criteria/salary_register/salary_register.js diff --git a/hr/search_criteria/salary_register/salary_register.py b/erpnext/hr/search_criteria/salary_register/salary_register.py similarity index 100% rename from hr/search_criteria/salary_register/salary_register.py rename to erpnext/hr/search_criteria/salary_register/salary_register.py diff --git a/hr/search_criteria/salary_register/salary_register.txt b/erpnext/hr/search_criteria/salary_register/salary_register.txt similarity index 100% rename from hr/search_criteria/salary_register/salary_register.txt rename to erpnext/hr/search_criteria/salary_register/salary_register.txt diff --git a/knowledge_base/doctype/__init__.py b/erpnext/hr/search_criteria/salary_slips/__init__.py similarity index 100% rename from knowledge_base/doctype/__init__.py rename to erpnext/hr/search_criteria/salary_slips/__init__.py diff --git a/hr/search_criteria/salary_slips/salary_slips.txt b/erpnext/hr/search_criteria/salary_slips/salary_slips.txt similarity index 100% rename from hr/search_criteria/salary_slips/salary_slips.txt rename to erpnext/hr/search_criteria/salary_slips/salary_slips.txt diff --git a/knowledge_base/doctype/answer/__init__.py b/erpnext/hr/search_criteria/salary_structure_details/__init__.py similarity index 100% rename from knowledge_base/doctype/answer/__init__.py rename to erpnext/hr/search_criteria/salary_structure_details/__init__.py diff --git a/hr/search_criteria/salary_structure_details/salary_structure_details.txt b/erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt similarity index 100% rename from hr/search_criteria/salary_structure_details/salary_structure_details.txt rename to erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt diff --git a/knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt b/erpnext/knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt similarity index 100% rename from knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt rename to erpnext/knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt diff --git a/knowledge_base/doctype/question/__init__.py b/erpnext/knowledge_base/__init__.py similarity index 100% rename from knowledge_base/doctype/question/__init__.py rename to erpnext/knowledge_base/__init__.py diff --git a/knowledge_base/doctype/question_control/__init__.py b/erpnext/knowledge_base/doctype/__init__.py similarity index 100% rename from knowledge_base/doctype/question_control/__init__.py rename to erpnext/knowledge_base/doctype/__init__.py diff --git a/knowledge_base/doctype/question_tag/__init__.py b/erpnext/knowledge_base/doctype/answer/__init__.py similarity index 100% rename from knowledge_base/doctype/question_tag/__init__.py rename to erpnext/knowledge_base/doctype/answer/__init__.py diff --git a/knowledge_base/doctype/answer/answer.txt b/erpnext/knowledge_base/doctype/answer/answer.txt similarity index 100% rename from knowledge_base/doctype/answer/answer.txt rename to erpnext/knowledge_base/doctype/answer/answer.txt diff --git a/knowledge_base/page/__init__.py b/erpnext/knowledge_base/doctype/question/__init__.py similarity index 100% rename from knowledge_base/page/__init__.py rename to erpnext/knowledge_base/doctype/question/__init__.py diff --git a/knowledge_base/doctype/question/question.py b/erpnext/knowledge_base/doctype/question/question.py similarity index 100% rename from knowledge_base/doctype/question/question.py rename to erpnext/knowledge_base/doctype/question/question.py diff --git a/knowledge_base/doctype/question/question.txt b/erpnext/knowledge_base/doctype/question/question.txt similarity index 100% rename from knowledge_base/doctype/question/question.txt rename to erpnext/knowledge_base/doctype/question/question.txt diff --git a/knowledge_base/page/question_view/__init__.py b/erpnext/knowledge_base/doctype/question_control/__init__.py similarity index 100% rename from knowledge_base/page/question_view/__init__.py rename to erpnext/knowledge_base/doctype/question_control/__init__.py diff --git a/knowledge_base/doctype/question_control/question_control.txt b/erpnext/knowledge_base/doctype/question_control/question_control.txt similarity index 100% rename from knowledge_base/doctype/question_control/question_control.txt rename to erpnext/knowledge_base/doctype/question_control/question_control.txt diff --git a/knowledge_base/page/questions/__init__.py b/erpnext/knowledge_base/doctype/question_tag/__init__.py similarity index 100% rename from knowledge_base/page/questions/__init__.py rename to erpnext/knowledge_base/doctype/question_tag/__init__.py diff --git a/knowledge_base/doctype/question_tag/question_tag.txt b/erpnext/knowledge_base/doctype/question_tag/question_tag.txt similarity index 100% rename from knowledge_base/doctype/question_tag/question_tag.txt rename to erpnext/knowledge_base/doctype/question_tag/question_tag.txt diff --git a/patches/__init__.py b/erpnext/knowledge_base/page/__init__.py similarity index 100% rename from patches/__init__.py rename to erpnext/knowledge_base/page/__init__.py diff --git a/knowledge_base/page/kb_common/kb_common.js b/erpnext/knowledge_base/page/kb_common/kb_common.js similarity index 100% rename from knowledge_base/page/kb_common/kb_common.js rename to erpnext/knowledge_base/page/kb_common/kb_common.js diff --git a/patches/old_patches/__init__.py b/erpnext/knowledge_base/page/question_view/__init__.py similarity index 100% rename from patches/old_patches/__init__.py rename to erpnext/knowledge_base/page/question_view/__init__.py diff --git a/knowledge_base/page/question_view/question_view.css b/erpnext/knowledge_base/page/question_view/question_view.css similarity index 100% rename from knowledge_base/page/question_view/question_view.css rename to erpnext/knowledge_base/page/question_view/question_view.css diff --git a/knowledge_base/page/question_view/question_view.js b/erpnext/knowledge_base/page/question_view/question_view.js similarity index 100% rename from knowledge_base/page/question_view/question_view.js rename to erpnext/knowledge_base/page/question_view/question_view.js diff --git a/knowledge_base/page/question_view/question_view.py b/erpnext/knowledge_base/page/question_view/question_view.py similarity index 100% rename from knowledge_base/page/question_view/question_view.py rename to erpnext/knowledge_base/page/question_view/question_view.py diff --git a/knowledge_base/page/question_view/question_view.txt b/erpnext/knowledge_base/page/question_view/question_view.txt similarity index 100% rename from knowledge_base/page/question_view/question_view.txt rename to erpnext/knowledge_base/page/question_view/question_view.txt diff --git a/production/__init__.py b/erpnext/knowledge_base/page/questions/__init__.py similarity index 100% rename from production/__init__.py rename to erpnext/knowledge_base/page/questions/__init__.py diff --git a/knowledge_base/page/questions/questions.css b/erpnext/knowledge_base/page/questions/questions.css similarity index 100% rename from knowledge_base/page/questions/questions.css rename to erpnext/knowledge_base/page/questions/questions.css diff --git a/knowledge_base/page/questions/questions.html b/erpnext/knowledge_base/page/questions/questions.html similarity index 100% rename from knowledge_base/page/questions/questions.html rename to erpnext/knowledge_base/page/questions/questions.html diff --git a/knowledge_base/page/questions/questions.js b/erpnext/knowledge_base/page/questions/questions.js similarity index 100% rename from knowledge_base/page/questions/questions.js rename to erpnext/knowledge_base/page/questions/questions.js diff --git a/knowledge_base/page/questions/questions.py b/erpnext/knowledge_base/page/questions/questions.py similarity index 100% rename from knowledge_base/page/questions/questions.py rename to erpnext/knowledge_base/page/questions/questions.py diff --git a/knowledge_base/page/questions/questions.txt b/erpnext/knowledge_base/page/questions/questions.txt similarity index 100% rename from knowledge_base/page/questions/questions.txt rename to erpnext/knowledge_base/page/questions/questions.txt diff --git a/production/doctype/__init__.py b/erpnext/patches/__init__.py similarity index 100% rename from production/doctype/__init__.py rename to erpnext/patches/__init__.py diff --git a/patches/delivery_billing_status_patch.py b/erpnext/patches/delivery_billing_status_patch.py similarity index 100% rename from patches/delivery_billing_status_patch.py rename to erpnext/patches/delivery_billing_status_patch.py diff --git a/patches/erpnext_structure_cleanup.py b/erpnext/patches/erpnext_structure_cleanup.py similarity index 100% rename from patches/erpnext_structure_cleanup.py rename to erpnext/patches/erpnext_structure_cleanup.py diff --git a/patches/index_patch.py b/erpnext/patches/index_patch.py similarity index 100% rename from patches/index_patch.py rename to erpnext/patches/index_patch.py diff --git a/production/doctype/bill_of_materials/__init__.py b/erpnext/patches/old_patches/__init__.py similarity index 100% rename from production/doctype/bill_of_materials/__init__.py rename to erpnext/patches/old_patches/__init__.py diff --git a/patches/old_patches/customer_address.py b/erpnext/patches/old_patches/customer_address.py similarity index 100% rename from patches/old_patches/customer_address.py rename to erpnext/patches/old_patches/customer_address.py diff --git a/patches/old_patches/doctype_permission_patch.py b/erpnext/patches/old_patches/doctype_permission_patch.py similarity index 100% rename from patches/old_patches/doctype_permission_patch.py rename to erpnext/patches/old_patches/doctype_permission_patch.py diff --git a/patches/old_patches/feed_patch.py b/erpnext/patches/old_patches/feed_patch.py similarity index 100% rename from patches/old_patches/feed_patch.py rename to erpnext/patches/old_patches/feed_patch.py diff --git a/patches/old_patches/patch_1.py b/erpnext/patches/old_patches/patch_1.py similarity index 100% rename from patches/old_patches/patch_1.py rename to erpnext/patches/old_patches/patch_1.py diff --git a/patches/old_patches/replacecode.py b/erpnext/patches/old_patches/replacecode.py similarity index 100% rename from patches/old_patches/replacecode.py rename to erpnext/patches/old_patches/replacecode.py diff --git a/patches/patch.py b/erpnext/patches/patch.py similarity index 92% rename from patches/patch.py rename to erpnext/patches/patch.py index b66b4f04719..456e9364cdd 100644 --- a/patches/patch.py +++ b/erpnext/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 377 +last_patch = 385 #------------------------------------------- @@ -376,7 +376,6 @@ def execute(patch_no): sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st) get_obj('Features Setup', 'Features Setup').doc.save() - elif patch_no == 372: from webnotes.modules.module_manager import reload_doc @@ -397,7 +396,7 @@ def execute(patch_no): elif patch_no == 373: sql("delete from `tabDocField` where fieldname = 'item_searial_nos' and parent = 'Features Setup'") sql("delete from `tabDefaultValue` where defkey = 'item_searial_nos' and parent = 'Control Panel'") - elif patch_no == 374: + elif patch_no == 374: rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null") from webnotes.model.code import get_obj m = get_obj('Features Setup') @@ -433,3 +432,27 @@ def execute(patch_no): prev_fy = f[0] sql("commit") sql("start transaction") + elif patch_no == 379: + sql("update tabDocPerm set amend = 0 where parent = 'Salary Structure'") + sql("update tabDocPerm set cancel = 1 where parent = 'Company' and role = 'System Manager'") + elif patch_no == 380: + if sql("select count(name) from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1: + sql("delete from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1") + if sql("select count(name) from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1: + sql("delete from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1") + elif patch_no == 381: + reload_doc('accounts', 'doctype', 'internal_reconciliation') + reload_doc('accounts', 'doctype', 'ir_payment_detail') + reload_doc('accounts', 'Module Def', 'Accounts') + elif patch_no == 382: + if sql("select count(name) from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button'")[0][0] > 1: + sql("delete from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button' limit 1") + elif patch_no == 383: + reload_doc('accounts', 'doctype', 'cost_center') + elif patch_no == 384: + reload_doc('stock', 'Module Def', 'Stock') + sql("delete from `tabModule Def Item` where display_name = 'Serial No' and parent = 'Support'") + sql("update `tabDocType` set subject = 'Item Code: %(item_code)s, Warehouse: %(warehouse)s' where name = 'Serial No'") + elif patch_no == 385: + # Patch for adding packing related columns (packed by, checked by, shipping mark etc) + reload_doc('stock','doctype','delivery_note') diff --git a/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt similarity index 98% rename from production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt rename to erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt index dfbef85dfcc..7065fa6ecc5 100644 --- a/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt +++ b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2010-01-27 16:03:20', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt similarity index 98% rename from production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt rename to erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt index 6125d981922..3d6281195d5 100644 --- a/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt +++ b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2010-02-12 12:41:03', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'jai@webnotestech.com' }, diff --git a/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt similarity index 98% rename from production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt rename to erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt index 41c517376f5..780b841208d 100644 --- a/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt +++ b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2009-12-21 13:16:59', + 'modified': '2011-09-15 15:04:45', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/production/Module Def/Production/Production.txt b/erpnext/production/Module Def/Production/Production.txt similarity index 100% rename from production/Module Def/Production/Production.txt rename to erpnext/production/Module Def/Production/Production.txt diff --git a/production/Role/Production Manager/Production Manager.txt b/erpnext/production/Role/Production Manager/Production Manager.txt similarity index 100% rename from production/Role/Production Manager/Production Manager.txt rename to erpnext/production/Role/Production Manager/Production Manager.txt diff --git a/production/Role/Production User/Production User.txt b/erpnext/production/Role/Production User/Production User.txt similarity index 100% rename from production/Role/Production User/Production User.txt rename to erpnext/production/Role/Production User/Production User.txt diff --git a/production/doctype/bom_control/__init__.py b/erpnext/production/__init__.py similarity index 100% rename from production/doctype/bom_control/__init__.py rename to erpnext/production/__init__.py diff --git a/production/doctype/bom_material/__init__.py b/erpnext/production/doctype/__init__.py similarity index 100% rename from production/doctype/bom_material/__init__.py rename to erpnext/production/doctype/__init__.py diff --git a/production/doctype/bom_operation/__init__.py b/erpnext/production/doctype/bill_of_materials/__init__.py similarity index 100% rename from production/doctype/bom_operation/__init__.py rename to erpnext/production/doctype/bill_of_materials/__init__.py diff --git a/production/doctype/bill_of_materials/bill_of_materials.js b/erpnext/production/doctype/bill_of_materials/bill_of_materials.js similarity index 100% rename from production/doctype/bill_of_materials/bill_of_materials.js rename to erpnext/production/doctype/bill_of_materials/bill_of_materials.js diff --git a/production/doctype/bill_of_materials/bill_of_materials.py b/erpnext/production/doctype/bill_of_materials/bill_of_materials.py similarity index 98% rename from production/doctype/bill_of_materials/bill_of_materials.py rename to erpnext/production/doctype/bill_of_materials/bill_of_materials.py index 9727a63fa86..9fcfb81f518 100644 --- a/production/doctype/bill_of_materials/bill_of_materials.py +++ b/erpnext/production/doctype/bill_of_materials/bill_of_materials.py @@ -501,7 +501,7 @@ class DocType: child_flat_bom_items=[] # if item and (item[0]['is_sub_contracted_item'] == 'Yes' or item[0]['is_pro_applicable'] == 'Yes'): - child_flat_bom_items = sql("select item_code, description, qty_consumed_per_unit, stock_uom, moving_avg_rate, last_purchase_rate, standard_rate, '%s' as parent_bom, bom_mat_no, 'No' as is_pro_applicable from `tabFlat BOM Detail` where parent = '%s' and is_pro_applicable = 'No' and docstatus = 1" % ( d.bom_no, cstr(d.bom_no))) + child_flat_bom_items = sql("select fbom.item_code, fbom.description, fbom.qty_consumed_per_unit, fbom.stock_uom, fbom.moving_avg_rate, fbom.last_purchase_rate, fbom.standard_rate, '%s' as parent_bom, fbom.bom_mat_no, 'No' as is_pro_applicable from `tabFlat BOM Detail` fbom,`tabBill Of Materials` bom where fbom.parent=bom.name and fbom.parent = '%s' and fbom.is_pro_applicable = 'No' and bom.docstatus = 1" % ( d.bom_no, cstr(d.bom_no))) self.cur_flat_bom_items.append([d.item_code, d.description, flt(d.qty), d.stock_uom, flt(d.moving_avg_rate), flt(d.amount_as_per_mar), flt(d.last_purchase_rate), flt(d.amount_as_per_lpr), flt(d.standard_rate), flt(d.amount_as_per_sr), flt(d.qty_consumed_per_unit), (item[0]['is_sub_contracted_item'] == 'Yes') and d.parent or d.bom_no, d.name, (item[0]['is_sub_contracted_item'] == 'Yes') and 'No' or 'Yes']) return child_flat_bom_items diff --git a/production/doctype/bill_of_materials/bill_of_materials.txt b/erpnext/production/doctype/bill_of_materials/bill_of_materials.txt similarity index 100% rename from production/doctype/bill_of_materials/bill_of_materials.txt rename to erpnext/production/doctype/bill_of_materials/bill_of_materials.txt diff --git a/production/doctype/bom_replace_utility/__init__.py b/erpnext/production/doctype/bom_control/__init__.py similarity index 100% rename from production/doctype/bom_replace_utility/__init__.py rename to erpnext/production/doctype/bom_control/__init__.py diff --git a/production/doctype/bom_control/bom_control.py b/erpnext/production/doctype/bom_control/bom_control.py similarity index 100% rename from production/doctype/bom_control/bom_control.py rename to erpnext/production/doctype/bom_control/bom_control.py diff --git a/production/doctype/bom_control/bom_control.txt b/erpnext/production/doctype/bom_control/bom_control.txt similarity index 100% rename from production/doctype/bom_control/bom_control.txt rename to erpnext/production/doctype/bom_control/bom_control.txt diff --git a/production/doctype/bom_replace_utility_detail/__init__.py b/erpnext/production/doctype/bom_material/__init__.py similarity index 100% rename from production/doctype/bom_replace_utility_detail/__init__.py rename to erpnext/production/doctype/bom_material/__init__.py diff --git a/production/doctype/bom_material/bom_material.txt b/erpnext/production/doctype/bom_material/bom_material.txt similarity index 100% rename from production/doctype/bom_material/bom_material.txt rename to erpnext/production/doctype/bom_material/bom_material.txt diff --git a/production/doctype/bom_report_detail/__init__.py b/erpnext/production/doctype/bom_operation/__init__.py similarity index 100% rename from production/doctype/bom_report_detail/__init__.py rename to erpnext/production/doctype/bom_operation/__init__.py diff --git a/production/doctype/bom_operation/bom_operation.txt b/erpnext/production/doctype/bom_operation/bom_operation.txt similarity index 100% rename from production/doctype/bom_operation/bom_operation.txt rename to erpnext/production/doctype/bom_operation/bom_operation.txt diff --git a/production/doctype/flat_bom_detail/__init__.py b/erpnext/production/doctype/bom_replace_utility/__init__.py similarity index 100% rename from production/doctype/flat_bom_detail/__init__.py rename to erpnext/production/doctype/bom_replace_utility/__init__.py diff --git a/production/doctype/bom_replace_utility/bom_replace_utility.js b/erpnext/production/doctype/bom_replace_utility/bom_replace_utility.js similarity index 100% rename from production/doctype/bom_replace_utility/bom_replace_utility.js rename to erpnext/production/doctype/bom_replace_utility/bom_replace_utility.js diff --git a/production/doctype/bom_replace_utility/bom_replace_utility.py b/erpnext/production/doctype/bom_replace_utility/bom_replace_utility.py similarity index 100% rename from production/doctype/bom_replace_utility/bom_replace_utility.py rename to erpnext/production/doctype/bom_replace_utility/bom_replace_utility.py diff --git a/production/doctype/bom_replace_utility/bom_replace_utility.txt b/erpnext/production/doctype/bom_replace_utility/bom_replace_utility.txt similarity index 100% rename from production/doctype/bom_replace_utility/bom_replace_utility.txt rename to erpnext/production/doctype/bom_replace_utility/bom_replace_utility.txt diff --git a/production/doctype/pf_detail/__init__.py b/erpnext/production/doctype/bom_replace_utility_detail/__init__.py similarity index 100% rename from production/doctype/pf_detail/__init__.py rename to erpnext/production/doctype/bom_replace_utility_detail/__init__.py diff --git a/production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt b/erpnext/production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt similarity index 100% rename from production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt rename to erpnext/production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt diff --git a/production/doctype/pp_detail/__init__.py b/erpnext/production/doctype/bom_report_detail/__init__.py similarity index 100% rename from production/doctype/pp_detail/__init__.py rename to erpnext/production/doctype/bom_report_detail/__init__.py diff --git a/production/doctype/bom_report_detail/bom_report_detail.txt b/erpnext/production/doctype/bom_report_detail/bom_report_detail.txt similarity index 100% rename from production/doctype/bom_report_detail/bom_report_detail.txt rename to erpnext/production/doctype/bom_report_detail/bom_report_detail.txt diff --git a/production/doctype/pp_so_detail/__init__.py b/erpnext/production/doctype/flat_bom_detail/__init__.py similarity index 100% rename from production/doctype/pp_so_detail/__init__.py rename to erpnext/production/doctype/flat_bom_detail/__init__.py diff --git a/production/doctype/flat_bom_detail/flat_bom_detail.txt b/erpnext/production/doctype/flat_bom_detail/flat_bom_detail.txt similarity index 100% rename from production/doctype/flat_bom_detail/flat_bom_detail.txt rename to erpnext/production/doctype/flat_bom_detail/flat_bom_detail.txt diff --git a/production/doctype/ppw_detail/__init__.py b/erpnext/production/doctype/pf_detail/__init__.py similarity index 100% rename from production/doctype/ppw_detail/__init__.py rename to erpnext/production/doctype/pf_detail/__init__.py diff --git a/production/doctype/pf_detail/pf_detail.txt b/erpnext/production/doctype/pf_detail/pf_detail.txt similarity index 100% rename from production/doctype/pf_detail/pf_detail.txt rename to erpnext/production/doctype/pf_detail/pf_detail.txt diff --git a/production/doctype/pro_detail/__init__.py b/erpnext/production/doctype/pp_detail/__init__.py similarity index 100% rename from production/doctype/pro_detail/__init__.py rename to erpnext/production/doctype/pp_detail/__init__.py diff --git a/production/doctype/pp_detail/pp_detail.txt b/erpnext/production/doctype/pp_detail/pp_detail.txt similarity index 100% rename from production/doctype/pp_detail/pp_detail.txt rename to erpnext/production/doctype/pp_detail/pp_detail.txt diff --git a/production/doctype/pro_pp_detail/__init__.py b/erpnext/production/doctype/pp_so_detail/__init__.py similarity index 100% rename from production/doctype/pro_pp_detail/__init__.py rename to erpnext/production/doctype/pp_so_detail/__init__.py diff --git a/production/doctype/pp_so_detail/pp_so_detail.txt b/erpnext/production/doctype/pp_so_detail/pp_so_detail.txt similarity index 100% rename from production/doctype/pp_so_detail/pp_so_detail.txt rename to erpnext/production/doctype/pp_so_detail/pp_so_detail.txt diff --git a/production/doctype/production_control/__init__.py b/erpnext/production/doctype/ppw_detail/__init__.py similarity index 100% rename from production/doctype/production_control/__init__.py rename to erpnext/production/doctype/ppw_detail/__init__.py diff --git a/production/doctype/ppw_detail/ppw_detail.txt b/erpnext/production/doctype/ppw_detail/ppw_detail.txt similarity index 100% rename from production/doctype/ppw_detail/ppw_detail.txt rename to erpnext/production/doctype/ppw_detail/ppw_detail.txt diff --git a/production/doctype/production_order/__init__.py b/erpnext/production/doctype/pro_detail/__init__.py similarity index 100% rename from production/doctype/production_order/__init__.py rename to erpnext/production/doctype/pro_detail/__init__.py diff --git a/production/doctype/pro_detail/pro_detail.txt b/erpnext/production/doctype/pro_detail/pro_detail.txt similarity index 100% rename from production/doctype/pro_detail/pro_detail.txt rename to erpnext/production/doctype/pro_detail/pro_detail.txt diff --git a/production/doctype/production_planning_tool/__init__.py b/erpnext/production/doctype/pro_pp_detail/__init__.py similarity index 100% rename from production/doctype/production_planning_tool/__init__.py rename to erpnext/production/doctype/pro_pp_detail/__init__.py diff --git a/production/doctype/pro_pp_detail/pro_pp_detail.txt b/erpnext/production/doctype/pro_pp_detail/pro_pp_detail.txt similarity index 100% rename from production/doctype/pro_pp_detail/pro_pp_detail.txt rename to erpnext/production/doctype/pro_pp_detail/pro_pp_detail.txt diff --git a/production/doctype/update_delivery_date/__init__.py b/erpnext/production/doctype/production_control/__init__.py similarity index 100% rename from production/doctype/update_delivery_date/__init__.py rename to erpnext/production/doctype/production_control/__init__.py diff --git a/production/doctype/production_control/production_control.py b/erpnext/production/doctype/production_control/production_control.py similarity index 100% rename from production/doctype/production_control/production_control.py rename to erpnext/production/doctype/production_control/production_control.py diff --git a/production/doctype/production_control/production_control.txt b/erpnext/production/doctype/production_control/production_control.txt similarity index 100% rename from production/doctype/production_control/production_control.txt rename to erpnext/production/doctype/production_control/production_control.txt diff --git a/production/doctype/update_delivery_date_detail/__init__.py b/erpnext/production/doctype/production_order/__init__.py similarity index 100% rename from production/doctype/update_delivery_date_detail/__init__.py rename to erpnext/production/doctype/production_order/__init__.py diff --git a/production/doctype/production_order/production_order.js b/erpnext/production/doctype/production_order/production_order.js similarity index 100% rename from production/doctype/production_order/production_order.js rename to erpnext/production/doctype/production_order/production_order.js diff --git a/production/doctype/production_order/production_order.py b/erpnext/production/doctype/production_order/production_order.py similarity index 100% rename from production/doctype/production_order/production_order.py rename to erpnext/production/doctype/production_order/production_order.py diff --git a/production/doctype/production_order/production_order.txt b/erpnext/production/doctype/production_order/production_order.txt similarity index 100% rename from production/doctype/production_order/production_order.txt rename to erpnext/production/doctype/production_order/production_order.txt diff --git a/production/doctype/workstation/__init__.py b/erpnext/production/doctype/production_planning_tool/__init__.py similarity index 100% rename from production/doctype/workstation/__init__.py rename to erpnext/production/doctype/production_planning_tool/__init__.py diff --git a/production/doctype/production_planning_tool/production_planning_tool.js b/erpnext/production/doctype/production_planning_tool/production_planning_tool.js similarity index 100% rename from production/doctype/production_planning_tool/production_planning_tool.js rename to erpnext/production/doctype/production_planning_tool/production_planning_tool.js diff --git a/production/doctype/production_planning_tool/production_planning_tool.py b/erpnext/production/doctype/production_planning_tool/production_planning_tool.py similarity index 100% rename from production/doctype/production_planning_tool/production_planning_tool.py rename to erpnext/production/doctype/production_planning_tool/production_planning_tool.py diff --git a/production/doctype/production_planning_tool/production_planning_tool.txt b/erpnext/production/doctype/production_planning_tool/production_planning_tool.txt similarity index 100% rename from production/doctype/production_planning_tool/production_planning_tool.txt rename to erpnext/production/doctype/production_planning_tool/production_planning_tool.txt diff --git a/production/page/__init__.py b/erpnext/production/doctype/update_delivery_date/__init__.py similarity index 100% rename from production/page/__init__.py rename to erpnext/production/doctype/update_delivery_date/__init__.py diff --git a/production/doctype/update_delivery_date/update_delivery_date.js b/erpnext/production/doctype/update_delivery_date/update_delivery_date.js similarity index 100% rename from production/doctype/update_delivery_date/update_delivery_date.js rename to erpnext/production/doctype/update_delivery_date/update_delivery_date.js diff --git a/production/doctype/update_delivery_date/update_delivery_date.py b/erpnext/production/doctype/update_delivery_date/update_delivery_date.py similarity index 100% rename from production/doctype/update_delivery_date/update_delivery_date.py rename to erpnext/production/doctype/update_delivery_date/update_delivery_date.py diff --git a/production/doctype/update_delivery_date/update_delivery_date.txt b/erpnext/production/doctype/update_delivery_date/update_delivery_date.txt similarity index 100% rename from production/doctype/update_delivery_date/update_delivery_date.txt rename to erpnext/production/doctype/update_delivery_date/update_delivery_date.txt diff --git a/production/page/bill_of_materials/__init__.py b/erpnext/production/doctype/update_delivery_date_detail/__init__.py similarity index 100% rename from production/page/bill_of_materials/__init__.py rename to erpnext/production/doctype/update_delivery_date_detail/__init__.py diff --git a/production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt b/erpnext/production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt similarity index 100% rename from production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt rename to erpnext/production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt diff --git a/production/search_criteria/__init__.py b/erpnext/production/doctype/workstation/__init__.py similarity index 100% rename from production/search_criteria/__init__.py rename to erpnext/production/doctype/workstation/__init__.py diff --git a/production/doctype/workstation/workstation.js b/erpnext/production/doctype/workstation/workstation.js similarity index 100% rename from production/doctype/workstation/workstation.js rename to erpnext/production/doctype/workstation/workstation.js diff --git a/production/doctype/workstation/workstation.py b/erpnext/production/doctype/workstation/workstation.py similarity index 100% rename from production/doctype/workstation/workstation.py rename to erpnext/production/doctype/workstation/workstation.py diff --git a/production/doctype/workstation/workstation.txt b/erpnext/production/doctype/workstation/workstation.txt similarity index 100% rename from production/doctype/workstation/workstation.txt rename to erpnext/production/doctype/workstation/workstation.txt diff --git a/production/search_criteria/consumption_against_production/__init__.py b/erpnext/production/page/__init__.py similarity index 100% rename from production/search_criteria/consumption_against_production/__init__.py rename to erpnext/production/page/__init__.py diff --git a/production/search_criteria/delivery_plan/__init__.py b/erpnext/production/page/bill_of_materials/__init__.py similarity index 100% rename from production/search_criteria/delivery_plan/__init__.py rename to erpnext/production/page/bill_of_materials/__init__.py diff --git a/production/page/bill_of_materials/bill_of_materials.html b/erpnext/production/page/bill_of_materials/bill_of_materials.html similarity index 100% rename from production/page/bill_of_materials/bill_of_materials.html rename to erpnext/production/page/bill_of_materials/bill_of_materials.html diff --git a/production/page/bill_of_materials/bill_of_materials.js b/erpnext/production/page/bill_of_materials/bill_of_materials.js similarity index 100% rename from production/page/bill_of_materials/bill_of_materials.js rename to erpnext/production/page/bill_of_materials/bill_of_materials.js diff --git a/production/page/bill_of_materials/bill_of_materials.txt b/erpnext/production/page/bill_of_materials/bill_of_materials.txt similarity index 100% rename from production/page/bill_of_materials/bill_of_materials.txt rename to erpnext/production/page/bill_of_materials/bill_of_materials.txt diff --git a/production/search_criteria/itemwise_production_report/__init__.py b/erpnext/production/search_criteria/__init__.py similarity index 100% rename from production/search_criteria/itemwise_production_report/__init__.py rename to erpnext/production/search_criteria/__init__.py diff --git a/production/search_criteria/production_orders_in_process/__init__.py b/erpnext/production/search_criteria/consumption_against_production/__init__.py similarity index 100% rename from production/search_criteria/production_orders_in_process/__init__.py rename to erpnext/production/search_criteria/consumption_against_production/__init__.py diff --git a/production/search_criteria/consumption_against_production/consumption_against_production.txt b/erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt similarity index 100% rename from production/search_criteria/consumption_against_production/consumption_against_production.txt rename to erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt diff --git a/projects/__init__.py b/erpnext/production/search_criteria/delivery_plan/__init__.py similarity index 100% rename from projects/__init__.py rename to erpnext/production/search_criteria/delivery_plan/__init__.py diff --git a/production/search_criteria/delivery_plan/delivery_plan.js b/erpnext/production/search_criteria/delivery_plan/delivery_plan.js similarity index 100% rename from production/search_criteria/delivery_plan/delivery_plan.js rename to erpnext/production/search_criteria/delivery_plan/delivery_plan.js diff --git a/production/search_criteria/delivery_plan/delivery_plan.txt b/erpnext/production/search_criteria/delivery_plan/delivery_plan.txt similarity index 100% rename from production/search_criteria/delivery_plan/delivery_plan.txt rename to erpnext/production/search_criteria/delivery_plan/delivery_plan.txt diff --git a/projects/doctype/__init__.py b/erpnext/production/search_criteria/itemwise_production_report/__init__.py similarity index 100% rename from projects/doctype/__init__.py rename to erpnext/production/search_criteria/itemwise_production_report/__init__.py diff --git a/production/search_criteria/itemwise_production_report/itemwise_production_report.js b/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.js similarity index 100% rename from production/search_criteria/itemwise_production_report/itemwise_production_report.js rename to erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.js diff --git a/production/search_criteria/itemwise_production_report/itemwise_production_report.txt b/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt similarity index 100% rename from production/search_criteria/itemwise_production_report/itemwise_production_report.txt rename to erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt diff --git a/projects/doctype/activity_type/__init__.py b/erpnext/production/search_criteria/production_orders_in_process/__init__.py similarity index 100% rename from projects/doctype/activity_type/__init__.py rename to erpnext/production/search_criteria/production_orders_in_process/__init__.py diff --git a/production/search_criteria/production_orders_in_process/production_orders_in_process.txt b/erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt similarity index 100% rename from production/search_criteria/production_orders_in_process/production_orders_in_process.txt rename to erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt diff --git a/projects/Module Def/Projects/Projects.txt b/erpnext/projects/Module Def/Projects/Projects.txt similarity index 100% rename from projects/Module Def/Projects/Projects.txt rename to erpnext/projects/Module Def/Projects/Projects.txt diff --git a/projects/Role/Projects User/Projects User.txt b/erpnext/projects/Role/Projects User/Projects User.txt similarity index 100% rename from projects/Role/Projects User/Projects User.txt rename to erpnext/projects/Role/Projects User/Projects User.txt diff --git a/projects/doctype/project/__init__.py b/erpnext/projects/__init__.py similarity index 100% rename from projects/doctype/project/__init__.py rename to erpnext/projects/__init__.py diff --git a/projects/doctype/project_activity/__init__.py b/erpnext/projects/doctype/__init__.py similarity index 100% rename from projects/doctype/project_activity/__init__.py rename to erpnext/projects/doctype/__init__.py diff --git a/projects/doctype/project_activity_update/__init__.py b/erpnext/projects/doctype/activity_type/__init__.py similarity index 100% rename from projects/doctype/project_activity_update/__init__.py rename to erpnext/projects/doctype/activity_type/__init__.py diff --git a/projects/doctype/activity_type/activity_type.txt b/erpnext/projects/doctype/activity_type/activity_type.txt similarity index 100% rename from projects/doctype/activity_type/activity_type.txt rename to erpnext/projects/doctype/activity_type/activity_type.txt diff --git a/projects/doctype/project_control/__init__.py b/erpnext/projects/doctype/project/__init__.py similarity index 100% rename from projects/doctype/project_control/__init__.py rename to erpnext/projects/doctype/project/__init__.py diff --git a/projects/doctype/project/project.js b/erpnext/projects/doctype/project/project.js similarity index 100% rename from projects/doctype/project/project.js rename to erpnext/projects/doctype/project/project.js diff --git a/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py similarity index 100% rename from projects/doctype/project/project.py rename to erpnext/projects/doctype/project/project.py diff --git a/projects/doctype/project/project.txt b/erpnext/projects/doctype/project/project.txt similarity index 100% rename from projects/doctype/project/project.txt rename to erpnext/projects/doctype/project/project.txt diff --git a/projects/doctype/project_milestone/__init__.py b/erpnext/projects/doctype/project_activity/__init__.py similarity index 100% rename from projects/doctype/project_milestone/__init__.py rename to erpnext/projects/doctype/project_activity/__init__.py diff --git a/projects/doctype/project_activity/project_activity.js b/erpnext/projects/doctype/project_activity/project_activity.js similarity index 100% rename from projects/doctype/project_activity/project_activity.js rename to erpnext/projects/doctype/project_activity/project_activity.js diff --git a/projects/doctype/project_activity/project_activity.py b/erpnext/projects/doctype/project_activity/project_activity.py similarity index 100% rename from projects/doctype/project_activity/project_activity.py rename to erpnext/projects/doctype/project_activity/project_activity.py diff --git a/projects/doctype/project_activity/project_activity.txt b/erpnext/projects/doctype/project_activity/project_activity.txt similarity index 100% rename from projects/doctype/project_activity/project_activity.txt rename to erpnext/projects/doctype/project_activity/project_activity.txt diff --git a/projects/doctype/ticket/__init__.py b/erpnext/projects/doctype/project_activity_update/__init__.py similarity index 100% rename from projects/doctype/ticket/__init__.py rename to erpnext/projects/doctype/project_activity_update/__init__.py diff --git a/projects/doctype/project_activity_update/project_activity_update.txt b/erpnext/projects/doctype/project_activity_update/project_activity_update.txt similarity index 100% rename from projects/doctype/project_activity_update/project_activity_update.txt rename to erpnext/projects/doctype/project_activity_update/project_activity_update.txt diff --git a/projects/doctype/timesheet/__init__.py b/erpnext/projects/doctype/project_control/__init__.py similarity index 100% rename from projects/doctype/timesheet/__init__.py rename to erpnext/projects/doctype/project_control/__init__.py diff --git a/projects/doctype/project_control/project_control.py b/erpnext/projects/doctype/project_control/project_control.py similarity index 100% rename from projects/doctype/project_control/project_control.py rename to erpnext/projects/doctype/project_control/project_control.py diff --git a/projects/doctype/project_control/project_control.txt b/erpnext/projects/doctype/project_control/project_control.txt similarity index 100% rename from projects/doctype/project_control/project_control.txt rename to erpnext/projects/doctype/project_control/project_control.txt diff --git a/projects/doctype/timesheet_detail/__init__.py b/erpnext/projects/doctype/project_milestone/__init__.py similarity index 100% rename from projects/doctype/timesheet_detail/__init__.py rename to erpnext/projects/doctype/project_milestone/__init__.py diff --git a/projects/doctype/project_milestone/project_milestone.txt b/erpnext/projects/doctype/project_milestone/project_milestone.txt similarity index 100% rename from projects/doctype/project_milestone/project_milestone.txt rename to erpnext/projects/doctype/project_milestone/project_milestone.txt diff --git a/projects/page/__init__.py b/erpnext/projects/doctype/ticket/__init__.py similarity index 100% rename from projects/page/__init__.py rename to erpnext/projects/doctype/ticket/__init__.py diff --git a/projects/doctype/ticket/ticket.js b/erpnext/projects/doctype/ticket/ticket.js similarity index 100% rename from projects/doctype/ticket/ticket.js rename to erpnext/projects/doctype/ticket/ticket.js diff --git a/projects/doctype/ticket/ticket.py b/erpnext/projects/doctype/ticket/ticket.py similarity index 100% rename from projects/doctype/ticket/ticket.py rename to erpnext/projects/doctype/ticket/ticket.py diff --git a/projects/doctype/ticket/ticket.txt b/erpnext/projects/doctype/ticket/ticket.txt similarity index 100% rename from projects/doctype/ticket/ticket.txt rename to erpnext/projects/doctype/ticket/ticket.txt diff --git a/projects/page/projects/__init__.py b/erpnext/projects/doctype/timesheet/__init__.py similarity index 100% rename from projects/page/projects/__init__.py rename to erpnext/projects/doctype/timesheet/__init__.py diff --git a/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js similarity index 100% rename from projects/doctype/timesheet/timesheet.js rename to erpnext/projects/doctype/timesheet/timesheet.js diff --git a/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py similarity index 100% rename from projects/doctype/timesheet/timesheet.py rename to erpnext/projects/doctype/timesheet/timesheet.py diff --git a/projects/doctype/timesheet/timesheet.txt b/erpnext/projects/doctype/timesheet/timesheet.txt similarity index 100% rename from projects/doctype/timesheet/timesheet.txt rename to erpnext/projects/doctype/timesheet/timesheet.txt diff --git a/projects/search_criteria/__init__.py b/erpnext/projects/doctype/timesheet_detail/__init__.py similarity index 100% rename from projects/search_criteria/__init__.py rename to erpnext/projects/doctype/timesheet_detail/__init__.py diff --git a/projects/doctype/timesheet_detail/timesheet_detail.txt b/erpnext/projects/doctype/timesheet_detail/timesheet_detail.txt similarity index 100% rename from projects/doctype/timesheet_detail/timesheet_detail.txt rename to erpnext/projects/doctype/timesheet_detail/timesheet_detail.txt diff --git a/projects/search_criteria/dispatch_report/__init__.py b/erpnext/projects/page/__init__.py similarity index 100% rename from projects/search_criteria/dispatch_report/__init__.py rename to erpnext/projects/page/__init__.py diff --git a/projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py b/erpnext/projects/page/projects/__init__.py similarity index 100% rename from projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py rename to erpnext/projects/page/projects/__init__.py diff --git a/projects/page/projects/projects.html b/erpnext/projects/page/projects/projects.html similarity index 100% rename from projects/page/projects/projects.html rename to erpnext/projects/page/projects/projects.html diff --git a/projects/page/projects/projects.js b/erpnext/projects/page/projects/projects.js similarity index 100% rename from projects/page/projects/projects.js rename to erpnext/projects/page/projects/projects.js diff --git a/projects/page/projects/projects.txt b/erpnext/projects/page/projects/projects.txt similarity index 100% rename from projects/page/projects/projects.txt rename to erpnext/projects/page/projects/projects.txt diff --git a/projects/page/projects/projects_static.html b/erpnext/projects/page/projects/projects_static.html similarity index 100% rename from projects/page/projects/projects_static.html rename to erpnext/projects/page/projects/projects_static.html diff --git a/projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py b/erpnext/projects/search_criteria/__init__.py similarity index 100% rename from projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py rename to erpnext/projects/search_criteria/__init__.py diff --git a/projects/search_criteria/projectwise_purchase_details/__init__.py b/erpnext/projects/search_criteria/dispatch_report/__init__.py similarity index 100% rename from projects/search_criteria/projectwise_purchase_details/__init__.py rename to erpnext/projects/search_criteria/dispatch_report/__init__.py diff --git a/projects/search_criteria/dispatch_report/dispatch_report.js b/erpnext/projects/search_criteria/dispatch_report/dispatch_report.js similarity index 100% rename from projects/search_criteria/dispatch_report/dispatch_report.js rename to erpnext/projects/search_criteria/dispatch_report/dispatch_report.js diff --git a/projects/search_criteria/dispatch_report/dispatch_report.txt b/erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt similarity index 100% rename from projects/search_criteria/dispatch_report/dispatch_report.txt rename to erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt diff --git a/projects/search_criteria/projectwise_sales_details/__init__.py b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py similarity index 100% rename from projects/search_criteria/projectwise_sales_details/__init__.py rename to erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py diff --git a/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js similarity index 100% rename from projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js rename to erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js diff --git a/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt similarity index 100% rename from projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt rename to erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt diff --git a/projects/search_criteria/projectwise_sales_orders/__init__.py b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py similarity index 100% rename from projects/search_criteria/projectwise_sales_orders/__init__.py rename to erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py diff --git a/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js similarity index 100% rename from projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js rename to erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js diff --git a/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt similarity index 100% rename from projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt rename to erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt diff --git a/projects/search_criteria/timesheet_report/__init__.py b/erpnext/projects/search_criteria/projectwise_purchase_details/__init__.py similarity index 100% rename from projects/search_criteria/timesheet_report/__init__.py rename to erpnext/projects/search_criteria/projectwise_purchase_details/__init__.py diff --git a/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js similarity index 100% rename from projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js rename to erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js diff --git a/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py similarity index 100% rename from projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py rename to erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py diff --git a/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt similarity index 100% rename from projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt rename to erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt diff --git a/selling/__init__.py b/erpnext/projects/search_criteria/projectwise_sales_details/__init__.py similarity index 100% rename from selling/__init__.py rename to erpnext/projects/search_criteria/projectwise_sales_details/__init__.py diff --git a/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js similarity index 100% rename from projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js rename to erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js diff --git a/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py similarity index 100% rename from projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py rename to erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py diff --git a/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt similarity index 100% rename from projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt rename to erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt diff --git a/selling/doctype/__init__.py b/erpnext/projects/search_criteria/projectwise_sales_orders/__init__.py similarity index 100% rename from selling/doctype/__init__.py rename to erpnext/projects/search_criteria/projectwise_sales_orders/__init__.py diff --git a/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt b/erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt similarity index 100% rename from projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt rename to erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt diff --git a/selling/doctype/campaign/__init__.py b/erpnext/projects/search_criteria/timesheet_report/__init__.py similarity index 100% rename from selling/doctype/campaign/__init__.py rename to erpnext/projects/search_criteria/timesheet_report/__init__.py diff --git a/projects/search_criteria/timesheet_report/timesheet_report.js b/erpnext/projects/search_criteria/timesheet_report/timesheet_report.js similarity index 100% rename from projects/search_criteria/timesheet_report/timesheet_report.js rename to erpnext/projects/search_criteria/timesheet_report/timesheet_report.js diff --git a/projects/search_criteria/timesheet_report/timesheet_report.txt b/erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt similarity index 100% rename from projects/search_criteria/timesheet_report/timesheet_report.txt rename to erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt diff --git a/selling/doctype/customer/__init__.py b/erpnext/sandbox/__init__.py similarity index 100% rename from selling/doctype/customer/__init__.py rename to erpnext/sandbox/__init__.py diff --git a/erpnext/sandbox/test_stock_entry.py b/erpnext/sandbox/test_stock_entry.py new file mode 100644 index 00000000000..f1035bc455a --- /dev/null +++ b/erpnext/sandbox/test_stock_entry.py @@ -0,0 +1,380 @@ +import unittest + +import webnotes +import webnotes.profile +webnotes.user = webnotes.profile.Profile() + + +from webnotes.model.doc import Document +from webnotes.model.code import get_obj +from webnotes.utils import cstr, flt +from webnotes.model.doclist import getlist +sql = webnotes.conn.sql + +from sandbox.testdata.masters import * +from sandbox.testdata import stock_entry +#---------------------------------------------------------- + + +class TestStockEntry(unittest.TestCase): + #=========================================================================== + def assertDoc(self, lst): + """assert all values""" + for d in lst: + cl, vl = [], [] + for k in d.keys(): + if k!='doctype': + cl.append('%s=%s' % (k, '%s')) + vl.append(d[k]) + + self.assertTrue(sql("select name from `tab%s` where %s limit 1" % (d['doctype'], ' and '.join(cl)), vl)) + + #=========================================================================== + def assertCount(self, lst): + """assert all values""" + for d in lst: + cl, vl = [], [] + for k in d[0].keys(): + if k!='doctype': + cl.append('%s=%s' % (k, '%s')) + vl.append(d[0][k]) + + self.assertTrue(sql("select count(name) from `tab%s` where %s limit 1" % (d[0]['doctype'], ' and '.join(cl)), vl)[0][0] == d[1]) + + #=========================================================================== + def setUp(self): + print "=====================================" + webnotes.conn.begin() + create_master_records() + print 'Master Data Created' + + #=========================================================================== + # Purpose: Material Receipt + #=========================================================================== + def test_mr_onsubmit(self): + print "Test Case: Material Receipt submission" + self.save_stock_entry('Material Receipt') + + mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1) + self.submit_stock_entry(mr) + + # stock ledger entry + print "Checking stock ledger entry........." + self.assertDoc(self.get_expected_sle('mr_submit')) + + # bin qty + print "Checking Bin qty........." + self.assertDoc([{'doctype':'Bin', 'actual_qty':10, 'item_code':'it', 'warehouse':'wh1'}]) + + # serial no + self.assertCount([[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 10]]) + + + #=========================================================================== + def test_mr_oncancel(self): + print "Test Case: Material Receipt Cancellation" + self.save_stock_entry('Material Receipt') + + mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1) + self.cancel_stock_entry(mr) + + # stock ledger entry + print "Checking stock ledger entry........." + self.assertDoc(self.get_expected_sle('mr_cancel')) + + # bin qty + print "Checking Bin qty........." + self.assertDoc([{'doctype':'Bin', 'actual_qty':0, 'item_code':'it', 'warehouse':'wh1'}]) + + # serial no + self.assertCount([[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': '', 'status': 'Not in Use', 'docstatus': 2}, 10]]) + + #=========================================================================== + # Purpose: Material Transafer + #=========================================================================== + def test_mtn_onsubmit(self): + print "Test Case: Material Transfer Note submission" + + self.save_stock_entry('Material Receipt') + mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1) + mr = self.submit_stock_entry(mr) + + self.save_stock_entry('Material Transfer') + mtn = get_obj('Stock Entry', stock_entry.mtn[0].name, with_children=1) + tn = self.submit_stock_entry(mtn) + + # stock ledger entry + print "Checking stock ledger entry........." + self.assertDoc(self.get_expected_sle('mtn_submit')) + + # bin qty + print "Checking Bin qty........." + self.assertDoc([ + {'doctype':'Bin', 'actual_qty':5, 'item_code':'it', 'warehouse':'wh1'}, + {'doctype':'Bin', 'actual_qty':5, 'item_code':'it', 'warehouse':'wh2'} + ]) + + # serial no + self.assertCount([ + [{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 5], + [{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh2', 'status': 'In Store', 'docstatus': 0}, 5] + ]) + + #=========================================================================== + def test_mtn_oncancel(self): + print "Test Case: Material Transfer Note Cancellation" + + self.save_stock_entry('Material Receipt') + mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1) + mr = self.submit_stock_entry(mr) + + self.save_stock_entry('Material Transfer') + mtn = get_obj('Stock Entry', stock_entry.mtn[0].name, with_children=1) + self.cancel_stock_entry(mtn) + + # stock ledger entry + print "Checking stock ledger entry........." + self.assertDoc(self.get_expected_sle('mtn_cancel')) + + # bin qty + print "Checking Bin qty........." + self.assertDoc([ + {'doctype':'Bin', 'actual_qty':10, 'item_code':'it', 'warehouse':'wh1'}, + {'doctype':'Bin', 'actual_qty':0, 'item_code':'it', 'warehouse':'wh2'} + ]) + + # serial no + self.assertCount([[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 10]]) + +#=========================================================================== + # Purpose: Material Issue + #=========================================================================== + def test_mi_onsubmit(self): + print "Test Case: Material Issue submission" + + self.save_stock_entry('Material Receipt') + mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1) + mr = self.submit_stock_entry(mr) + + self.save_stock_entry('Material Issue') + mi = get_obj('Stock Entry', stock_entry.mi[0].name, with_children=1) + mi = self.submit_stock_entry(mi) + + # stock ledger entry + print "Checking stock ledger entry........." + self.assertDoc(self.get_expected_sle('mi_submit')) + + # bin qty + print "Checking Bin qty........." + self.assertDoc([ + {'doctype':'Bin', 'actual_qty':6, 'item_code':'it', 'warehouse':'wh1'} + ]) + + # serial no + self.assertCount([ + [{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 6] + ]) + + #=========================================================================== + def test_mi_oncancel(self): + print "Test Case: Material Issue Cancellation" + + self.save_stock_entry('Material Receipt') + mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1) + mr = self.submit_stock_entry(mr) + + self.save_stock_entry('Material Issue') + mi = get_obj('Stock Entry', stock_entry.mi[0].name, with_children=1) + self.cancel_stock_entry(mi) + + # stock ledger entry + print "Checking stock ledger entry........." + self.assertDoc(self.get_expected_sle('mi_cancel')) + + # bin qty + print "Checking Bin qty........." + self.assertDoc([ + {'doctype':'Bin', 'actual_qty':10, 'item_code':'it', 'warehouse':'wh1'} + ]) + + # serial no + self.assertCount([ + [{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 10] + ]) + + + + #=========================================================================== + def save_stock_entry(self, t): + if t == 'Material Receipt': + data = stock_entry.mr + elif t == 'Material Transfer': + data = stock_entry.mtn + elif t == 'Material Issue': + data = stock_entry.mi + + for each in data: + each.save(1) + + for t in data[1:]: + sql("update `tabStock Entry Detail` set parent = '%s' where name = '%s'" % (data[0].name, t.name)) + print "Stock Entry Created" + + + #=========================================================================== + def submit_stock_entry(self, ste): + ste.validate() + ste.on_submit() + + ste.doc.docstatus = 1 + ste.doc.save() + + print "Stock Entry Submitted" + return ste + + #=========================================================================== + def cancel_stock_entry(self, ste): + ste = self.submit_stock_entry(ste) + + ste.on_cancel() + + ste.doc.cancel_reason = "testing" + ste.doc.docstatus = 2 + ste.doc.save() + + print "Stock Entry Cancelled" + return ste + + #=========================================================================== + def tearDown(self): + webnotes.conn.rollback() + + + # Expected Result Set + #=================================================================================================== + def get_expected_sle(self, action): + expected_sle = { + 'mr_submit': [{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mr[0].name, + 'actual_qty': 10, + 'bin_aqat': 10, + 'valuation_rate': 100, + 'is_cancelled': 'No' + }], + 'mr_cancel': [{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mr[0].name, + 'actual_qty': 10, + 'bin_aqat': 10, + 'valuation_rate': 100, + 'is_cancelled': 'Yes' + },{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mr[0].name, + 'actual_qty': -10, + 'ifnull(bin_aqat, 0)': 0, + 'ifnull(valuation_rate, 0)': 0, + "ifnull(is_cancelled, 'No')": 'Yes' + }], + 'mtn_submit': [{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mtn[0].name, + 'actual_qty': -5, + 'bin_aqat': 5, + 'valuation_rate': 100, + 'is_cancelled': 'No' + }, { + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh2', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mtn[0].name, + 'actual_qty': 5, + 'bin_aqat': 5, + 'valuation_rate': 100, + 'is_cancelled': 'No' + }], + 'mtn_cancel': [{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mtn[0].name, + 'actual_qty': -5, + 'bin_aqat': 5, + 'is_cancelled': 'Yes' + }, { + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh2', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mtn[0].name, + 'actual_qty': 5, + 'bin_aqat': 5, + 'valuation_rate': 100, + 'is_cancelled': 'Yes' + }, { + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mtn[0].name, + 'actual_qty': 5, + 'is_cancelled': 'Yes' + }, { + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh2', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mtn[0].name, + 'actual_qty': -5, + 'is_cancelled': 'Yes' + }], + 'mi_submit': [{'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mi[0].name, + 'actual_qty': -4, + 'bin_aqat': 6, + 'valuation_rate': 100, + 'is_cancelled': 'No' + }], + 'mi_cancel': [{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mi[0].name, + 'actual_qty': -4, + 'bin_aqat': 6, + 'valuation_rate': 100, + 'is_cancelled': 'Yes' + },{ + 'doctype': 'Stock Ledger Entry', + 'item_code':'it', + 'warehouse':'wh1', + 'voucher_type': 'Stock Entry', + 'voucher_no': stock_entry.mi[0].name, + 'actual_qty': 4, + 'ifnull(bin_aqat, 0)': 0, + 'ifnull(valuation_rate, 0)': 0, + "ifnull(is_cancelled, 'No')": 'Yes' + }] + + } + + return expected_sle[action] diff --git a/selling/doctype/enquiry/__init__.py b/erpnext/sandbox/testdata/__init__.py similarity index 100% rename from selling/doctype/enquiry/__init__.py rename to erpnext/sandbox/testdata/__init__.py diff --git a/erpnext/sandbox/testdata/masters.py b/erpnext/sandbox/testdata/masters.py new file mode 100644 index 00000000000..7f2d67c4da3 --- /dev/null +++ b/erpnext/sandbox/testdata/masters.py @@ -0,0 +1,282 @@ +""" + All master data in one place, can be created by 1 function call + +""" + +import webnotes +from webnotes.model.doc import Document + + +master_groups = { + # Company + #---------------------------------- + 'company': Document( + fielddata={ + 'doctype':'Company', + 'abbr': 'co', + 'company_name' : 'comp', + 'name': 'comp' + } + ), + + # Customer Group + #---------------------------------- + 'customer_group': Document( + fielddata={ + 'doctype':'Customer Group', + 'customer_group_name' : 'cg', + 'name': 'cg', + 'is_group': 'No', + 'parent_customer_group':'', + 'lft' : 1, + 'rgt': 2 + } + ), + + # Item Group + #---------------------------------- + 'item_group': Document( + fielddata = { + 'doctype': 'Item Group', + 'item_group_name': 'ig', + 'lft': 1, + 'rgt': 2, + 'parent_item_group' : '', + 'is_group': 'No', + 'name': 'ig' + } + ), + + # Warehouse Type + #----------------------------- + 'warehouse_type' : Document( + fielddata = { + 'doctype' : 'Warehouse Type', + 'name': 'normal', + 'warehouse_type' : 'normal' + } + ), + + # Supplier Type + #----------------------------- + 'supplier_type' : Document( + fielddata = { + 'doctype': 'Supplier Type', + 'supplier_type': 'stype' + } + ) + +} + + +main_masters = { + # Customer + #---------------------------------- + 'customer': Document( + fielddata={ + 'doctype':'Customer', + 'docstatus':0, + 'customer_name' : 'cust', + 'company' : 'comp', + 'customer_group' : '', + 'name': 'cust' + } + ), + + + # Supplier + #---------------------------------- + 'supplier': Document( + fielddata = { + 'doctype': 'Supplier', + 'supplier_name': 'supp', + 'name': 'supp', + 'supplier_type' : 'stype' + } + ), + + # Customer Account + #---------------------------------- + 'customer_acc': Document( + fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'cust', + 'debit_or_credit': 'Debit', + 'company' : 'comp', + 'lft': 1, + 'rgt': 2, + 'group_or_ledger' : 'Ledger', + 'is_pl_account': 'No', + 'name' : 'cust - co' + } + ), + + # Customer Account + #---------------------------------- + 'supplier_acc': Document( + fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'supp', + 'debit_or_credit': 'Credit', + 'company' : 'comp', + 'lft': 5, + 'rgt': 6, + 'group_or_ledger' : 'Ledger', + 'is_pl_account': 'No', + 'name' : 'supp - co' + } + ), + + # Bank Account + #---------------------------------- + 'bank_acc': Document( + fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'icici', + 'parent_account': '', + 'debit_or_credit': 'Debit', + 'company' : 'comp', + 'lft': 3, + 'rgt': 4, + 'group_or_ledger' : 'Ledger', + 'is_pl_account': 'No', + 'name' : 'icici - co' + } + ), + + # Income Account + #---------------------------------- + 'income_acc': Document( + fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'income', + 'debit_or_credit': 'Credit', + 'company' : 'comp', + 'lft': 7, + 'rgt': 8, + 'group_or_ledger' : 'Ledger', + 'is_pl_account': 'Yes', + 'name' : 'income - co' + } + ), + + # Expense Account + #---------------------------------- + 'expense_acc': Document( + fielddata={ + 'doctype':'Account', + 'docstatus':0, + 'account_name' : 'expense', + 'debit_or_credit': 'Debit', + 'company' : 'comp', + 'lft': 9, + 'rgt': 10, + 'group_or_ledger' : 'Ledger', + 'is_pl_account': 'Yes', + 'name' : 'expense - co' + } + ), + + # Cost Center + #---------------------------------- + 'cost_center': Document( + fielddata={ + 'doctype':'Cost Center', + 'docstatus':0, + 'cost_center_name' : 'cc', + 'lft': 1, + 'rgt': 2, + 'group_or_ledger' : 'Ledger', + 'name' : 'cc' + } + ), + + # Item + #---------------------------------- + # Stock item / non-serialized + + 'item': [ + Document( + fielddata = { + 'doctype': 'Item', + 'docstatus': 0, + 'name': 'it', + 'item_name': 'it', + 'item_code': 'it', + 'item_group': 'ig', + 'is_stock_item': 'Yes', + 'has_serial_no': 'Yes', + 'stock_uom': 'Nos', + 'is_sales_item': 'Yes', + 'is_purchase_item': 'Yes', + 'is_service_item': 'No', + 'is_sub_contracted_item': 'No', + 'is_pro_applicable': 'Yes', + 'is_manufactured_item': 'Yes' + } + ), + Document( + fielddata = { + 'doctype': 'Ref Rate Detail', + 'parentfield': 'ref_rate_details', + 'parenttype': 'Item', + 'parent' : 'it', + 'price_list_name': 'pl', + 'ref_currency': 'INR', + 'ref_rate': 100 + } + ), + Document( + fielddata = { + 'doctype': 'Item Tax', + 'parentfield': 'item_tax', + 'parenttype': 'Item', + 'parent' : 'it', + 'tax_type' : 'Tax1', + 'tax_rate': 10 + } + ) + ], + + # Warehouse + #----------------------------- + 'warehouse': [ + Document( + fielddata = { + 'doctype': 'Warehouse', + 'name' : 'wh1', + 'warehouse_name' : 'wh1', + 'warehouse_type': 'normal', + 'company': 'comp' + } + ), + Document( + fielddata = { + 'doctype': 'Warehouse', + 'name' : 'wh2', + 'warehouse_name' : 'wh2', + 'warehouse_type': 'normal', + 'company': 'comp' + } + ) + ] +} + + + +# Save all master records +#---------------------------------- +def create_master_records(): + for m in master_groups.keys(): + master_groups[m].save(1) + + for m in main_masters.keys(): + if type(main_masters[m]) == list: + for each in main_masters[m]: + each.save(1) + else: + main_masters[m].save(1) diff --git a/erpnext/sandbox/testdata/stock_entry.py b/erpnext/sandbox/testdata/stock_entry.py new file mode 100644 index 00000000000..8f2a30c64af --- /dev/null +++ b/erpnext/sandbox/testdata/stock_entry.py @@ -0,0 +1,104 @@ +from webnotes.model.doc import Document + +# Material Receipt +#----------------------- + +mr = [ + Document( + fielddata = { + 'doctype': 'Stock Entry', + 'posting_date': '2011-09-01', + 'transfer_date': '2011-09-01', + 'posting_time': '12:00', + 'company': 'comp', + 'fiscal_year' : '2011-2012', + 'purpose': 'Material Receipt', + 'name': 'mr' + } + ), + Document( + fielddata ={ + 'doctype': 'Stock Entry Detail', + 'parenttype': 'Stock Entry', + 'parentfield' : 'mtn_details', + 'parent' : 'mr', + 'item_code' : 'it', + 't_warehouse' : 'wh1', + 'qty' : 10, + 'transfer_qty' : 10, + 'incoming_rate': 100, + 'stock_uom': 'Nos', + 'conversion_factor': 1, + 'serial_no': 'srno1, srno2, srno3, srno4, srno5, srno6, srno7, srno8, srno9, srno10' + } + ) +] + +# Material Transfer +#-------------------- + +mtn = [ + Document( + fielddata = { + 'doctype': 'Stock Entry', + 'posting_date': '2011-09-01', + 'transfer_date': '2011-09-01', + 'posting_time': '13:00', + 'company': 'comp', + 'fiscal_year' : '2011-2012', + 'purpose': 'Material Transfer', + 'name': 'mtn' + } + ), + Document( + fielddata ={ + 'doctype': 'Stock Entry Detail', + 'parenttype': 'Stock Entry', + 'parentfield' : 'mtn_details', + 'parent' : 'mtn', + 'item_code' : 'it', + 's_warehouse' : 'wh1', + 't_warehouse' : 'wh2', + 'qty' : 5, + 'transfer_qty' : 5, + 'incoming_rate': 100, + 'stock_uom': 'Nos', + 'conversion_factor': 1, + 'serial_no': 'srno1, srno2, srno3, srno4, srno5' + } + ) +] + +# Material Issue +#-------------------- + +mi = [ + Document( + fielddata = { + 'doctype': 'Stock Entry', + 'posting_date': '2011-09-01', + 'transfer_date': '2011-09-01', + 'posting_time': '14:00', + 'company': 'comp', + 'fiscal_year' : '2011-2012', + 'purpose': 'Material Issue', + 'name': 'mi' + } + ), + Document( + fielddata ={ + 'doctype': 'Stock Entry Detail', + 'parenttype': 'Stock Entry', + 'parentfield' : 'mtn_details', + 'parent' : 'mi', + 'item_code' : 'it', + 's_warehouse' : 'wh1', + 'qty' : 4, + 'transfer_qty' : 4, + 'incoming_rate': 100, + 'stock_uom': 'Nos', + 'conversion_factor': 1, + 'serial_no': 'srno1, srno2, srno3, srno4' + } + ) +] diff --git a/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt b/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt similarity index 98% rename from selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt rename to erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt index e45c48767d4..da8762deab6 100644 --- a/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt +++ b/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-13 17:28:37', + 'modified': '2011-09-15 15:04:42', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt b/erpnext/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt similarity index 98% rename from selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt rename to erpnext/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt index 807a057e5e1..de6f60d965a 100644 --- a/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt +++ b/erpnext/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-07 12:12:30', + 'modified': '2011-09-14 12:36:24', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt b/erpnext/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt similarity index 83% rename from selling/DocType Mapper/Lead-Customer/Lead-Customer.txt rename to erpnext/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt index 19a9f8a2e9b..268834a80f4 100644 --- a/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt +++ b/erpnext/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-07 12:11:39', + 'modified': '2011-09-14 12:36:24', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -63,6 +63,20 @@ 'to_field': 'customer_name' }, + # Field Mapper Detail + { + 'doctype': 'Field Mapper Detail', + 'from_field': 'contact_no', + 'to_field': 'phone_1' + }, + + # Field Mapper Detail + { + 'doctype': 'Field Mapper Detail', + 'from_field': 'fax', + 'to_field': 'fax_1' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail' diff --git a/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt b/erpnext/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt similarity index 97% rename from selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt rename to erpnext/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt index 742215b780d..5dc1c8fef14 100644 --- a/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt +++ b/erpnext/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-09-07 12:11:00', + 'modified': '2011-09-14 12:36:24', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt b/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt similarity index 94% rename from selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt rename to erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt index 04f70ad94c1..ee8f8b01675 100644 --- a/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt +++ b/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:23:28', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt b/erpnext/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt similarity index 98% rename from selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt rename to erpnext/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt index 5a529dde41b..feadb98f9a9 100644 --- a/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt +++ b/erpnext/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-07 12:08:48', + 'modified': '2011-09-14 12:36:24', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/selling/Module Def/Selling/Selling.txt b/erpnext/selling/Module Def/Selling/Selling.txt similarity index 100% rename from selling/Module Def/Selling/Selling.txt rename to erpnext/selling/Module Def/Selling/Selling.txt diff --git a/selling/Role/Customer/Customer.txt b/erpnext/selling/Role/Customer/Customer.txt similarity index 100% rename from selling/Role/Customer/Customer.txt rename to erpnext/selling/Role/Customer/Customer.txt diff --git a/selling/Role/Partner/Partner.txt b/erpnext/selling/Role/Partner/Partner.txt similarity index 100% rename from selling/Role/Partner/Partner.txt rename to erpnext/selling/Role/Partner/Partner.txt diff --git a/selling/Role/Sales Manager/Sales Manager.txt b/erpnext/selling/Role/Sales Manager/Sales Manager.txt similarity index 100% rename from selling/Role/Sales Manager/Sales Manager.txt rename to erpnext/selling/Role/Sales Manager/Sales Manager.txt diff --git a/selling/Role/Sales Master Manager/Sales Master Manager.txt b/erpnext/selling/Role/Sales Master Manager/Sales Master Manager.txt similarity index 100% rename from selling/Role/Sales Master Manager/Sales Master Manager.txt rename to erpnext/selling/Role/Sales Master Manager/Sales Master Manager.txt diff --git a/selling/Role/Sales User/Sales User.txt b/erpnext/selling/Role/Sales User/Sales User.txt similarity index 100% rename from selling/Role/Sales User/Sales User.txt rename to erpnext/selling/Role/Sales User/Sales User.txt diff --git a/selling/doctype/enquiry_detail/__init__.py b/erpnext/selling/__init__.py similarity index 100% rename from selling/doctype/enquiry_detail/__init__.py rename to erpnext/selling/__init__.py diff --git a/selling/doctype/enquiry_sms_detail/__init__.py b/erpnext/selling/doctype/__init__.py similarity index 100% rename from selling/doctype/enquiry_sms_detail/__init__.py rename to erpnext/selling/doctype/__init__.py diff --git a/selling/doctype/follow_up/__init__.py b/erpnext/selling/doctype/campaign/__init__.py similarity index 100% rename from selling/doctype/follow_up/__init__.py rename to erpnext/selling/doctype/campaign/__init__.py diff --git a/selling/doctype/campaign/campaign.js b/erpnext/selling/doctype/campaign/campaign.js similarity index 100% rename from selling/doctype/campaign/campaign.js rename to erpnext/selling/doctype/campaign/campaign.js diff --git a/selling/doctype/campaign/campaign.txt b/erpnext/selling/doctype/campaign/campaign.txt similarity index 100% rename from selling/doctype/campaign/campaign.txt rename to erpnext/selling/doctype/campaign/campaign.txt diff --git a/selling/doctype/industry_type/__init__.py b/erpnext/selling/doctype/customer/__init__.py similarity index 100% rename from selling/doctype/industry_type/__init__.py rename to erpnext/selling/doctype/customer/__init__.py diff --git a/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js similarity index 100% rename from selling/doctype/customer/customer.js rename to erpnext/selling/doctype/customer/customer.js diff --git a/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py similarity index 100% rename from selling/doctype/customer/customer.py rename to erpnext/selling/doctype/customer/customer.py diff --git a/selling/doctype/customer/customer.txt b/erpnext/selling/doctype/customer/customer.txt similarity index 100% rename from selling/doctype/customer/customer.txt rename to erpnext/selling/doctype/customer/customer.txt diff --git a/selling/doctype/installation_note/__init__.py b/erpnext/selling/doctype/enquiry/__init__.py similarity index 100% rename from selling/doctype/installation_note/__init__.py rename to erpnext/selling/doctype/enquiry/__init__.py diff --git a/selling/doctype/enquiry/enquiry.js b/erpnext/selling/doctype/enquiry/enquiry.js similarity index 100% rename from selling/doctype/enquiry/enquiry.js rename to erpnext/selling/doctype/enquiry/enquiry.js diff --git a/selling/doctype/enquiry/enquiry.py b/erpnext/selling/doctype/enquiry/enquiry.py similarity index 98% rename from selling/doctype/enquiry/enquiry.py rename to erpnext/selling/doctype/enquiry/enquiry.py index 4ad1b0ac30b..57485258f10 100644 --- a/selling/doctype/enquiry/enquiry.py +++ b/erpnext/selling/doctype/enquiry/enquiry.py @@ -119,16 +119,12 @@ class DocType(TransactionBase): #--------------Validation For Last Contact Date----------------- # ==================================================================================================================== def set_last_contact_date(self): - #if not self.doc.contact_date_ref: - #self.doc.contact_date_ref=self.doc.contact_date - #self.doc.last_contact_date=self.doc.contact_date_ref if self.doc.contact_date_ref and self.doc.contact_date_ref != self.doc.contact_date: if getdate(self.doc.contact_date_ref) < getdate(self.doc.contact_date): self.doc.last_contact_date=self.doc.contact_date_ref else: msgprint("Contact Date Cannot be before Last Contact Date") raise Exception - #set(self.doc, 'contact_date_ref',self.doc.contact_date) # check if item present in item table # ==================================================================================================================== diff --git a/selling/doctype/enquiry/enquiry.txt b/erpnext/selling/doctype/enquiry/enquiry.txt similarity index 100% rename from selling/doctype/enquiry/enquiry.txt rename to erpnext/selling/doctype/enquiry/enquiry.txt diff --git a/selling/doctype/installed_item_details/__init__.py b/erpnext/selling/doctype/enquiry_detail/__init__.py similarity index 100% rename from selling/doctype/installed_item_details/__init__.py rename to erpnext/selling/doctype/enquiry_detail/__init__.py diff --git a/selling/doctype/enquiry_detail/enquiry_detail.txt b/erpnext/selling/doctype/enquiry_detail/enquiry_detail.txt similarity index 100% rename from selling/doctype/enquiry_detail/enquiry_detail.txt rename to erpnext/selling/doctype/enquiry_detail/enquiry_detail.txt diff --git a/selling/doctype/lead/__init__.py b/erpnext/selling/doctype/enquiry_sms_detail/__init__.py similarity index 100% rename from selling/doctype/lead/__init__.py rename to erpnext/selling/doctype/enquiry_sms_detail/__init__.py diff --git a/selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt b/erpnext/selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt similarity index 100% rename from selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt rename to erpnext/selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt diff --git a/selling/doctype/lead_attachment_detail/__init__.py b/erpnext/selling/doctype/follow_up/__init__.py similarity index 100% rename from selling/doctype/lead_attachment_detail/__init__.py rename to erpnext/selling/doctype/follow_up/__init__.py diff --git a/selling/doctype/follow_up/follow_up.txt b/erpnext/selling/doctype/follow_up/follow_up.txt similarity index 100% rename from selling/doctype/follow_up/follow_up.txt rename to erpnext/selling/doctype/follow_up/follow_up.txt diff --git a/selling/doctype/lead_item_detail/__init__.py b/erpnext/selling/doctype/industry_type/__init__.py similarity index 100% rename from selling/doctype/lead_item_detail/__init__.py rename to erpnext/selling/doctype/industry_type/__init__.py diff --git a/selling/doctype/industry_type/industry_type.js b/erpnext/selling/doctype/industry_type/industry_type.js similarity index 100% rename from selling/doctype/industry_type/industry_type.js rename to erpnext/selling/doctype/industry_type/industry_type.js diff --git a/selling/doctype/industry_type/industry_type.txt b/erpnext/selling/doctype/industry_type/industry_type.txt similarity index 100% rename from selling/doctype/industry_type/industry_type.txt rename to erpnext/selling/doctype/industry_type/industry_type.txt diff --git a/selling/doctype/lead_sms_detail/__init__.py b/erpnext/selling/doctype/installation_note/__init__.py similarity index 100% rename from selling/doctype/lead_sms_detail/__init__.py rename to erpnext/selling/doctype/installation_note/__init__.py diff --git a/selling/doctype/installation_note/installation_note.js b/erpnext/selling/doctype/installation_note/installation_note.js similarity index 100% rename from selling/doctype/installation_note/installation_note.js rename to erpnext/selling/doctype/installation_note/installation_note.js diff --git a/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py similarity index 100% rename from selling/doctype/installation_note/installation_note.py rename to erpnext/selling/doctype/installation_note/installation_note.py diff --git a/selling/doctype/installation_note/installation_note.txt b/erpnext/selling/doctype/installation_note/installation_note.txt similarity index 100% rename from selling/doctype/installation_note/installation_note.txt rename to erpnext/selling/doctype/installation_note/installation_note.txt diff --git a/selling/doctype/plot_control/__init__.py b/erpnext/selling/doctype/installed_item_details/__init__.py similarity index 100% rename from selling/doctype/plot_control/__init__.py rename to erpnext/selling/doctype/installed_item_details/__init__.py diff --git a/selling/doctype/installed_item_details/installed_item_details.txt b/erpnext/selling/doctype/installed_item_details/installed_item_details.txt similarity index 100% rename from selling/doctype/installed_item_details/installed_item_details.txt rename to erpnext/selling/doctype/installed_item_details/installed_item_details.txt diff --git a/selling/doctype/quotation/__init__.py b/erpnext/selling/doctype/lead/__init__.py similarity index 100% rename from selling/doctype/quotation/__init__.py rename to erpnext/selling/doctype/lead/__init__.py diff --git a/selling/doctype/lead/lead.js b/erpnext/selling/doctype/lead/lead.js similarity index 100% rename from selling/doctype/lead/lead.js rename to erpnext/selling/doctype/lead/lead.js diff --git a/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py similarity index 100% rename from selling/doctype/lead/lead.py rename to erpnext/selling/doctype/lead/lead.py diff --git a/selling/doctype/lead/lead.txt b/erpnext/selling/doctype/lead/lead.txt similarity index 100% rename from selling/doctype/lead/lead.txt rename to erpnext/selling/doctype/lead/lead.txt diff --git a/selling/doctype/quotation_detail/__init__.py b/erpnext/selling/doctype/lead_attachment_detail/__init__.py similarity index 100% rename from selling/doctype/quotation_detail/__init__.py rename to erpnext/selling/doctype/lead_attachment_detail/__init__.py diff --git a/selling/doctype/lead_attachment_detail/lead_attachment_detail.txt b/erpnext/selling/doctype/lead_attachment_detail/lead_attachment_detail.txt similarity index 100% rename from selling/doctype/lead_attachment_detail/lead_attachment_detail.txt rename to erpnext/selling/doctype/lead_attachment_detail/lead_attachment_detail.txt diff --git a/selling/doctype/return_detail/__init__.py b/erpnext/selling/doctype/lead_item_detail/__init__.py similarity index 100% rename from selling/doctype/return_detail/__init__.py rename to erpnext/selling/doctype/lead_item_detail/__init__.py diff --git a/selling/doctype/lead_item_detail/lead_item_detail.txt b/erpnext/selling/doctype/lead_item_detail/lead_item_detail.txt similarity index 100% rename from selling/doctype/lead_item_detail/lead_item_detail.txt rename to erpnext/selling/doctype/lead_item_detail/lead_item_detail.txt diff --git a/selling/doctype/sales_common/__init__.py b/erpnext/selling/doctype/lead_sms_detail/__init__.py similarity index 100% rename from selling/doctype/sales_common/__init__.py rename to erpnext/selling/doctype/lead_sms_detail/__init__.py diff --git a/selling/doctype/lead_sms_detail/lead_sms_detail.txt b/erpnext/selling/doctype/lead_sms_detail/lead_sms_detail.txt similarity index 100% rename from selling/doctype/lead_sms_detail/lead_sms_detail.txt rename to erpnext/selling/doctype/lead_sms_detail/lead_sms_detail.txt diff --git a/selling/doctype/sales_order/__init__.py b/erpnext/selling/doctype/plot_control/__init__.py similarity index 100% rename from selling/doctype/sales_order/__init__.py rename to erpnext/selling/doctype/plot_control/__init__.py diff --git a/selling/doctype/plot_control/plot_control.py b/erpnext/selling/doctype/plot_control/plot_control.py similarity index 100% rename from selling/doctype/plot_control/plot_control.py rename to erpnext/selling/doctype/plot_control/plot_control.py diff --git a/selling/doctype/plot_control/plot_control.txt b/erpnext/selling/doctype/plot_control/plot_control.txt similarity index 100% rename from selling/doctype/plot_control/plot_control.txt rename to erpnext/selling/doctype/plot_control/plot_control.txt diff --git a/selling/doctype/sales_order_detail/__init__.py b/erpnext/selling/doctype/quotation/__init__.py similarity index 100% rename from selling/doctype/sales_order_detail/__init__.py rename to erpnext/selling/doctype/quotation/__init__.py diff --git a/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js similarity index 100% rename from selling/doctype/quotation/quotation.js rename to erpnext/selling/doctype/quotation/quotation.js diff --git a/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py similarity index 100% rename from selling/doctype/quotation/quotation.py rename to erpnext/selling/doctype/quotation/quotation.py diff --git a/selling/doctype/quotation/quotation.txt b/erpnext/selling/doctype/quotation/quotation.txt similarity index 100% rename from selling/doctype/quotation/quotation.txt rename to erpnext/selling/doctype/quotation/quotation.txt diff --git a/selling/doctype/sales_team/__init__.py b/erpnext/selling/doctype/quotation_detail/__init__.py similarity index 100% rename from selling/doctype/sales_team/__init__.py rename to erpnext/selling/doctype/quotation_detail/__init__.py diff --git a/selling/doctype/quotation_detail/quotation_detail.txt b/erpnext/selling/doctype/quotation_detail/quotation_detail.txt similarity index 100% rename from selling/doctype/quotation_detail/quotation_detail.txt rename to erpnext/selling/doctype/quotation_detail/quotation_detail.txt diff --git a/selling/doctype/shipping_address/__init__.py b/erpnext/selling/doctype/return_detail/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from selling/doctype/shipping_address/__init__.py rename to erpnext/selling/doctype/return_detail/__init__.py diff --git a/selling/doctype/return_detail/return_detail.txt b/erpnext/selling/doctype/return_detail/return_detail.txt similarity index 100% rename from selling/doctype/return_detail/return_detail.txt rename to erpnext/selling/doctype/return_detail/return_detail.txt diff --git a/selling/doctype/sms_center/__init__.py b/erpnext/selling/doctype/sales_common/__init__.py similarity index 100% rename from selling/doctype/sms_center/__init__.py rename to erpnext/selling/doctype/sales_common/__init__.py diff --git a/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js similarity index 100% rename from selling/doctype/sales_common/sales_common.js rename to erpnext/selling/doctype/sales_common/sales_common.js diff --git a/selling/doctype/sales_common/sales_common.py b/erpnext/selling/doctype/sales_common/sales_common.py similarity index 100% rename from selling/doctype/sales_common/sales_common.py rename to erpnext/selling/doctype/sales_common/sales_common.py diff --git a/selling/doctype/sales_common/sales_common.txt b/erpnext/selling/doctype/sales_common/sales_common.txt similarity index 100% rename from selling/doctype/sales_common/sales_common.txt rename to erpnext/selling/doctype/sales_common/sales_common.txt diff --git a/selling/page/__init__.py b/erpnext/selling/doctype/sales_order/__init__.py similarity index 100% rename from selling/page/__init__.py rename to erpnext/selling/doctype/sales_order/__init__.py diff --git a/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js similarity index 100% rename from selling/doctype/sales_order/sales_order.js rename to erpnext/selling/doctype/sales_order/sales_order.js diff --git a/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py similarity index 100% rename from selling/doctype/sales_order/sales_order.py rename to erpnext/selling/doctype/sales_order/sales_order.py diff --git a/selling/doctype/sales_order/sales_order.txt b/erpnext/selling/doctype/sales_order/sales_order.txt similarity index 100% rename from selling/doctype/sales_order/sales_order.txt rename to erpnext/selling/doctype/sales_order/sales_order.txt diff --git a/selling/page/customers/__init__.py b/erpnext/selling/doctype/sales_order_detail/__init__.py similarity index 100% rename from selling/page/customers/__init__.py rename to erpnext/selling/doctype/sales_order_detail/__init__.py diff --git a/selling/doctype/sales_order_detail/sales_order_detail.txt b/erpnext/selling/doctype/sales_order_detail/sales_order_detail.txt similarity index 100% rename from selling/doctype/sales_order_detail/sales_order_detail.txt rename to erpnext/selling/doctype/sales_order_detail/sales_order_detail.txt diff --git a/selling/page/sales_browser/__init__.py b/erpnext/selling/doctype/sales_team/__init__.py similarity index 100% rename from selling/page/sales_browser/__init__.py rename to erpnext/selling/doctype/sales_team/__init__.py diff --git a/selling/doctype/sales_team/sales_team.txt b/erpnext/selling/doctype/sales_team/sales_team.txt similarity index 100% rename from selling/doctype/sales_team/sales_team.txt rename to erpnext/selling/doctype/sales_team/sales_team.txt diff --git a/selling/page/sales_dashboard/__init__.py b/erpnext/selling/doctype/shipping_address/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from selling/page/sales_dashboard/__init__.py rename to erpnext/selling/doctype/shipping_address/__init__.py diff --git a/selling/doctype/shipping_address/shipping_address.js b/erpnext/selling/doctype/shipping_address/shipping_address.js similarity index 100% rename from selling/doctype/shipping_address/shipping_address.js rename to erpnext/selling/doctype/shipping_address/shipping_address.js diff --git a/selling/doctype/shipping_address/shipping_address.py b/erpnext/selling/doctype/shipping_address/shipping_address.py similarity index 100% rename from selling/doctype/shipping_address/shipping_address.py rename to erpnext/selling/doctype/shipping_address/shipping_address.py diff --git a/selling/doctype/shipping_address/shipping_address.txt b/erpnext/selling/doctype/shipping_address/shipping_address.txt similarity index 100% rename from selling/doctype/shipping_address/shipping_address.txt rename to erpnext/selling/doctype/shipping_address/shipping_address.txt diff --git a/selling/search_criteria/__init__.py b/erpnext/selling/doctype/sms_center/__init__.py similarity index 100% rename from selling/search_criteria/__init__.py rename to erpnext/selling/doctype/sms_center/__init__.py diff --git a/selling/doctype/sms_center/sms_center.js b/erpnext/selling/doctype/sms_center/sms_center.js similarity index 100% rename from selling/doctype/sms_center/sms_center.js rename to erpnext/selling/doctype/sms_center/sms_center.js diff --git a/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py similarity index 100% rename from selling/doctype/sms_center/sms_center.py rename to erpnext/selling/doctype/sms_center/sms_center.py diff --git a/selling/doctype/sms_center/sms_center.txt b/erpnext/selling/doctype/sms_center/sms_center.txt similarity index 100% rename from selling/doctype/sms_center/sms_center.txt rename to erpnext/selling/doctype/sms_center/sms_center.txt diff --git a/selling/search_criteria/delivered_items_to_be_install/__init__.py b/erpnext/selling/page/__init__.py similarity index 100% rename from selling/search_criteria/delivered_items_to_be_install/__init__.py rename to erpnext/selling/page/__init__.py diff --git a/selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py b/erpnext/selling/page/customers/__init__.py similarity index 100% rename from selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py rename to erpnext/selling/page/customers/__init__.py diff --git a/selling/page/customers/customers.html b/erpnext/selling/page/customers/customers.html similarity index 100% rename from selling/page/customers/customers.html rename to erpnext/selling/page/customers/customers.html diff --git a/selling/page/customers/customers.js b/erpnext/selling/page/customers/customers.js similarity index 100% rename from selling/page/customers/customers.js rename to erpnext/selling/page/customers/customers.js diff --git a/selling/page/customers/customers.txt b/erpnext/selling/page/customers/customers.txt similarity index 100% rename from selling/page/customers/customers.txt rename to erpnext/selling/page/customers/customers.txt diff --git a/selling/search_criteria/draft_sales_orders/__init__.py b/erpnext/selling/page/sales_browser/__init__.py similarity index 100% rename from selling/search_criteria/draft_sales_orders/__init__.py rename to erpnext/selling/page/sales_browser/__init__.py diff --git a/selling/page/sales_browser/sales_browser.html b/erpnext/selling/page/sales_browser/sales_browser.html similarity index 100% rename from selling/page/sales_browser/sales_browser.html rename to erpnext/selling/page/sales_browser/sales_browser.html diff --git a/selling/page/sales_browser/sales_browser.js b/erpnext/selling/page/sales_browser/sales_browser.js similarity index 100% rename from selling/page/sales_browser/sales_browser.js rename to erpnext/selling/page/sales_browser/sales_browser.js diff --git a/selling/page/sales_browser/sales_browser.txt b/erpnext/selling/page/sales_browser/sales_browser.txt similarity index 100% rename from selling/page/sales_browser/sales_browser.txt rename to erpnext/selling/page/sales_browser/sales_browser.txt diff --git a/selling/search_criteria/follow_up_report/__init__.py b/erpnext/selling/page/sales_dashboard/__init__.py similarity index 100% rename from selling/search_criteria/follow_up_report/__init__.py rename to erpnext/selling/page/sales_dashboard/__init__.py diff --git a/selling/page/sales_dashboard/sales_dashboard.html b/erpnext/selling/page/sales_dashboard/sales_dashboard.html similarity index 100% rename from selling/page/sales_dashboard/sales_dashboard.html rename to erpnext/selling/page/sales_dashboard/sales_dashboard.html diff --git a/selling/page/sales_dashboard/sales_dashboard.js b/erpnext/selling/page/sales_dashboard/sales_dashboard.js similarity index 100% rename from selling/page/sales_dashboard/sales_dashboard.js rename to erpnext/selling/page/sales_dashboard/sales_dashboard.js diff --git a/selling/page/sales_dashboard/sales_dashboard.txt b/erpnext/selling/page/sales_dashboard/sales_dashboard.txt similarity index 100% rename from selling/page/sales_dashboard/sales_dashboard.txt rename to erpnext/selling/page/sales_dashboard/sales_dashboard.txt diff --git a/selling/search_criteria/gross_profit/__init__.py b/erpnext/selling/search_criteria/__init__.py similarity index 100% rename from selling/search_criteria/gross_profit/__init__.py rename to erpnext/selling/search_criteria/__init__.py diff --git a/selling/search_criteria/itemwise_delivery_details/__init__.py b/erpnext/selling/search_criteria/delivered_items_to_be_install/__init__.py similarity index 100% rename from selling/search_criteria/itemwise_delivery_details/__init__.py rename to erpnext/selling/search_criteria/delivered_items_to_be_install/__init__.py diff --git a/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js b/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js similarity index 100% rename from selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js rename to erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js diff --git a/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt b/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt similarity index 100% rename from selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt rename to erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt diff --git a/selling/search_criteria/itemwise_sales_details/__init__.py b/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py similarity index 100% rename from selling/search_criteria/itemwise_sales_details/__init__.py rename to erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py diff --git a/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt b/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt similarity index 100% rename from selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt rename to erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt diff --git a/selling/search_criteria/monthly_despatched_trend/__init__.py b/erpnext/selling/search_criteria/draft_sales_orders/__init__.py similarity index 100% rename from selling/search_criteria/monthly_despatched_trend/__init__.py rename to erpnext/selling/search_criteria/draft_sales_orders/__init__.py diff --git a/selling/search_criteria/draft_sales_orders/draft_sales_orders.js b/erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.js similarity index 100% rename from selling/search_criteria/draft_sales_orders/draft_sales_orders.js rename to erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.js diff --git a/selling/search_criteria/draft_sales_orders/draft_sales_orders.txt b/erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.txt similarity index 100% rename from selling/search_criteria/draft_sales_orders/draft_sales_orders.txt rename to erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.txt diff --git a/selling/search_criteria/periodic_sales_summary/__init__.py b/erpnext/selling/search_criteria/follow_up_report/__init__.py similarity index 100% rename from selling/search_criteria/periodic_sales_summary/__init__.py rename to erpnext/selling/search_criteria/follow_up_report/__init__.py diff --git a/selling/search_criteria/follow_up_report/follow_up_report.js b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.js similarity index 100% rename from selling/search_criteria/follow_up_report/follow_up_report.js rename to erpnext/selling/search_criteria/follow_up_report/follow_up_report.js diff --git a/selling/search_criteria/follow_up_report/follow_up_report.py b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.py similarity index 100% rename from selling/search_criteria/follow_up_report/follow_up_report.py rename to erpnext/selling/search_criteria/follow_up_report/follow_up_report.py diff --git a/selling/search_criteria/follow_up_report/follow_up_report.txt b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt similarity index 100% rename from selling/search_criteria/follow_up_report/follow_up_report.txt rename to erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt diff --git a/selling/search_criteria/sales_agentwise_commission/__init__.py b/erpnext/selling/search_criteria/gross_profit/__init__.py similarity index 100% rename from selling/search_criteria/sales_agentwise_commission/__init__.py rename to erpnext/selling/search_criteria/gross_profit/__init__.py diff --git a/selling/search_criteria/gross_profit/gross_profit.js b/erpnext/selling/search_criteria/gross_profit/gross_profit.js similarity index 100% rename from selling/search_criteria/gross_profit/gross_profit.js rename to erpnext/selling/search_criteria/gross_profit/gross_profit.js diff --git a/selling/search_criteria/gross_profit/gross_profit.py b/erpnext/selling/search_criteria/gross_profit/gross_profit.py similarity index 100% rename from selling/search_criteria/gross_profit/gross_profit.py rename to erpnext/selling/search_criteria/gross_profit/gross_profit.py diff --git a/selling/search_criteria/gross_profit/gross_profit.txt b/erpnext/selling/search_criteria/gross_profit/gross_profit.txt similarity index 100% rename from selling/search_criteria/gross_profit/gross_profit.txt rename to erpnext/selling/search_criteria/gross_profit/gross_profit.txt diff --git a/selling/search_criteria/sales_order_pending_items1/__init__.py b/erpnext/selling/search_criteria/itemwise_delivery_details/__init__.py similarity index 100% rename from selling/search_criteria/sales_order_pending_items1/__init__.py rename to erpnext/selling/search_criteria/itemwise_delivery_details/__init__.py diff --git a/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js similarity index 100% rename from selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js rename to erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js diff --git a/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py similarity index 100% rename from selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py rename to erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py diff --git a/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt similarity index 100% rename from selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt rename to erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt diff --git a/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py b/erpnext/selling/search_criteria/itemwise_sales_details/__init__.py similarity index 100% rename from selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py rename to erpnext/selling/search_criteria/itemwise_sales_details/__init__.py diff --git a/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js similarity index 100% rename from selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js rename to erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js diff --git a/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py similarity index 100% rename from selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py rename to erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py diff --git a/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt similarity index 100% rename from selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt rename to erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt diff --git a/selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py b/erpnext/selling/search_criteria/monthly_despatched_trend/__init__.py similarity index 100% rename from selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py rename to erpnext/selling/search_criteria/monthly_despatched_trend/__init__.py diff --git a/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js similarity index 100% rename from selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js rename to erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js diff --git a/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py similarity index 100% rename from selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py rename to erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py diff --git a/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt similarity index 100% rename from selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt rename to erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt diff --git a/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py b/erpnext/selling/search_criteria/periodic_sales_summary/__init__.py similarity index 100% rename from selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py rename to erpnext/selling/search_criteria/periodic_sales_summary/__init__.py diff --git a/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js b/erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js similarity index 100% rename from selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js rename to erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js diff --git a/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt b/erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt similarity index 100% rename from selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt rename to erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py b/erpnext/selling/search_criteria/sales_agentwise_commission/__init__.py similarity index 100% rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py rename to erpnext/selling/search_criteria/sales_agentwise_commission/__init__.py diff --git a/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js b/erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js similarity index 100% rename from selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js rename to erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js diff --git a/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py b/erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py similarity index 100% rename from selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py rename to erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py diff --git a/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt b/erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt similarity index 100% rename from selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt rename to erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt diff --git a/selling/search_criteria/sales_personwise_transaction_summary/__init__.py b/erpnext/selling/search_criteria/sales_order_pending_items1/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from selling/search_criteria/sales_personwise_transaction_summary/__init__.py rename to erpnext/selling/search_criteria/sales_order_pending_items1/__init__.py diff --git a/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js b/erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js similarity index 100% rename from selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js rename to erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js diff --git a/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt b/erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt similarity index 100% rename from selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt rename to erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt diff --git a/selling/search_criteria/sales_orderwise_booking_ b/erpnext/selling/search_criteria/sales_orderwise_booking_ similarity index 100% rename from selling/search_criteria/sales_orderwise_booking_ rename to erpnext/selling/search_criteria/sales_orderwise_booking_ diff --git a/selling/search_criteria/target_variance_report/__init__.py b/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py similarity index 100% rename from selling/search_criteria/target_variance_report/__init__.py rename to erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py diff --git a/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt b/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt similarity index 100% rename from selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt rename to erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/__init__.py b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py similarity index 100% rename from selling/search_criteria/territories_target_variance_item_group_wise/__init__.py rename to erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py diff --git a/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js similarity index 100% rename from selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js rename to erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js diff --git a/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt similarity index 100% rename from selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt rename to erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt diff --git a/selling/search_criteria/territory_item_group_wise_gp/__init__.py b/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py similarity index 100% rename from selling/search_criteria/territory_item_group_wise_gp/__init__.py rename to erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py diff --git a/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt b/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt similarity index 100% rename from selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt rename to erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt diff --git a/selling/search_criteria/territory_sales___variance_report/__init__.py b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py similarity index 100% rename from selling/search_criteria/territory_sales___variance_report/__init__.py rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js similarity index 100% rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py similarity index 100% rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt similarity index 100% rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt diff --git a/selling/search_criteria/total_target_variance_report/__init__.py b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from selling/search_criteria/total_target_variance_report/__init__.py rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/__init__.py diff --git a/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js similarity index 100% rename from selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js diff --git a/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py similarity index 100% rename from selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py diff --git a/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt similarity index 100% rename from selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt diff --git a/selling/search_criteria/variance_report/__init__.py b/erpnext/selling/search_criteria/target_variance_report/__init__.py similarity index 100% rename from selling/search_criteria/variance_report/__init__.py rename to erpnext/selling/search_criteria/target_variance_report/__init__.py diff --git a/selling/search_criteria/target_variance_report/target_variance_report.js b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.js similarity index 100% rename from selling/search_criteria/target_variance_report/target_variance_report.js rename to erpnext/selling/search_criteria/target_variance_report/target_variance_report.js diff --git a/selling/search_criteria/target_variance_report/target_variance_report.py b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.py similarity index 100% rename from selling/search_criteria/target_variance_report/target_variance_report.py rename to erpnext/selling/search_criteria/target_variance_report/target_variance_report.py diff --git a/selling/search_criteria/target_variance_report/target_variance_report.txt b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt similarity index 100% rename from selling/search_criteria/target_variance_report/target_variance_report.txt rename to erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt diff --git a/setup/__init__.py b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/__init__.py similarity index 100% rename from setup/__init__.py rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/__init__.py diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js similarity index 100% rename from selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py similarity index 100% rename from selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt similarity index 100% rename from selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt diff --git a/setup/doctype/__init__.py b/erpnext/selling/search_criteria/territory_item_group_wise_gp/__init__.py similarity index 100% rename from setup/doctype/__init__.py rename to erpnext/selling/search_criteria/territory_item_group_wise_gp/__init__.py diff --git a/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py b/erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py similarity index 100% rename from selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py rename to erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py diff --git a/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt b/erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt similarity index 100% rename from selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt rename to erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt diff --git a/setup/doctype/authorization_control/__init__.py b/erpnext/selling/search_criteria/territory_sales___variance_report/__init__.py similarity index 100% rename from setup/doctype/authorization_control/__init__.py rename to erpnext/selling/search_criteria/territory_sales___variance_report/__init__.py diff --git a/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js similarity index 100% rename from selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js rename to erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js diff --git a/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py similarity index 100% rename from selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py rename to erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py diff --git a/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt similarity index 100% rename from selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt rename to erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt diff --git a/setup/doctype/authorization_rule/__init__.py b/erpnext/selling/search_criteria/total_target_variance_report/__init__.py similarity index 100% rename from setup/doctype/authorization_rule/__init__.py rename to erpnext/selling/search_criteria/total_target_variance_report/__init__.py diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.js b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.js similarity index 100% rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.js rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.js diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.py b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.py similarity index 100% rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.py rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.py diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.sql b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.sql similarity index 100% rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.sql rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.sql diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt similarity index 100% rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.txt rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt diff --git a/setup/doctype/brand/__init__.py b/erpnext/selling/search_criteria/variance_report/__init__.py similarity index 100% rename from setup/doctype/brand/__init__.py rename to erpnext/selling/search_criteria/variance_report/__init__.py diff --git a/selling/search_criteria/variance_report/variance_report.js b/erpnext/selling/search_criteria/variance_report/variance_report.js similarity index 100% rename from selling/search_criteria/variance_report/variance_report.js rename to erpnext/selling/search_criteria/variance_report/variance_report.js diff --git a/selling/search_criteria/variance_report/variance_report.py b/erpnext/selling/search_criteria/variance_report/variance_report.py similarity index 100% rename from selling/search_criteria/variance_report/variance_report.py rename to erpnext/selling/search_criteria/variance_report/variance_report.py diff --git a/selling/search_criteria/variance_report/variance_report.sql b/erpnext/selling/search_criteria/variance_report/variance_report.sql similarity index 100% rename from selling/search_criteria/variance_report/variance_report.sql rename to erpnext/selling/search_criteria/variance_report/variance_report.sql diff --git a/selling/search_criteria/variance_report/variance_report.txt b/erpnext/selling/search_criteria/variance_report/variance_report.txt similarity index 100% rename from selling/search_criteria/variance_report/variance_report.txt rename to erpnext/selling/search_criteria/variance_report/variance_report.txt diff --git a/setup/Module Def/Setup/Setup.txt b/erpnext/setup/Module Def/Setup/Setup.txt similarity index 100% rename from setup/Module Def/Setup/Setup.txt rename to erpnext/setup/Module Def/Setup/Setup.txt diff --git a/setup/Role/System Manager/System Manager.txt b/erpnext/setup/Role/System Manager/System Manager.txt similarity index 100% rename from setup/Role/System Manager/System Manager.txt rename to erpnext/setup/Role/System Manager/System Manager.txt diff --git a/setup/doctype/company/__init__.py b/erpnext/setup/__init__.py similarity index 100% rename from setup/doctype/company/__init__.py rename to erpnext/setup/__init__.py diff --git a/setup/doctype/contact_control/__init__.py b/erpnext/setup/doctype/__init__.py similarity index 100% rename from setup/doctype/contact_control/__init__.py rename to erpnext/setup/doctype/__init__.py diff --git a/setup/doctype/country/__init__.py b/erpnext/setup/doctype/authorization_control/__init__.py similarity index 100% rename from setup/doctype/country/__init__.py rename to erpnext/setup/doctype/authorization_control/__init__.py diff --git a/setup/doctype/authorization_control/authorization_control.js b/erpnext/setup/doctype/authorization_control/authorization_control.js similarity index 100% rename from setup/doctype/authorization_control/authorization_control.js rename to erpnext/setup/doctype/authorization_control/authorization_control.js diff --git a/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py similarity index 100% rename from setup/doctype/authorization_control/authorization_control.py rename to erpnext/setup/doctype/authorization_control/authorization_control.py diff --git a/setup/doctype/authorization_control/authorization_control.txt b/erpnext/setup/doctype/authorization_control/authorization_control.txt similarity index 100% rename from setup/doctype/authorization_control/authorization_control.txt rename to erpnext/setup/doctype/authorization_control/authorization_control.txt diff --git a/setup/doctype/currency/__init__.py b/erpnext/setup/doctype/authorization_rule/__init__.py similarity index 100% rename from setup/doctype/currency/__init__.py rename to erpnext/setup/doctype/authorization_rule/__init__.py diff --git a/setup/doctype/authorization_rule/authorization_rule.js b/erpnext/setup/doctype/authorization_rule/authorization_rule.js similarity index 100% rename from setup/doctype/authorization_rule/authorization_rule.js rename to erpnext/setup/doctype/authorization_rule/authorization_rule.js diff --git a/setup/doctype/authorization_rule/authorization_rule.py b/erpnext/setup/doctype/authorization_rule/authorization_rule.py similarity index 100% rename from setup/doctype/authorization_rule/authorization_rule.py rename to erpnext/setup/doctype/authorization_rule/authorization_rule.py diff --git a/setup/doctype/authorization_rule/authorization_rule.txt b/erpnext/setup/doctype/authorization_rule/authorization_rule.txt similarity index 100% rename from setup/doctype/authorization_rule/authorization_rule.txt rename to erpnext/setup/doctype/authorization_rule/authorization_rule.txt diff --git a/setup/doctype/customer_group/__init__.py b/erpnext/setup/doctype/brand/__init__.py similarity index 100% rename from setup/doctype/customer_group/__init__.py rename to erpnext/setup/doctype/brand/__init__.py diff --git a/setup/doctype/brand/brand.js b/erpnext/setup/doctype/brand/brand.js similarity index 100% rename from setup/doctype/brand/brand.js rename to erpnext/setup/doctype/brand/brand.js diff --git a/setup/doctype/brand/brand.txt b/erpnext/setup/doctype/brand/brand.txt similarity index 100% rename from setup/doctype/brand/brand.txt rename to erpnext/setup/doctype/brand/brand.txt diff --git a/setup/doctype/email_settings/__init__.py b/erpnext/setup/doctype/company/__init__.py similarity index 100% rename from setup/doctype/email_settings/__init__.py rename to erpnext/setup/doctype/company/__init__.py diff --git a/setup/doctype/company/company.js b/erpnext/setup/doctype/company/company.js similarity index 100% rename from setup/doctype/company/company.js rename to erpnext/setup/doctype/company/company.js diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py new file mode 100644 index 00000000000..a163870a6a3 --- /dev/null +++ b/erpnext/setup/doctype/company/company.py @@ -0,0 +1,238 @@ +# Please edit this list and import only required elements +import webnotes + +from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add +from webnotes.model import db_exists +from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType +from webnotes.model.doclist import getlist, copy_doclist +from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax +from webnotes import session, form, is_testing, msgprint, errprint + +set = webnotes.conn.set +sql = webnotes.conn.sql +get_value = webnotes.conn.get_value +in_transaction = webnotes.conn.in_transaction +convert_to_lists = webnotes.conn.convert_to_lists + +# ----------------------------------------------------------------------------------------- + + +class DocType: + def __init__(self,d,dl): + self.doc, self.doclist = d,dl + + # Create default accounts + # --------------------------------------------------- + def create_default_accounts(self): + self.fld_dict = {'account_name':0,'parent_account':1,'group_or_ledger':2,'is_pl_account':3,'account_type':4,'debit_or_credit':5,'company':6,'tax_rate':7} + acc_list_common = [['Application of Funds (Assets)','','Group','No','','Debit',self.doc.name,''], + ['Current Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], + ['Accounts Receivable','Current Assets','Group','No','','Debit',self.doc.name,''], + ['Bank Accounts','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''], + ['Cash In Hand','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''], + ['Cash','Cash In Hand','Ledger','No','Bank or Cash','Debit',self.doc.name,''], + ['Loans and Advances (Assets)','Current Assets','Group','No','','Debit',self.doc.name,''], + ['Securities and Deposits','Current Assets','Group','No','','Debit',self.doc.name,''], + ['Earnest Money','Securities and Deposits','Ledger','No','','Debit',self.doc.name,''], + ['Stock In Hand','Current Assets','Group','No','','Debit',self.doc.name,''], + ['Stock','Stock In Hand','Ledger','No','','Debit',self.doc.name,''], + ['Tax Assets','Current Assets','Group','No','','Debit',self.doc.name,''], + ['Fixed Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], + ['Capital Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], + ['Computers','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], + ['Furniture and Fixture','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], + ['Office Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], + ['Plant and Machinery','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], + ['Investments','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], + ['Temporary Accounts (Assets)','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], + ['Temporary Account (Assets)','Temporary Accounts (Assets)','Ledger','No','','Debit',self.doc.name,''], + ['Expenses','','Group','Yes','Expense Account','Debit',self.doc.name,''], + ['Direct Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''], + ['Cost of Goods Sold','Direct Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Indirect Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''], + ['Advertising and Publicity','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], + ['Bad Debts Written Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Bank Charges','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Books and Periodicals','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Charity and Donations','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Commission on Sales','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Conveyance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Customer Entertainment Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Depreciation Account','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Freight and Forwarding Charges','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], + ['Legal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Miscellaneous Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], + ['Office Maintenance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Office Rent','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Postal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Print and Stationary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Rounded Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Salary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Sales Promotion Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], + ['Service Charges Paid','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Staff Welfare Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Telephone Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Travelling Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Water and Electricity Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], + ['Income','','Group','Yes','','Credit',self.doc.name,''], + ['Direct Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''], + ['Sales','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''], + ['Service','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''], + ['Indirect Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''], + ['Source of Funds (Liabilities)','','Group','No','','Credit',self.doc.name,''], + ['Capital Account','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''], + ['Reserves and Surplus','Capital Account','Group','No','','Credit',self.doc.name,''], + ['Shareholders Funds','Capital Account','Group','No','','Credit',self.doc.name,''], + ['Current Liabilities','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''], + ['Accounts Payable','Current Liabilities','Group','No','','Credit',self.doc.name,''], + ['Duties and Taxes','Current Liabilities','Group','No','','Credit',self.doc.name,''], + ['Loans (Liabilities)','Current Liabilities','Group','No','','Credit',self.doc.name,''], + ['Secured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''], + ['Unsecured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''], + ['Bank Overdraft Account','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''], + ['Temporary Accounts (Liabilities)','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''], + ['Temporary Account (Liabilities)','Temporary Accounts (Liabilities)','Ledger','No','','Credit',self.doc.name,''] + ] + + acc_list_india = [ + ['CENVAT Capital Goods','Tax Assets','Ledger','No','','Debit',self.doc.name,''], + ['CENVAT','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''], + ['CENVAT Service Tax','Tax Assets','Ledger','No','','Debit',self.doc.name,''], + ['CENVAT Service Tax Cess 1','Tax Assets','Ledger','No','','Debit',self.doc.name,''], + ['CENVAT Service Tax Cess 2','Tax Assets','Ledger','No','','Debit',self.doc.name,''], + ['CENVAT Edu Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''], + ['CENVAT SHE Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''], + ['Excise Duty 4','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'4.00'], + ['Excise Duty 8','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'8.00'], + ['Excise Duty 10','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'10.00'], + ['Excise Duty 14','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'14.00'], + ['Excise Duty Edu Cess 2','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'2.00'], + ['Excise Duty SHE Cess 1','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'1.00'], + ['P L A','Tax Assets','Ledger','No','','Debit',self.doc.name,''], + ['P L A - Cess Portion','Tax Assets','Ledger','No','','Debit',self.doc.name,''], + ['Edu. Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'], + ['Edu. Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'], + ['Edu. Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'], + ['Excise Duty @ 4','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'4.00'], + ['Excise Duty @ 8','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'8.00'], + ['Excise Duty @ 10','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.00'], + ['Excise Duty @ 14','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'14.00'], + ['Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.3'], + ['SHE Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'], + ['SHE Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'], + ['SHE Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'], + ['Professional Tax','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['VAT','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['TDS (Advertisement)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['TDS (Commission)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['TDS (Contractor)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['TDS (Interest)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['TDS (Rent)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], + ['TDS (Salary)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''] + ] + # load common account heads + for d in acc_list_common: + self.add_acc(d) + + country = sql("select value from tabSingles where field = 'country' and doctype = 'Control Panel'") + country = country and cstr(country[0][0]) or '' + + # load taxes (only for India) + if country == 'India': + for d in acc_list_india: + self.add_acc(d) + + # Create account + # --------------------------------------------------- + def add_acc(self,lst): + ac = Document('Account') + for d in self.fld_dict.keys(): + ac.fields[d] = (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.doc.abbr or lst[self.fld_dict[d]] + ac.old_parent = '' + ac_obj = get_obj(doc=ac) + ac_obj.validate() + ac_obj.doc.save(1) + ac_obj.on_update() + sql("commit") + sql("start transaction") + + + # Set letter head + # --------------------------------------------------- + def set_letter_head(self): + if not self.doc.letter_head: + if self.doc.address: + header = """ +

%(comp)s

%(add)s
+ + """ % {'comp':self.doc.name, + 'add':self.doc.address.replace("\n",'
')} + + self.doc.letter_head = header + + # Set default AR and AP group + # --------------------------------------------------- + def set_default_groups(self): + if not self.doc.receivables_group: + set(self.doc, 'receivables_group', 'Accounts Receivable - '+self.doc.abbr) + if not self.doc.payables_group: + set(self.doc, 'payables_group', 'Accounts Payable - '+self.doc.abbr) + + + # Create default cost center + # --------------------------------------------------- + def create_default_cost_center(self): + glc = get_obj('GL Control') + cc_list = [{'cost_center_name':'Root','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Group','parent_cost_center':'','old_parent':''}, {'cost_center_name':'Default CC Ledger','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Ledger','parent_cost_center':'Root - ' + self.doc.abbr,'old_parent':''}] + for c in cc_list: + glc.add_cc(str(c)) + + + # On update + # --------------------------------------------------- + def on_update(self): + self.set_letter_head() + ac = sql("select name from tabAccount where account_name='Income' and company=%s", self.doc.name) + if not ac: + self.create_default_accounts() + self.set_default_groups() + cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name)) + if not cc: + self.create_default_cost_center() + + # + # --------------------------------------------------- + def on_trash(self): + """ + Trash accounts and cost centers for this company if no gl entry exists + """ + rec = sql("SELECT name from `tabGL Entry` where ifnull(is_cancelled, 'No') = 'No' and company = %s", self.doc.name) + if not rec: + # delete gl entry + sql("delete from `tabGL Entry` where company = %s", self.doc.name) + + #delete tabAccount Balance + sql("delete ab.* from `tabAccount Balance` ab, `tabAccount` a where ab.account = a.name and a.company = %s", self.doc.name) + + #delete tabAccount + sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name) + + #delete cost center child table - budget detail + sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name) + #delete cost center + sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name) + + #update value as blank for tabDefaultValue defkey=company + sql("update `tabDefaultValue` set defvalue = '' where defkey='company' and defvalue = %s", self.doc.name) + + #update value as blank for tabSingles Manage Account + sql("update `tabSingles` set value = '' where doctype='Manage Account' and field = 'default_company' and value = %s", self.doc.name) + + + # on rename + # --------- + def on_rename(self,newdn,olddn): + sql("update `tabCompany` set company_name = '%s' where name = '%s'" %(newdn,olddn)) + sql("update `tabSingles` set value = %s where doctype='Manage Account' and field = 'default_company' and value = %s", (newdn, olddn)) + if get_defaults('company') == olddn: + set_default('company', newdn) diff --git a/setup/doctype/company/company.txt b/erpnext/setup/doctype/company/company.txt similarity index 100% rename from setup/doctype/company/company.txt rename to erpnext/setup/doctype/company/company.txt diff --git a/setup/doctype/features_setup/__init__.py b/erpnext/setup/doctype/contact_control/__init__.py similarity index 100% rename from setup/doctype/features_setup/__init__.py rename to erpnext/setup/doctype/contact_control/__init__.py diff --git a/setup/doctype/contact_control/contact_control.js b/erpnext/setup/doctype/contact_control/contact_control.js similarity index 100% rename from setup/doctype/contact_control/contact_control.js rename to erpnext/setup/doctype/contact_control/contact_control.js diff --git a/setup/doctype/contact_control/contact_control.py b/erpnext/setup/doctype/contact_control/contact_control.py similarity index 100% rename from setup/doctype/contact_control/contact_control.py rename to erpnext/setup/doctype/contact_control/contact_control.py diff --git a/setup/doctype/contact_control/contact_control.txt b/erpnext/setup/doctype/contact_control/contact_control.txt similarity index 100% rename from setup/doctype/contact_control/contact_control.txt rename to erpnext/setup/doctype/contact_control/contact_control.txt diff --git a/setup/doctype/import_data_control/__init__.py b/erpnext/setup/doctype/country/__init__.py similarity index 100% rename from setup/doctype/import_data_control/__init__.py rename to erpnext/setup/doctype/country/__init__.py diff --git a/setup/doctype/country/country.js b/erpnext/setup/doctype/country/country.js similarity index 100% rename from setup/doctype/country/country.js rename to erpnext/setup/doctype/country/country.js diff --git a/setup/doctype/country/country.txt b/erpnext/setup/doctype/country/country.txt similarity index 100% rename from setup/doctype/country/country.txt rename to erpnext/setup/doctype/country/country.txt diff --git a/setup/doctype/item_group/__init__.py b/erpnext/setup/doctype/currency/__init__.py similarity index 100% rename from setup/doctype/item_group/__init__.py rename to erpnext/setup/doctype/currency/__init__.py diff --git a/setup/doctype/currency/currency.txt b/erpnext/setup/doctype/currency/currency.txt similarity index 100% rename from setup/doctype/currency/currency.txt rename to erpnext/setup/doctype/currency/currency.txt diff --git a/setup/doctype/manage_account/__init__.py b/erpnext/setup/doctype/customer_group/__init__.py similarity index 100% rename from setup/doctype/manage_account/__init__.py rename to erpnext/setup/doctype/customer_group/__init__.py diff --git a/setup/doctype/customer_group/customer_group.js b/erpnext/setup/doctype/customer_group/customer_group.js similarity index 100% rename from setup/doctype/customer_group/customer_group.js rename to erpnext/setup/doctype/customer_group/customer_group.js diff --git a/setup/doctype/customer_group/customer_group.py b/erpnext/setup/doctype/customer_group/customer_group.py similarity index 100% rename from setup/doctype/customer_group/customer_group.py rename to erpnext/setup/doctype/customer_group/customer_group.py diff --git a/setup/doctype/customer_group/customer_group.txt b/erpnext/setup/doctype/customer_group/customer_group.txt similarity index 100% rename from setup/doctype/customer_group/customer_group.txt rename to erpnext/setup/doctype/customer_group/customer_group.txt diff --git a/setup/doctype/market_segment/__init__.py b/erpnext/setup/doctype/email_digest/__init__.py similarity index 100% rename from setup/doctype/market_segment/__init__.py rename to erpnext/setup/doctype/email_digest/__init__.py diff --git a/erpnext/setup/doctype/email_digest/email_digest.coffee b/erpnext/setup/doctype/email_digest/email_digest.coffee new file mode 100644 index 00000000000..1b17d5bb4fc --- /dev/null +++ b/erpnext/setup/doctype/email_digest/email_digest.coffee @@ -0,0 +1,101 @@ +content_items = ['Sales','Expenses','Bank Balance','Activity'] + +# make a grid with items and columns of checkboxes +# Parameters: +# parent +# label (main heading) +# items = [] (rows) +# columns = [] (columns of checks) +# widths +# description + +class CheckGrid + constructor: (@args) -> + $.extend @, args + @wrapper = $a @parent, 'div', 'check-grid round' + @render() + + render: -> + $a @wrapper, 'h3', 'check-grid-title', null, @label + + if @description + $a @wrapper, 'div', 'help-box', null, @description + + @tab = make_table @wrapper, @items.length + 1, @columns.length, '100%', @widths + @checks = {} + + # render heads + for i in [0..@columns.length-1] + $($td(@tab, 0, i)) + .addClass('check-grid-head gradient') + .html @columns[i] + + @render_rows() + + render_rows: -> + # render rows + for i in [0..@items.length-1] + $td(@tab, i+1, 0).innerHTML = @items[i] + + # render checkboxes for this row + @checks[@items[i]] = {} + for c in [1..@columns.length-1] + check = $a_input $td(@tab, i+1, c), 'checkbox' + + # tag keys to checkbox + check.item = @items[i] + check.column = @columns[c] + + # add in my checks + @checks[@items[i]][@columns[c]] = check + + # get the values of the checkbox in a double dict + get: => + val = {} + for item in keys @checks + for column in keys @checks[item] + check = @checks[item][column] + val[check.item] or= {} + val[check.item][check.column] = if check.checked then 1 else 0 + val + + # set the values of the grid + set: (val) => + for item in keys @checks + for column in keys @checks[item] + if val[item][column] + @checks[item][column] .checked = val[item][column] + return + +# attach it to onload +cx = cur_frm.cscript +cx.onload = (doc, dt, dn) -> + + # make the content grid + cx.content_grid = new CheckGrid + parent: cur_frm.fields_dict.Body.wrapper + label: 'Email Settings' + items: content_items + columns: ['Item','Daily','Weekly'] + widths: ['60%', '20%', '20%'] + description: 'Select items to be compiled for Email Digest' + + # make the email grid + cx.email_grid = new CheckGrid + parent: cur_frm.fields_dict.Body.wrapper + label: 'Send To' + items: ['test1@erpnext', 'test2@erpnext'] + columns: ['Email','Daily','Weekly'] + widths: ['60%', '20%', '20%'] + description: 'Select who gets daily and weekly mails' + + cx.content_grid.set JSON.parse doc.content_config if doc.content_config + cx.email_grid.set JSON.parse doc.email_config if doc.email_config + + return + +# update the data before sending +cx.validate = (doc, dt, dn) -> + doc.content_config = JSON.stringify cx.content_grid.get() + doc.email_config = JSON.stringify cx.email_grid.get() + \ No newline at end of file diff --git a/erpnext/setup/doctype/email_digest/email_digest.css b/erpnext/setup/doctype/email_digest/email_digest.css new file mode 100644 index 00000000000..f61dacc961d --- /dev/null +++ b/erpnext/setup/doctype/email_digest/email_digest.css @@ -0,0 +1,18 @@ + +div.check-grid { + margin: 17px; +} + +div.check-grid table { + border-collapse: collapse; +} + +div.check-grid table td { + padding: 3px; + border: 1px solid #aaa; +} + +td.check-grid-head { + font-weight: bold; + text-align: center; +} \ No newline at end of file diff --git a/erpnext/setup/doctype/email_digest/email_digest.js b/erpnext/setup/doctype/email_digest/email_digest.js new file mode 100644 index 00000000000..ddb13f473a7 --- /dev/null +++ b/erpnext/setup/doctype/email_digest/email_digest.js @@ -0,0 +1,108 @@ +(function() { + var CheckGrid, content_items, cx; + var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + content_items = ['Sales', 'Expenses', 'Bank Balance', 'Activity']; + CheckGrid = (function() { + function CheckGrid(args) { + this.args = args; + this.set = __bind(this.set, this); + this.get = __bind(this.get, this); + $.extend(this, args); + this.wrapper = $a(this.parent, 'div', 'check-grid round'); + this.render(); + } + CheckGrid.prototype.render = function() { + var i, _ref; + $a(this.wrapper, 'h3', 'check-grid-title', null, this.label); + if (this.description) { + $a(this.wrapper, 'div', 'help-box', null, this.description); + } + this.tab = make_table(this.wrapper, this.items.length + 1, this.columns.length, '100%', this.widths); + this.checks = {}; + for (i = 0, _ref = this.columns.length - 1; 0 <= _ref ? i <= _ref : i >= _ref; 0 <= _ref ? i++ : i--) { + $($td(this.tab, 0, i)).addClass('check-grid-head gradient').html(this.columns[i]); + } + return this.render_rows(); + }; + CheckGrid.prototype.render_rows = function() { + var c, check, i, _ref, _results; + _results = []; + for (i = 0, _ref = this.items.length - 1; 0 <= _ref ? i <= _ref : i >= _ref; 0 <= _ref ? i++ : i--) { + $td(this.tab, i + 1, 0).innerHTML = this.items[i]; + this.checks[this.items[i]] = {}; + _results.push((function() { + var _ref2, _results2; + _results2 = []; + for (c = 1, _ref2 = this.columns.length - 1; 1 <= _ref2 ? c <= _ref2 : c >= _ref2; 1 <= _ref2 ? c++ : c--) { + check = $a_input($td(this.tab, i + 1, c), 'checkbox'); + check.item = this.items[i]; + check.column = this.columns[c]; + _results2.push(this.checks[this.items[i]][this.columns[c]] = check); + } + return _results2; + }).call(this)); + } + return _results; + }; + CheckGrid.prototype.get = function() { + var check, column, item, val, _i, _j, _len, _len2, _name, _ref, _ref2; + val = {}; + _ref = keys(this.checks); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + item = _ref[_i]; + _ref2 = keys(this.checks[item]); + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + column = _ref2[_j]; + check = this.checks[item][column]; + val[_name = check.item] || (val[_name] = {}); + val[check.item][check.column] = check.checked ? 1 : 0; + } + } + return val; + }; + CheckGrid.prototype.set = function(val) { + var column, item, _i, _j, _len, _len2, _ref, _ref2; + _ref = keys(this.checks); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + item = _ref[_i]; + _ref2 = keys(this.checks[item]); + for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { + column = _ref2[_j]; + if (val[item][column]) { + this.checks[item][column].checked = val[item][column]; + } + } + } + }; + return CheckGrid; + })(); + cx = cur_frm.cscript; + cx.onload = function(doc, dt, dn) { + cx.content_grid = new CheckGrid({ + parent: cur_frm.fields_dict.Body.wrapper, + label: 'Email Settings', + items: content_items, + columns: ['Item', 'Daily', 'Weekly'], + widths: ['60%', '20%', '20%'], + description: 'Select items to be compiled for Email Digest' + }); + cx.email_grid = new CheckGrid({ + parent: cur_frm.fields_dict.Body.wrapper, + label: 'Send To', + items: ['test1@erpnext', 'test2@erpnext'], + columns: ['Email', 'Daily', 'Weekly'], + widths: ['60%', '20%', '20%'], + description: 'Select who gets daily and weekly mails' + }); + if (doc.content_config) { + cx.content_grid.set(JSON.parse(doc.content_config)); + } + if (doc.email_config) { + cx.email_grid.set(JSON.parse(doc.email_config)); + } + }; + cx.validate = function(doc, dt, dn) { + doc.content_config = JSON.stringify(cx.content_grid.get()); + return doc.email_config = JSON.stringify(cx.email_grid.get()); + }; +}).call(this); diff --git a/erpnext/setup/doctype/email_digest/email_digest.txt b/erpnext/setup/doctype/email_digest/email_digest.txt new file mode 100644 index 00000000000..026caa7d6e7 --- /dev/null +++ b/erpnext/setup/doctype/email_digest/email_digest.txt @@ -0,0 +1,89 @@ +# DocType, Email Digest +[ + + # These values are common in all dictionaries + { + 'creation': '2011-07-27 14:23:09', + 'docstatus': 0, + 'modified': '2011-07-27 17:32:27', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all DocType + { + '_last_update': '1311760331', + 'colour': 'White:FFF', + 'doctype': 'DocType', + 'issingle': 1, + 'module': 'Setup', + 'name': '__common__', + 'section_style': 'Simple', + 'show_in_menu': 0, + 'version': 4 + }, + + # These values are common for all DocField + { + 'doctype': 'DocField', + 'name': '__common__', + 'parent': 'Email Digest', + 'parentfield': 'fields', + 'parenttype': 'DocType', + 'permlevel': 0 + }, + + # These values are common for all DocPerm + { + 'create': 1, + 'doctype': 'DocPerm', + 'idx': 1, + 'name': '__common__', + 'parent': 'Email Digest', + 'parentfield': 'permissions', + 'parenttype': 'DocType', + 'permlevel': 0, + 'read': 1, + 'role': 'Administrator', + 'write': 1 + }, + + # DocType, Email Digest + { + 'doctype': 'DocType', + 'name': 'Email Digest' + }, + + # DocPerm + { + 'doctype': 'DocPerm' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'HTML', + 'idx': 1, + 'label': 'Body' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'content_config', + 'fieldtype': 'Text', + 'hidden': 1, + 'idx': 2, + 'label': 'Content Config' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'email_config', + 'fieldtype': 'Text', + 'hidden': 1, + 'idx': 3, + 'label': 'Email Config' + } +] \ No newline at end of file diff --git a/setup/doctype/naming_series/__init__.py b/erpnext/setup/doctype/email_settings/__init__.py similarity index 100% rename from setup/doctype/naming_series/__init__.py rename to erpnext/setup/doctype/email_settings/__init__.py diff --git a/setup/doctype/email_settings/email_settings.js b/erpnext/setup/doctype/email_settings/email_settings.js similarity index 100% rename from setup/doctype/email_settings/email_settings.js rename to erpnext/setup/doctype/email_settings/email_settings.js diff --git a/setup/doctype/email_settings/email_settings.py b/erpnext/setup/doctype/email_settings/email_settings.py similarity index 100% rename from setup/doctype/email_settings/email_settings.py rename to erpnext/setup/doctype/email_settings/email_settings.py diff --git a/setup/doctype/email_settings/email_settings.txt b/erpnext/setup/doctype/email_settings/email_settings.txt similarity index 100% rename from setup/doctype/email_settings/email_settings.txt rename to erpnext/setup/doctype/email_settings/email_settings.txt diff --git a/setup/doctype/naming_series_options/__init__.py b/erpnext/setup/doctype/features_setup/__init__.py similarity index 100% rename from setup/doctype/naming_series_options/__init__.py rename to erpnext/setup/doctype/features_setup/__init__.py diff --git a/setup/doctype/features_setup/features_setup.py b/erpnext/setup/doctype/features_setup/features_setup.py similarity index 99% rename from setup/doctype/features_setup/features_setup.py rename to erpnext/setup/doctype/features_setup/features_setup.py index 3a549d9e32f..f12d2824fd3 100644 --- a/setup/doctype/features_setup/features_setup.py +++ b/erpnext/setup/doctype/features_setup/features_setup.py @@ -8,6 +8,7 @@ class DocType: """ from webnotes.model import default_fields from webnotes.utils import set_default + for key in self.doc.fields: if key not in default_fields: set_default(key, self.doc.fields[key]) diff --git a/setup/doctype/features_setup/features_setup.txt b/erpnext/setup/doctype/features_setup/features_setup.txt similarity index 100% rename from setup/doctype/features_setup/features_setup.txt rename to erpnext/setup/doctype/features_setup/features_setup.txt diff --git a/setup/doctype/notification_control/__init__.py b/erpnext/setup/doctype/import_data_control/__init__.py similarity index 100% rename from setup/doctype/notification_control/__init__.py rename to erpnext/setup/doctype/import_data_control/__init__.py diff --git a/setup/doctype/import_data_control/import_data_control.py b/erpnext/setup/doctype/import_data_control/import_data_control.py similarity index 100% rename from setup/doctype/import_data_control/import_data_control.py rename to erpnext/setup/doctype/import_data_control/import_data_control.py diff --git a/setup/doctype/import_data_control/import_data_control.txt b/erpnext/setup/doctype/import_data_control/import_data_control.txt similarity index 100% rename from setup/doctype/import_data_control/import_data_control.txt rename to erpnext/setup/doctype/import_data_control/import_data_control.txt diff --git a/setup/doctype/order_lost_reason/__init__.py b/erpnext/setup/doctype/item_group/__init__.py similarity index 100% rename from setup/doctype/order_lost_reason/__init__.py rename to erpnext/setup/doctype/item_group/__init__.py diff --git a/setup/doctype/item_group/item_group.js b/erpnext/setup/doctype/item_group/item_group.js similarity index 100% rename from setup/doctype/item_group/item_group.js rename to erpnext/setup/doctype/item_group/item_group.js diff --git a/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py similarity index 100% rename from setup/doctype/item_group/item_group.py rename to erpnext/setup/doctype/item_group/item_group.py diff --git a/setup/doctype/item_group/item_group.txt b/erpnext/setup/doctype/item_group/item_group.txt similarity index 100% rename from setup/doctype/item_group/item_group.txt rename to erpnext/setup/doctype/item_group/item_group.txt diff --git a/setup/doctype/other_charges/__init__.py b/erpnext/setup/doctype/manage_account/__init__.py similarity index 100% rename from setup/doctype/other_charges/__init__.py rename to erpnext/setup/doctype/manage_account/__init__.py diff --git a/setup/doctype/manage_account/manage_account.js b/erpnext/setup/doctype/manage_account/manage_account.js similarity index 100% rename from setup/doctype/manage_account/manage_account.js rename to erpnext/setup/doctype/manage_account/manage_account.js diff --git a/setup/doctype/manage_account/manage_account.py b/erpnext/setup/doctype/manage_account/manage_account.py similarity index 100% rename from setup/doctype/manage_account/manage_account.py rename to erpnext/setup/doctype/manage_account/manage_account.py diff --git a/setup/doctype/manage_account/manage_account.txt b/erpnext/setup/doctype/manage_account/manage_account.txt similarity index 100% rename from setup/doctype/manage_account/manage_account.txt rename to erpnext/setup/doctype/manage_account/manage_account.txt diff --git a/setup/doctype/period/__init__.py b/erpnext/setup/doctype/market_segment/__init__.py similarity index 100% rename from setup/doctype/period/__init__.py rename to erpnext/setup/doctype/market_segment/__init__.py diff --git a/setup/doctype/market_segment/market_segment.txt b/erpnext/setup/doctype/market_segment/market_segment.txt similarity index 100% rename from setup/doctype/market_segment/market_segment.txt rename to erpnext/setup/doctype/market_segment/market_segment.txt diff --git a/setup/doctype/period_control/__init__.py b/erpnext/setup/doctype/naming_series/__init__.py similarity index 100% rename from setup/doctype/period_control/__init__.py rename to erpnext/setup/doctype/naming_series/__init__.py diff --git a/setup/doctype/naming_series/naming_series.js b/erpnext/setup/doctype/naming_series/naming_series.js similarity index 100% rename from setup/doctype/naming_series/naming_series.js rename to erpnext/setup/doctype/naming_series/naming_series.js diff --git a/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py similarity index 100% rename from setup/doctype/naming_series/naming_series.py rename to erpnext/setup/doctype/naming_series/naming_series.py diff --git a/setup/doctype/naming_series/naming_series.txt b/erpnext/setup/doctype/naming_series/naming_series.txt similarity index 100% rename from setup/doctype/naming_series/naming_series.txt rename to erpnext/setup/doctype/naming_series/naming_series.txt diff --git a/setup/doctype/permission_control/__init__.py b/erpnext/setup/doctype/naming_series_options/__init__.py similarity index 100% rename from setup/doctype/permission_control/__init__.py rename to erpnext/setup/doctype/naming_series_options/__init__.py diff --git a/setup/doctype/naming_series_options/naming_series_options.txt b/erpnext/setup/doctype/naming_series_options/naming_series_options.txt similarity index 100% rename from setup/doctype/naming_series_options/naming_series_options.txt rename to erpnext/setup/doctype/naming_series_options/naming_series_options.txt diff --git a/setup/doctype/personalize/__init__.py b/erpnext/setup/doctype/notification_control/__init__.py similarity index 100% rename from setup/doctype/personalize/__init__.py rename to erpnext/setup/doctype/notification_control/__init__.py diff --git a/setup/doctype/notification_control/notification_control.js b/erpnext/setup/doctype/notification_control/notification_control.js similarity index 100% rename from setup/doctype/notification_control/notification_control.js rename to erpnext/setup/doctype/notification_control/notification_control.js diff --git a/setup/doctype/notification_control/notification_control.py b/erpnext/setup/doctype/notification_control/notification_control.py similarity index 100% rename from setup/doctype/notification_control/notification_control.py rename to erpnext/setup/doctype/notification_control/notification_control.py diff --git a/setup/doctype/notification_control/notification_control.txt b/erpnext/setup/doctype/notification_control/notification_control.txt similarity index 100% rename from setup/doctype/notification_control/notification_control.txt rename to erpnext/setup/doctype/notification_control/notification_control.txt diff --git a/setup/doctype/price_list/__init__.py b/erpnext/setup/doctype/order_lost_reason/__init__.py similarity index 100% rename from setup/doctype/price_list/__init__.py rename to erpnext/setup/doctype/order_lost_reason/__init__.py diff --git a/setup/doctype/order_lost_reason/order_lost_reason.js b/erpnext/setup/doctype/order_lost_reason/order_lost_reason.js similarity index 100% rename from setup/doctype/order_lost_reason/order_lost_reason.js rename to erpnext/setup/doctype/order_lost_reason/order_lost_reason.js diff --git a/setup/doctype/order_lost_reason/order_lost_reason.txt b/erpnext/setup/doctype/order_lost_reason/order_lost_reason.txt similarity index 100% rename from setup/doctype/order_lost_reason/order_lost_reason.txt rename to erpnext/setup/doctype/order_lost_reason/order_lost_reason.txt diff --git a/setup/doctype/print_heading/__init__.py b/erpnext/setup/doctype/other_charges/__init__.py similarity index 100% rename from setup/doctype/print_heading/__init__.py rename to erpnext/setup/doctype/other_charges/__init__.py diff --git a/setup/doctype/other_charges/other_charges.js b/erpnext/setup/doctype/other_charges/other_charges.js similarity index 100% rename from setup/doctype/other_charges/other_charges.js rename to erpnext/setup/doctype/other_charges/other_charges.js diff --git a/setup/doctype/other_charges/other_charges.py b/erpnext/setup/doctype/other_charges/other_charges.py similarity index 100% rename from setup/doctype/other_charges/other_charges.py rename to erpnext/setup/doctype/other_charges/other_charges.py diff --git a/setup/doctype/other_charges/other_charges.txt b/erpnext/setup/doctype/other_charges/other_charges.txt similarity index 100% rename from setup/doctype/other_charges/other_charges.txt rename to erpnext/setup/doctype/other_charges/other_charges.txt diff --git a/setup/doctype/role/__init__.py b/erpnext/setup/doctype/period/__init__.py similarity index 100% rename from setup/doctype/role/__init__.py rename to erpnext/setup/doctype/period/__init__.py diff --git a/setup/doctype/period/period.js b/erpnext/setup/doctype/period/period.js similarity index 100% rename from setup/doctype/period/period.js rename to erpnext/setup/doctype/period/period.js diff --git a/setup/doctype/period/period.txt b/erpnext/setup/doctype/period/period.txt similarity index 100% rename from setup/doctype/period/period.txt rename to erpnext/setup/doctype/period/period.txt diff --git a/setup/doctype/sales_browser_control/__init__.py b/erpnext/setup/doctype/period_control/__init__.py similarity index 100% rename from setup/doctype/sales_browser_control/__init__.py rename to erpnext/setup/doctype/period_control/__init__.py diff --git a/setup/doctype/period_control/period_control.py b/erpnext/setup/doctype/period_control/period_control.py similarity index 100% rename from setup/doctype/period_control/period_control.py rename to erpnext/setup/doctype/period_control/period_control.py diff --git a/setup/doctype/period_control/period_control.txt b/erpnext/setup/doctype/period_control/period_control.txt similarity index 100% rename from setup/doctype/period_control/period_control.txt rename to erpnext/setup/doctype/period_control/period_control.txt diff --git a/setup/doctype/sales_partner/__init__.py b/erpnext/setup/doctype/permission_control/__init__.py similarity index 100% rename from setup/doctype/sales_partner/__init__.py rename to erpnext/setup/doctype/permission_control/__init__.py diff --git a/setup/doctype/permission_control/permission_control.py b/erpnext/setup/doctype/permission_control/permission_control.py similarity index 100% rename from setup/doctype/permission_control/permission_control.py rename to erpnext/setup/doctype/permission_control/permission_control.py diff --git a/setup/doctype/permission_control/permission_control.txt b/erpnext/setup/doctype/permission_control/permission_control.txt similarity index 100% rename from setup/doctype/permission_control/permission_control.txt rename to erpnext/setup/doctype/permission_control/permission_control.txt diff --git a/setup/doctype/sales_person/__init__.py b/erpnext/setup/doctype/personalize/__init__.py similarity index 100% rename from setup/doctype/sales_person/__init__.py rename to erpnext/setup/doctype/personalize/__init__.py diff --git a/setup/doctype/personalize/personalize.py b/erpnext/setup/doctype/personalize/personalize.py similarity index 100% rename from setup/doctype/personalize/personalize.py rename to erpnext/setup/doctype/personalize/personalize.py diff --git a/setup/doctype/personalize/personalize.txt b/erpnext/setup/doctype/personalize/personalize.txt similarity index 100% rename from setup/doctype/personalize/personalize.txt rename to erpnext/setup/doctype/personalize/personalize.txt diff --git a/setup/doctype/series_detail/__init__.py b/erpnext/setup/doctype/price_list/__init__.py similarity index 100% rename from setup/doctype/series_detail/__init__.py rename to erpnext/setup/doctype/price_list/__init__.py diff --git a/setup/doctype/price_list/price_list.js b/erpnext/setup/doctype/price_list/price_list.js similarity index 100% rename from setup/doctype/price_list/price_list.js rename to erpnext/setup/doctype/price_list/price_list.js diff --git a/setup/doctype/price_list/price_list.py b/erpnext/setup/doctype/price_list/price_list.py similarity index 100% rename from setup/doctype/price_list/price_list.py rename to erpnext/setup/doctype/price_list/price_list.py diff --git a/setup/doctype/price_list/price_list.txt b/erpnext/setup/doctype/price_list/price_list.txt similarity index 100% rename from setup/doctype/price_list/price_list.txt rename to erpnext/setup/doctype/price_list/price_list.txt diff --git a/setup/doctype/setup_control/__init__.py b/erpnext/setup/doctype/print_heading/__init__.py similarity index 100% rename from setup/doctype/setup_control/__init__.py rename to erpnext/setup/doctype/print_heading/__init__.py diff --git a/setup/doctype/print_heading/print_heading.js b/erpnext/setup/doctype/print_heading/print_heading.js similarity index 100% rename from setup/doctype/print_heading/print_heading.js rename to erpnext/setup/doctype/print_heading/print_heading.js diff --git a/setup/doctype/print_heading/print_heading.py b/erpnext/setup/doctype/print_heading/print_heading.py similarity index 100% rename from setup/doctype/print_heading/print_heading.py rename to erpnext/setup/doctype/print_heading/print_heading.py diff --git a/setup/doctype/print_heading/print_heading.txt b/erpnext/setup/doctype/print_heading/print_heading.txt similarity index 100% rename from setup/doctype/print_heading/print_heading.txt rename to erpnext/setup/doctype/print_heading/print_heading.txt diff --git a/setup/doctype/setup_wizard_control/__init__.py b/erpnext/setup/doctype/role/__init__.py similarity index 100% rename from setup/doctype/setup_wizard_control/__init__.py rename to erpnext/setup/doctype/role/__init__.py diff --git a/setup/doctype/role/role.js b/erpnext/setup/doctype/role/role.js similarity index 100% rename from setup/doctype/role/role.js rename to erpnext/setup/doctype/role/role.js diff --git a/setup/doctype/role/role.py b/erpnext/setup/doctype/role/role.py similarity index 100% rename from setup/doctype/role/role.py rename to erpnext/setup/doctype/role/role.py diff --git a/setup/doctype/role/role.txt b/erpnext/setup/doctype/role/role.txt similarity index 100% rename from setup/doctype/role/role.txt rename to erpnext/setup/doctype/role/role.txt diff --git a/setup/doctype/sms_settings/__init__.py b/erpnext/setup/doctype/sales_browser_control/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from setup/doctype/sms_settings/__init__.py rename to erpnext/setup/doctype/sales_browser_control/__init__.py diff --git a/setup/doctype/sales_browser_control/sales_browser_control.py b/erpnext/setup/doctype/sales_browser_control/sales_browser_control.py similarity index 100% rename from setup/doctype/sales_browser_control/sales_browser_control.py rename to erpnext/setup/doctype/sales_browser_control/sales_browser_control.py diff --git a/setup/doctype/sales_browser_control/sales_browser_control.txt b/erpnext/setup/doctype/sales_browser_control/sales_browser_control.txt similarity index 100% rename from setup/doctype/sales_browser_control/sales_browser_control.txt rename to erpnext/setup/doctype/sales_browser_control/sales_browser_control.txt diff --git a/setup/doctype/state/__init__.py b/erpnext/setup/doctype/sales_partner/__init__.py similarity index 100% rename from setup/doctype/state/__init__.py rename to erpnext/setup/doctype/sales_partner/__init__.py diff --git a/setup/doctype/sales_partner/sales_partner.js b/erpnext/setup/doctype/sales_partner/sales_partner.js similarity index 100% rename from setup/doctype/sales_partner/sales_partner.js rename to erpnext/setup/doctype/sales_partner/sales_partner.js diff --git a/setup/doctype/sales_partner/sales_partner.py b/erpnext/setup/doctype/sales_partner/sales_partner.py similarity index 100% rename from setup/doctype/sales_partner/sales_partner.py rename to erpnext/setup/doctype/sales_partner/sales_partner.py diff --git a/setup/doctype/sales_partner/sales_partner.txt b/erpnext/setup/doctype/sales_partner/sales_partner.txt similarity index 100% rename from setup/doctype/sales_partner/sales_partner.txt rename to erpnext/setup/doctype/sales_partner/sales_partner.txt diff --git a/setup/doctype/static_parameter_detail/__init__.py b/erpnext/setup/doctype/sales_person/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from setup/doctype/static_parameter_detail/__init__.py rename to erpnext/setup/doctype/sales_person/__init__.py diff --git a/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js similarity index 100% rename from setup/doctype/sales_person/sales_person.js rename to erpnext/setup/doctype/sales_person/sales_person.js diff --git a/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py similarity index 100% rename from setup/doctype/sales_person/sales_person.py rename to erpnext/setup/doctype/sales_person/sales_person.py diff --git a/setup/doctype/sales_person/sales_person.txt b/erpnext/setup/doctype/sales_person/sales_person.txt similarity index 100% rename from setup/doctype/sales_person/sales_person.txt rename to erpnext/setup/doctype/sales_person/sales_person.txt diff --git a/setup/doctype/supplier_type/__init__.py b/erpnext/setup/doctype/series_detail/__init__.py similarity index 100% rename from setup/doctype/supplier_type/__init__.py rename to erpnext/setup/doctype/series_detail/__init__.py diff --git a/setup/doctype/series_detail/series_detail.txt b/erpnext/setup/doctype/series_detail/series_detail.txt similarity index 100% rename from setup/doctype/series_detail/series_detail.txt rename to erpnext/setup/doctype/series_detail/series_detail.txt diff --git a/setup/doctype/target_detail/__init__.py b/erpnext/setup/doctype/setup_control/__init__.py similarity index 100% rename from setup/doctype/target_detail/__init__.py rename to erpnext/setup/doctype/setup_control/__init__.py diff --git a/setup/doctype/setup_control/setup_control.py b/erpnext/setup/doctype/setup_control/setup_control.py similarity index 97% rename from setup/doctype/setup_control/setup_control.py rename to erpnext/setup/doctype/setup_control/setup_control.py index 61e3a82cb3c..55b967e14ab 100644 --- a/setup/doctype/setup_control/setup_control.py +++ b/erpnext/setup/doctype/setup_control/setup_control.py @@ -52,8 +52,7 @@ class DocType: self.currency = currency # Fiscal Year - master_dict = {'Fiscal Year':{'year':curr_fiscal_year, - 'year_start_date':fy_start_date}} + master_dict = {'Fiscal Year':{'year':curr_fiscal_year, 'year_start_date':fy_start_date}} self.create_records(master_dict) # Company @@ -85,6 +84,8 @@ class DocType: # Set Registration Complete set_default('registration_complete','1') + msgprint("Great! Your company has now been created") + import webnotes.utils return webnotes.utils.get_defaults() @@ -203,4 +204,4 @@ class DocType: if (cp_defaults==args['account_name']) and user_profile and \ (total_users==cint(args['total_users'])): return 'True' - \ No newline at end of file + diff --git a/setup/doctype/setup_control/setup_control.txt b/erpnext/setup/doctype/setup_control/setup_control.txt similarity index 100% rename from setup/doctype/setup_control/setup_control.txt rename to erpnext/setup/doctype/setup_control/setup_control.txt diff --git a/setup/doctype/term/__init__.py b/erpnext/setup/doctype/setup_wizard_control/__init__.py similarity index 100% rename from setup/doctype/term/__init__.py rename to erpnext/setup/doctype/setup_wizard_control/__init__.py diff --git a/setup/doctype/setup_wizard_control/setup_wizard_control.py b/erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.py similarity index 100% rename from setup/doctype/setup_wizard_control/setup_wizard_control.py rename to erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.py diff --git a/setup/doctype/setup_wizard_control/setup_wizard_control.txt b/erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.txt similarity index 100% rename from setup/doctype/setup_wizard_control/setup_wizard_control.txt rename to erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.txt diff --git a/setup/doctype/territory/__init__.py b/erpnext/setup/doctype/sms_settings/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from setup/doctype/territory/__init__.py rename to erpnext/setup/doctype/sms_settings/__init__.py diff --git a/setup/doctype/sms_settings/sms_settings.txt b/erpnext/setup/doctype/sms_settings/sms_settings.txt similarity index 100% rename from setup/doctype/sms_settings/sms_settings.txt rename to erpnext/setup/doctype/sms_settings/sms_settings.txt diff --git a/setup/doctype/uom/__init__.py b/erpnext/setup/doctype/state/__init__.py similarity index 100% rename from setup/doctype/uom/__init__.py rename to erpnext/setup/doctype/state/__init__.py diff --git a/setup/doctype/state/state.js b/erpnext/setup/doctype/state/state.js similarity index 100% rename from setup/doctype/state/state.js rename to erpnext/setup/doctype/state/state.js diff --git a/setup/doctype/state/state.txt b/erpnext/setup/doctype/state/state.txt similarity index 100% rename from setup/doctype/state/state.txt rename to erpnext/setup/doctype/state/state.txt diff --git a/setup/doctype/update_series/__init__.py b/erpnext/setup/doctype/static_parameter_detail/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from setup/doctype/update_series/__init__.py rename to erpnext/setup/doctype/static_parameter_detail/__init__.py diff --git a/setup/doctype/static_parameter_detail/static_parameter_detail.txt b/erpnext/setup/doctype/static_parameter_detail/static_parameter_detail.txt similarity index 100% rename from setup/doctype/static_parameter_detail/static_parameter_detail.txt rename to erpnext/setup/doctype/static_parameter_detail/static_parameter_detail.txt diff --git a/setup/doctype/upload_accounts_transactions/__init__.py b/erpnext/setup/doctype/supplier_type/__init__.py similarity index 100% rename from setup/doctype/upload_accounts_transactions/__init__.py rename to erpnext/setup/doctype/supplier_type/__init__.py diff --git a/setup/doctype/supplier_type/supplier_type.js b/erpnext/setup/doctype/supplier_type/supplier_type.js similarity index 100% rename from setup/doctype/supplier_type/supplier_type.js rename to erpnext/setup/doctype/supplier_type/supplier_type.js diff --git a/setup/doctype/supplier_type/supplier_type.txt b/erpnext/setup/doctype/supplier_type/supplier_type.txt similarity index 100% rename from setup/doctype/supplier_type/supplier_type.txt rename to erpnext/setup/doctype/supplier_type/supplier_type.txt diff --git a/setup/doctype/warehouse_type/__init__.py b/erpnext/setup/doctype/target_detail/__init__.py similarity index 100% rename from setup/doctype/warehouse_type/__init__.py rename to erpnext/setup/doctype/target_detail/__init__.py diff --git a/setup/doctype/target_detail/target_detail.txt b/erpnext/setup/doctype/target_detail/target_detail.txt similarity index 100% rename from setup/doctype/target_detail/target_detail.txt rename to erpnext/setup/doctype/target_detail/target_detail.txt diff --git a/setup/doctype/workflow_action_detail/__init__.py b/erpnext/setup/doctype/term/__init__.py similarity index 100% rename from setup/doctype/workflow_action_detail/__init__.py rename to erpnext/setup/doctype/term/__init__.py diff --git a/setup/doctype/term/term.js b/erpnext/setup/doctype/term/term.js similarity index 100% rename from setup/doctype/term/term.js rename to erpnext/setup/doctype/term/term.js diff --git a/setup/doctype/term/term.txt b/erpnext/setup/doctype/term/term.txt similarity index 100% rename from setup/doctype/term/term.txt rename to erpnext/setup/doctype/term/term.txt diff --git a/setup/doctype/workflow_engine/__init__.py b/erpnext/setup/doctype/territory/__init__.py similarity index 100% rename from setup/doctype/workflow_engine/__init__.py rename to erpnext/setup/doctype/territory/__init__.py diff --git a/setup/doctype/territory/territory.js b/erpnext/setup/doctype/territory/territory.js similarity index 100% rename from setup/doctype/territory/territory.js rename to erpnext/setup/doctype/territory/territory.js diff --git a/setup/doctype/territory/territory.py b/erpnext/setup/doctype/territory/territory.py similarity index 100% rename from setup/doctype/territory/territory.py rename to erpnext/setup/doctype/territory/territory.py diff --git a/setup/doctype/territory/territory.txt b/erpnext/setup/doctype/territory/territory.txt similarity index 100% rename from setup/doctype/territory/territory.txt rename to erpnext/setup/doctype/territory/territory.txt diff --git a/setup/doctype/workflow_rule/__init__.py b/erpnext/setup/doctype/uom/__init__.py similarity index 100% rename from setup/doctype/workflow_rule/__init__.py rename to erpnext/setup/doctype/uom/__init__.py diff --git a/setup/doctype/uom/uom.js b/erpnext/setup/doctype/uom/uom.js similarity index 100% rename from setup/doctype/uom/uom.js rename to erpnext/setup/doctype/uom/uom.js diff --git a/setup/doctype/uom/uom.txt b/erpnext/setup/doctype/uom/uom.txt similarity index 100% rename from setup/doctype/uom/uom.txt rename to erpnext/setup/doctype/uom/uom.txt diff --git a/setup/doctype/workflow_rule_detail/__init__.py b/erpnext/setup/doctype/update_series/__init__.py similarity index 100% rename from setup/doctype/workflow_rule_detail/__init__.py rename to erpnext/setup/doctype/update_series/__init__.py diff --git a/setup/doctype/update_series/update_series.py b/erpnext/setup/doctype/update_series/update_series.py similarity index 100% rename from setup/doctype/update_series/update_series.py rename to erpnext/setup/doctype/update_series/update_series.py diff --git a/setup/doctype/update_series/update_series.txt b/erpnext/setup/doctype/update_series/update_series.txt similarity index 100% rename from setup/doctype/update_series/update_series.txt rename to erpnext/setup/doctype/update_series/update_series.txt diff --git a/setup/page/__init__.py b/erpnext/setup/doctype/upload_accounts_transactions/__init__.py similarity index 100% rename from setup/page/__init__.py rename to erpnext/setup/doctype/upload_accounts_transactions/__init__.py diff --git a/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js b/erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js similarity index 100% rename from setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js rename to erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js diff --git a/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py b/erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py similarity index 100% rename from setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py rename to erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py diff --git a/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt b/erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt similarity index 100% rename from setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt rename to erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt diff --git a/setup/page/import_data/__init__.py b/erpnext/setup/doctype/warehouse_type/__init__.py similarity index 100% rename from setup/page/import_data/__init__.py rename to erpnext/setup/doctype/warehouse_type/__init__.py diff --git a/setup/doctype/warehouse_type/warehouse_type.js b/erpnext/setup/doctype/warehouse_type/warehouse_type.js similarity index 100% rename from setup/doctype/warehouse_type/warehouse_type.js rename to erpnext/setup/doctype/warehouse_type/warehouse_type.js diff --git a/setup/doctype/warehouse_type/warehouse_type.txt b/erpnext/setup/doctype/warehouse_type/warehouse_type.txt similarity index 100% rename from setup/doctype/warehouse_type/warehouse_type.txt rename to erpnext/setup/doctype/warehouse_type/warehouse_type.txt diff --git a/setup/page/people/__init__.py b/erpnext/setup/doctype/workflow_action_detail/__init__.py similarity index 100% rename from setup/page/people/__init__.py rename to erpnext/setup/doctype/workflow_action_detail/__init__.py diff --git a/setup/doctype/workflow_action_detail/workflow_action_detail.txt b/erpnext/setup/doctype/workflow_action_detail/workflow_action_detail.txt similarity index 100% rename from setup/doctype/workflow_action_detail/workflow_action_detail.txt rename to erpnext/setup/doctype/workflow_action_detail/workflow_action_detail.txt diff --git a/setup/page/permission_engine/__init__.py b/erpnext/setup/doctype/workflow_engine/__init__.py similarity index 100% rename from setup/page/permission_engine/__init__.py rename to erpnext/setup/doctype/workflow_engine/__init__.py diff --git a/setup/doctype/workflow_engine/workflow_engine.py b/erpnext/setup/doctype/workflow_engine/workflow_engine.py similarity index 100% rename from setup/doctype/workflow_engine/workflow_engine.py rename to erpnext/setup/doctype/workflow_engine/workflow_engine.py diff --git a/setup/doctype/workflow_engine/workflow_engine.txt b/erpnext/setup/doctype/workflow_engine/workflow_engine.txt similarity index 100% rename from setup/doctype/workflow_engine/workflow_engine.txt rename to erpnext/setup/doctype/workflow_engine/workflow_engine.txt diff --git a/setup/page/setup/__init__.py b/erpnext/setup/doctype/workflow_rule/__init__.py similarity index 100% rename from setup/page/setup/__init__.py rename to erpnext/setup/doctype/workflow_rule/__init__.py diff --git a/setup/doctype/workflow_rule/workflow_rule.js b/erpnext/setup/doctype/workflow_rule/workflow_rule.js similarity index 100% rename from setup/doctype/workflow_rule/workflow_rule.js rename to erpnext/setup/doctype/workflow_rule/workflow_rule.js diff --git a/setup/doctype/workflow_rule/workflow_rule.py b/erpnext/setup/doctype/workflow_rule/workflow_rule.py similarity index 100% rename from setup/doctype/workflow_rule/workflow_rule.py rename to erpnext/setup/doctype/workflow_rule/workflow_rule.py diff --git a/setup/doctype/workflow_rule/workflow_rule.txt b/erpnext/setup/doctype/workflow_rule/workflow_rule.txt similarity index 100% rename from setup/doctype/workflow_rule/workflow_rule.txt rename to erpnext/setup/doctype/workflow_rule/workflow_rule.txt diff --git a/setup/page/setup_wizard/__init__.py b/erpnext/setup/doctype/workflow_rule_detail/__init__.py similarity index 100% rename from setup/page/setup_wizard/__init__.py rename to erpnext/setup/doctype/workflow_rule_detail/__init__.py diff --git a/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt b/erpnext/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt similarity index 100% rename from setup/doctype/workflow_rule_detail/workflow_rule_detail.txt rename to erpnext/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt diff --git a/setup/page/webforms/__init__.py b/erpnext/setup/page/__init__.py similarity index 100% rename from setup/page/webforms/__init__.py rename to erpnext/setup/page/__init__.py diff --git a/stock/__init__.py b/erpnext/setup/page/import_data/__init__.py similarity index 100% rename from stock/__init__.py rename to erpnext/setup/page/import_data/__init__.py diff --git a/setup/page/import_data/import_data.html b/erpnext/setup/page/import_data/import_data.html similarity index 94% rename from setup/page/import_data/import_data.html rename to erpnext/setup/page/import_data/import_data.html index 5b30dd28cf5..d227c2c0beb 100644 --- a/setup/page/import_data/import_data.html +++ b/erpnext/setup/page/import_data/import_data.html @@ -45,7 +45,7 @@

Import Log:

- +
diff --git a/setup/page/import_data/import_data.js b/erpnext/setup/page/import_data/import_data.js similarity index 100% rename from setup/page/import_data/import_data.js rename to erpnext/setup/page/import_data/import_data.js diff --git a/setup/page/import_data/import_data.txt b/erpnext/setup/page/import_data/import_data.txt similarity index 100% rename from setup/page/import_data/import_data.txt rename to erpnext/setup/page/import_data/import_data.txt diff --git a/stock/doctype/__init__.py b/erpnext/setup/page/people/__init__.py similarity index 100% rename from stock/doctype/__init__.py rename to erpnext/setup/page/people/__init__.py diff --git a/setup/page/people/people.html b/erpnext/setup/page/people/people.html similarity index 100% rename from setup/page/people/people.html rename to erpnext/setup/page/people/people.html diff --git a/setup/page/people/people.js b/erpnext/setup/page/people/people.js similarity index 100% rename from setup/page/people/people.js rename to erpnext/setup/page/people/people.js diff --git a/setup/page/people/people.txt b/erpnext/setup/page/people/people.txt similarity index 100% rename from setup/page/people/people.txt rename to erpnext/setup/page/people/people.txt diff --git a/stock/doctype/batch/__init__.py b/erpnext/setup/page/permission_engine/__init__.py similarity index 100% rename from stock/doctype/batch/__init__.py rename to erpnext/setup/page/permission_engine/__init__.py diff --git a/setup/page/permission_engine/permission_engine.html b/erpnext/setup/page/permission_engine/permission_engine.html similarity index 100% rename from setup/page/permission_engine/permission_engine.html rename to erpnext/setup/page/permission_engine/permission_engine.html diff --git a/setup/page/permission_engine/permission_engine.js b/erpnext/setup/page/permission_engine/permission_engine.js similarity index 100% rename from setup/page/permission_engine/permission_engine.js rename to erpnext/setup/page/permission_engine/permission_engine.js diff --git a/setup/page/permission_engine/permission_engine.txt b/erpnext/setup/page/permission_engine/permission_engine.txt similarity index 100% rename from setup/page/permission_engine/permission_engine.txt rename to erpnext/setup/page/permission_engine/permission_engine.txt diff --git a/stock/doctype/bin/__init__.py b/erpnext/setup/page/setup/__init__.py similarity index 100% rename from stock/doctype/bin/__init__.py rename to erpnext/setup/page/setup/__init__.py diff --git a/setup/page/setup/setup.html b/erpnext/setup/page/setup/setup.html similarity index 100% rename from setup/page/setup/setup.html rename to erpnext/setup/page/setup/setup.html diff --git a/setup/page/setup/setup.js b/erpnext/setup/page/setup/setup.js similarity index 100% rename from setup/page/setup/setup.js rename to erpnext/setup/page/setup/setup.js diff --git a/setup/page/setup/setup.txt b/erpnext/setup/page/setup/setup.txt similarity index 100% rename from setup/page/setup/setup.txt rename to erpnext/setup/page/setup/setup.txt diff --git a/setup/page/setup/setup_static.html b/erpnext/setup/page/setup/setup_static.html similarity index 100% rename from setup/page/setup/setup_static.html rename to erpnext/setup/page/setup/setup_static.html diff --git a/stock/doctype/delivery_note/__init__.py b/erpnext/setup/page/setup_wizard/__init__.py similarity index 100% rename from stock/doctype/delivery_note/__init__.py rename to erpnext/setup/page/setup_wizard/__init__.py diff --git a/setup/page/setup_wizard/setup_wizard.html b/erpnext/setup/page/setup_wizard/setup_wizard.html similarity index 100% rename from setup/page/setup_wizard/setup_wizard.html rename to erpnext/setup/page/setup_wizard/setup_wizard.html diff --git a/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js similarity index 100% rename from setup/page/setup_wizard/setup_wizard.js rename to erpnext/setup/page/setup_wizard/setup_wizard.js diff --git a/setup/page/setup_wizard/setup_wizard.txt b/erpnext/setup/page/setup_wizard/setup_wizard.txt similarity index 100% rename from setup/page/setup_wizard/setup_wizard.txt rename to erpnext/setup/page/setup_wizard/setup_wizard.txt diff --git a/setup/page/setup_wizard/setup_wizard_static.html b/erpnext/setup/page/setup_wizard/setup_wizard_static.html similarity index 100% rename from setup/page/setup_wizard/setup_wizard_static.html rename to erpnext/setup/page/setup_wizard/setup_wizard_static.html diff --git a/stock/doctype/delivery_note_detail/__init__.py b/erpnext/setup/page/webforms/__init__.py similarity index 100% rename from stock/doctype/delivery_note_detail/__init__.py rename to erpnext/setup/page/webforms/__init__.py diff --git a/setup/page/webforms/webforms.html b/erpnext/setup/page/webforms/webforms.html similarity index 100% rename from setup/page/webforms/webforms.html rename to erpnext/setup/page/webforms/webforms.html diff --git a/setup/page/webforms/webforms.js b/erpnext/setup/page/webforms/webforms.js similarity index 100% rename from setup/page/webforms/webforms.js rename to erpnext/setup/page/webforms/webforms.js diff --git a/setup/page/webforms/webforms.txt b/erpnext/setup/page/webforms/webforms.txt similarity index 100% rename from setup/page/webforms/webforms.txt rename to erpnext/setup/page/webforms/webforms.txt diff --git a/setup/page/webforms/webforms_static.html b/erpnext/setup/page/webforms/webforms_static.html similarity index 100% rename from setup/page/webforms/webforms_static.html rename to erpnext/setup/page/webforms/webforms_static.html diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py new file mode 100644 index 00000000000..cea033b4fcd --- /dev/null +++ b/erpnext/startup/__init__.py @@ -0,0 +1,7 @@ +# add startup propertes + +add_in_head = """ + +""" \ No newline at end of file diff --git a/startup/event_handlers.py b/erpnext/startup/event_handlers.py similarity index 100% rename from startup/event_handlers.py rename to erpnext/startup/event_handlers.py diff --git a/startup/startup.css b/erpnext/startup/startup.css similarity index 76% rename from startup/startup.css rename to erpnext/startup/startup.css index 67393aac08e..f02841689de 100644 --- a/startup/startup.css +++ b/erpnext/startup/startup.css @@ -1,3 +1,13 @@ +h1, h2, h3, h4 { + font-family: Tahoma, Sans Serif; + font-weight: bold; +} + +body, span, div, td, input, textarea, button, select { + font-family: Verdana, Arial, Sans Serif; + font-size: 12px; +} + body { background-color: #e2e2e2; } @@ -21,7 +31,7 @@ body { } .module-icons { - background: url(images/user/module-icons.png) no-repeat top left; + background: url(images/module-icons.png) no-repeat top left; width:16px; height:16px; } diff --git a/startup/startup.js b/erpnext/startup/startup.js similarity index 98% rename from startup/startup.js rename to erpnext/startup/startup.js index a0661ae06f6..3e2fde404ef 100644 --- a/startup/startup.js +++ b/erpnext/startup/startup.js @@ -43,18 +43,8 @@ function startup_setup() { // ------------------ $dh(page_body.footer); - // for logout and payment - var callback = function(r,rt) { - if(r.message){ - login_file = 'http://' + r.message; - } - else if(pscript.is_erpnext_saas) { - login_file = 'https://www.erpnext.com'; - } - // setup toolbar - pscript.startup_setup_toolbar(); - } - $c_obj('Home Control', 'get_login_url', '', callback); + // setup toolbar + pscript.startup_setup_toolbar(); } // ==================================================================== @@ -299,10 +289,17 @@ SidebarItem.prototype.show_items = function() { // add to menu-item mapper menu_item_map['Page'][me.det.module_label + ' Custom Reports'] = smi.pointer; - } - } + + if(r.login_url){ + login_file = 'http://' + r.login_url; + } + else if(pscript.is_erpnext_saas) { + login_file = 'https://www.erpnext.com'; + } + + $(me.items_area).slideDown(); // high light @@ -565,7 +562,7 @@ pscript.feature_dict = { 'Timesheet': {'timesheet_details':['project_name']} }, 'fs_packing_details': { - 'Delivery Note': {'fields':['packing_details','print_packing_slip'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']}, + 'Delivery Note': {'fields':['packing_details','print_packing_slip','packing_checked_by','packed_by','pack_size','shipping_mark'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']}, 'Sales Order': {'fields':['packing_details']} }, 'fs_discounts': { diff --git a/stock/DocType Label/QA Inspection Report/QA Inspection Report.txt b/erpnext/stock/DocType Label/QA Inspection Report/QA Inspection Report.txt similarity index 100% rename from stock/DocType Label/QA Inspection Report/QA Inspection Report.txt rename to erpnext/stock/DocType Label/QA Inspection Report/QA Inspection Report.txt diff --git a/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt b/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt similarity index 94% rename from stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt rename to erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt index e1579f93f6e..69c4fe21f1d 100644 --- a/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt +++ b/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-09-01 15:48:10', + 'creation': '2010-09-01 15:47:59', 'docstatus': 0, - 'modified': '2010-09-01 14:25:08', + 'modified': '2011-09-15 15:04:43', 'modified_by': 'Administrator', 'owner': 'harshada@webnotestech.com' }, diff --git a/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt b/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt similarity index 100% rename from stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt rename to erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt diff --git a/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt b/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt similarity index 93% rename from stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt rename to erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt index 74437311e04..61b33ee9506 100755 --- a/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt +++ b/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2010-12-15 08:39:22', + 'creation': '2010-12-14 17:56:41', 'docstatus': 0, - 'modified': '2011-09-13 17:26:01', + 'modified': '2011-09-15 15:04:44', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -107,6 +107,15 @@ 'to_field': 'naming_series' }, + # Field Mapper Detail + { + 'doctype': 'Field Mapper Detail', + 'from_field': 'customer_address', + 'map': 'Yes', + 'match_id': 0, + 'to_field': 'delivery_address' + }, + # Field Mapper Detail { 'doctype': 'Field Mapper Detail', diff --git a/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt b/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt similarity index 96% rename from stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt rename to erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt index 9b08913252b..561019b4d7e 100644 --- a/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt +++ b/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-09-13 13:23:26', + 'modified': '2011-09-14 12:36:25', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -221,6 +221,15 @@ 'to_field': 'incentives' }, + # Field Mapper Detail + { + 'doctype': 'Field Mapper Detail', + 'from_field': 'allocated_amount', + 'map': 'Yes', + 'match_id': 0, + 'to_field': 'customer_mobile_no' + }, + # Table Mapper Detail { 'doctype': 'Table Mapper Detail', diff --git a/stock/Item Group/All Item Groups/All Item Groups.txt b/erpnext/stock/Item Group/All Item Groups/All Item Groups.txt similarity index 100% rename from stock/Item Group/All Item Groups/All Item Groups.txt rename to erpnext/stock/Item Group/All Item Groups/All Item Groups.txt diff --git a/stock/Item Group/Default/Default.txt b/erpnext/stock/Item Group/Default/Default.txt similarity index 100% rename from stock/Item Group/Default/Default.txt rename to erpnext/stock/Item Group/Default/Default.txt diff --git a/erpnext/stock/Module Def/Stock/Stock.txt b/erpnext/stock/Module Def/Stock/Stock.txt new file mode 100644 index 00000000000..4fc87904809 --- /dev/null +++ b/erpnext/stock/Module Def/Stock/Stock.txt @@ -0,0 +1,232 @@ +# Module Def, Stock +[ + + # These values are common in all dictionaries + { + 'creation': '2011-07-01 17:40:49', + 'docstatus': 0, + 'modified': '2011-10-10 17:01:34', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all Module Def Role + { + 'doctype': 'Module Def Role', + 'name': '__common__', + 'parent': 'Stock', + 'parentfield': 'roles', + 'parenttype': 'Module Def' + }, + + # These values are common for all Module Def Item + { + 'doctype': 'Module Def Item', + 'name': '__common__', + 'parent': 'Stock', + 'parentfield': 'items', + 'parenttype': 'Module Def' + }, + + # These values are common for all Module Def + { + 'disabled': 'No', + 'doctype': u'Module Def', + 'doctype_list': 'DocType Label, QA Inspection Report', + 'is_hidden': 'No', + 'module_desc': 'Material Management', + 'module_icon': 'Stock.gif', + 'module_label': 'Stock', + 'module_name': 'Stock', + 'module_seq': 7, + 'name': '__common__' + }, + + # Module Def, Stock + { + 'doctype': u'Module Def', + 'name': 'Stock' + }, + + # Module Def Item + { + 'description': 'Item master', + 'display_name': 'Item', + 'doc_name': 'Item', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'name\nitem_group\ndescription' + }, + + # Module Def Item + { + 'description': 'A unique number identifying each entity of an item', + 'display_name': 'Serial No', + 'doc_name': 'Serial No', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'item_code\nstatus\nwarehouse\npr_no\ndelivery_note_no\ncustomer' + }, + + # Module Def Item + { + 'description': 'Record of items added, removed or moved from one warehouse to another.', + 'display_name': 'Stock Entry', + 'doc_name': 'Stock Entry', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'transfer_date\npurpose\nfrom_warehouse\nto_warehouse\nremarks' + }, + + # Module Def Item + { + 'description': 'Record of items delivered to your customers along with the Printed Note', + 'display_name': 'Delivery Note', + 'doc_name': 'Delivery Note', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'status\ntransaction_date\ncustomer\nterritory\ngrand_total\nper_billed' + }, + + # Module Def Item + { + 'description': 'Record of incoming material from your suppliers', + 'display_name': 'Purchase Receipt', + 'doc_name': 'Purchase Receipt', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'status\ntransaction_date\nsupplier\ngrand_total\nper_billed' + }, + + # Module Def Item + { + 'description': 'Details of Installation done after delivery', + 'display_name': 'Installation Note', + 'doc_name': 'Installation Note', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'description': 'Create Quality Inspection Report for any item', + 'display_name': 'Inspection Report', + 'doc_name': 'QA Inspection Report', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'inspection_type\nitem_code\nreport_date\npurchase_receipt_no\ndelivery_note_no' + }, + + # Module Def Item + { + 'description': 'Reconcile your stock by uploading it form an excel file', + 'display_name': 'Stock Reconciliation', + 'doc_name': 'Stock Reconciliation', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'reconciliation_date\nreconciliation_time\nremark' + }, + + # Module Def Item + { + 'description': 'This utility tool will update Stock UOM in Item and will respectively update Actual Qty in Stock Ledger as per Conversion Factor.', + 'display_name': 'Stock UOM Replace Utility', + 'doc_name': 'Stock UOM Replace Utility', + 'doc_type': 'Single DocType', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'description': 'This utility will help in tracking stock for Sales Return and Purchase Return.', + 'display_name': 'Sales and Purchase Return Wizard', + 'doc_name': 'Sales and Purchase Return Wizard', + 'doc_type': 'Single DocType', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'description': 'You can create master template for landed cost wizard', + 'display_name': 'Landed Cost Master', + 'doc_name': 'Landed Cost Master', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'icon': 'accept.gif' + }, + + # Module Def Item + { + 'description': 'Add extra expenses into Purchase Receipt which should be consider for item valuation. The cost will be added proportionately as per purchase receipt value.', + 'display_name': 'Landed Cost Wizard', + 'doc_name': 'Landed Cost Wizard', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'icon': 'accept.gif' + }, + + # Module Def Item + { + 'display_name': 'Stock Ledger', + 'doc_name': 'Stock Ledger Entry', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'display_name': 'Stock Level', + 'doc_name': 'Bin', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'display_name': 'Shortage To Indent', + 'doc_name': 'Item', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'description': 'Stock Value as per Item and Warehouse', + 'display_name': 'Stock Report', + 'doc_name': 'Stock Ledger Entry', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'display_name': 'Stock Aging Report', + 'doc_name': 'Serial No', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Material User' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Material Master Manager' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Material Manager' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Quality Manager' + } +] \ No newline at end of file diff --git a/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt b/erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt similarity index 100% rename from stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt rename to erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt diff --git a/stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt b/erpnext/stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt similarity index 100% rename from stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt rename to erpnext/stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt diff --git a/stock/Role/Material Manager/Material Manager.txt b/erpnext/stock/Role/Material Manager/Material Manager.txt similarity index 100% rename from stock/Role/Material Manager/Material Manager.txt rename to erpnext/stock/Role/Material Manager/Material Manager.txt diff --git a/stock/Role/Material Master Manager/Material Master Manager.txt b/erpnext/stock/Role/Material Master Manager/Material Master Manager.txt similarity index 100% rename from stock/Role/Material Master Manager/Material Master Manager.txt rename to erpnext/stock/Role/Material Master Manager/Material Master Manager.txt diff --git a/stock/Role/Material User/Material User.txt b/erpnext/stock/Role/Material User/Material User.txt similarity index 100% rename from stock/Role/Material User/Material User.txt rename to erpnext/stock/Role/Material User/Material User.txt diff --git a/stock/Role/Quality Manager/Quality Manager.txt b/erpnext/stock/Role/Quality Manager/Quality Manager.txt similarity index 100% rename from stock/Role/Quality Manager/Quality Manager.txt rename to erpnext/stock/Role/Quality Manager/Quality Manager.txt diff --git a/stock/doctype/delivery_note_packing_detail/__init__.py b/erpnext/stock/__init__.py similarity index 100% rename from stock/doctype/delivery_note_packing_detail/__init__.py rename to erpnext/stock/__init__.py diff --git a/stock/doctype/item/__init__.py b/erpnext/stock/doctype/__init__.py similarity index 100% rename from stock/doctype/item/__init__.py rename to erpnext/stock/doctype/__init__.py diff --git a/stock/doctype/item_customer_detail/__init__.py b/erpnext/stock/doctype/batch/__init__.py similarity index 100% rename from stock/doctype/item_customer_detail/__init__.py rename to erpnext/stock/doctype/batch/__init__.py diff --git a/stock/doctype/batch/batch.txt b/erpnext/stock/doctype/batch/batch.txt similarity index 100% rename from stock/doctype/batch/batch.txt rename to erpnext/stock/doctype/batch/batch.txt diff --git a/stock/doctype/item_specification_detail/__init__.py b/erpnext/stock/doctype/bin/__init__.py similarity index 100% rename from stock/doctype/item_specification_detail/__init__.py rename to erpnext/stock/doctype/bin/__init__.py diff --git a/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py similarity index 100% rename from stock/doctype/bin/bin.py rename to erpnext/stock/doctype/bin/bin.py diff --git a/stock/doctype/bin/bin.txt b/erpnext/stock/doctype/bin/bin.txt similarity index 100% rename from stock/doctype/bin/bin.txt rename to erpnext/stock/doctype/bin/bin.txt diff --git a/stock/doctype/item_tax/__init__.py b/erpnext/stock/doctype/delivery_note/__init__.py similarity index 100% rename from stock/doctype/item_tax/__init__.py rename to erpnext/stock/doctype/delivery_note/__init__.py diff --git a/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js similarity index 100% rename from stock/doctype/delivery_note/delivery_note.js rename to erpnext/stock/doctype/delivery_note/delivery_note.js diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py new file mode 100644 index 00000000000..b49f80c6567 --- /dev/null +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -0,0 +1,475 @@ +# Please edit this list and import only required elements +import webnotes + +from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add +from webnotes.model import db_exists +from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType +from webnotes.model.doclist import getlist, copy_doclist +from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax +from webnotes import session, form, is_testing, msgprint, errprint + +set = webnotes.conn.set +sql = webnotes.conn.sql +get_value = webnotes.conn.get_value +in_transaction = webnotes.conn.in_transaction +convert_to_lists = webnotes.conn.convert_to_lists + +# ----------------------------------------------------------------------------------------- + +from utilities.transaction_base import TransactionBase + +class DocType(TransactionBase): + def __init__(self, doc, doclist=[]): + self.doc = doc + self.doclist = doclist + self.tname = 'Delivery Note Detail' + self.fname = 'delivery_note_details' + + # Notification objects + self.notify_obj = get_obj('Notification Control') + + # Autoname + # --------- + def autoname(self): + self.doc.name = make_autoname(self.doc.naming_series+'.#####') + + +# DOCTYPE TRIGGERS FUNCTIONS +# ============================================================================== +#************Fiscal Year Validation***************************** + def validate_fiscal_year(self): + get_obj('Sales Common').validate_fiscal_year(self.doc.fiscal_year,self.doc.posting_date,'Posting Date') + + + # ****** Get contact person details based on customer selected **** + def get_contact_details(self): + return get_obj('Sales Common').get_contact_details(self,0) + + # *********** Get Commission rate of Sales Partner **************** + def get_comm_rate(self, sales_partner): + return get_obj('Sales Common').get_comm_rate(sales_partner, self) + + # *************** Pull Sales Order Details ************************ + def pull_sales_order_details(self): + self.validate_prev_docname() + self.doc.clear_table(self.doclist,'other_charges') + + if self.doc.sales_order_no: + get_obj('DocType Mapper', 'Sales Order-Delivery Note').dt_map('Sales Order', 'Delivery Note', self.doc.sales_order_no, self.doc, self.doclist, "[['Sales Order', 'Delivery Note'],['Sales Order Detail', 'Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]") + else: + msgprint("Please select Sales Order No. whose details need to be pulled") + + return cstr(self.doc.sales_order_no) + + + + #-------------------set item details -uom and item group---------------- + def set_item_details(self): + for d in getlist(self.doclist,'delivery_note_details'): + res = sql("select stock_uom, item_group from `tabItem` where name ='%s'"%d.item_code) + if not d.stock_uom: d.stock_uom = res and cstr(res[0][0]) or '' + if not d.item_group: d.item_group = res and cstr(res[0][1]) or '' + d.save() + + # ::::: Validates that Sales Order is not pulled twice ::::::: + def validate_prev_docname(self): + for d in getlist(self.doclist, 'delivery_note_details'): + if self.doc.sales_order_no == d.prevdoc_docname: + msgprint(cstr(self.doc.sales_order_no) + " sales order details have already been pulled. ") + raise Exception, "Validation Error. " + + #Set Actual Qty based on item code and warehouse + #------------------------------------------------------ + def set_actual_qty(self): + for d in getlist(self.doclist, 'delivery_note_details'): + if d.item_code and d.warehouse: + actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code, d.warehouse)) + d.actual_qty = actual_qty and flt(actual_qty[0][0]) or 0 + + + # GET TERMS & CONDITIONS + # ------------------------------------- + def get_tc_details(self): + return get_obj('Sales Common').get_tc_details(self) + + #pull project customer + #------------------------- + def pull_project_customer(self): + res = sql("select customer from `tabProject` where name = '%s'"%self.doc.project_name) + if res: + get_obj('DocType Mapper', 'Project-Delivery Note').dt_map('Project', 'Delivery Note', self.doc.project_name, self.doc, self.doclist, "[['Project', 'Delivery Note']]") + +# DELIVERY NOTE DETAILS TRIGGER FUNCTIONS +# ================================================================================ + + # ***************** Get Item Details ****************************** + def get_item_details(self, item_code): + return get_obj('Sales Common').get_item_details(item_code, self) + + # *** Re-calculates Basic Rate & amount based on Price List Selected *** + def get_adj_percent(self, arg=''): + get_obj('Sales Common').get_adj_percent(self) + + # ********** Get Actual Qty of item in warehouse selected ************* + def get_actual_qty(self,args): + args = eval(args) + actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (args['item_code'], args['warehouse']), as_dict=1) + ret = { + 'actual_qty' : actual_qty and flt(actual_qty[0]['actual_qty']) or 0 + } + return ret + + +# OTHER CHARGES TRIGGER FUNCTIONS +# ==================================================================================== + + # *********** Get Tax rate if account type is TAX ******************** + def get_rate(self,arg): + return get_obj('Sales Common').get_rate(arg) + + # Load Default Charges + # ---------------------------------------------------------- + def load_default_taxes(self): + return get_obj('Sales Common').load_default_taxes(self) + + + # **** Pull details from other charges master (Get Other Charges) **** + def get_other_charges(self): + return get_obj('Sales Common').get_other_charges(self) + + + #check in manage account if sales order required or not. + # ==================================================================================== + def so_required(self): + res = sql("select value from `tabSingles` where doctype = 'Manage Account' and field = 'so_required'") + if res and res[0][0] == 'Yes': + for d in getlist(self.doclist,'delivery_note_details'): + if not d.prevdoc_docname: + msgprint("Sales Order No. required against item %s"%d.item_code) + raise Exception + + + +# VALIDATE +# ==================================================================================== + def validate(self): + self.so_required() + self.validate_fiscal_year() + self.validate_proj_cust() + sales_com_obj = get_obj(dt = 'Sales Common') + sales_com_obj.check_stop_sales_order(self) + sales_com_obj.check_active_sales_items(self) + sales_com_obj.get_prevdoc_date(self) + self.validate_mandatory() + #self.validate_prevdoc_details() + self.validate_reference_value() + self.validate_for_items() + sales_com_obj.make_packing_list(self,'delivery_note_details') + get_obj('Stock Ledger').validate_serial_no(self, 'packing_details') + sales_com_obj.validate_max_discount(self, 'delivery_note_details') #verify whether rate is not greater than max discount + sales_com_obj.get_allocated_sum(self) # this is to verify that the allocated % of sales persons is 100% + sales_com_obj.check_conversion_rate(self) + # ::::::: Get total in Words :::::::: + dcc = TransactionBase().get_company_currency(self.doc.company) + self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total) + self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export) + + # ::::::: Set Net Weight of each Packing + self.update_pack_nett_weight() + self.print_packing_slip() + # ::::::: Set actual qty for each item in selected warehouse ::::::: + self.update_current_stock() + # :::::: set DN status ::::::: + + self.doc.status = 'Draft' + if not self.doc.billing_status: self.doc.billing_status = 'Not Billed' + if not self.doc.installation_status: self.doc.installation_status = 'Not Installed' + + # ************** Validate Mandatory ************************* + def validate_mandatory(self): + # :::::::::: Amendment Date :::::::::::::: + if self.doc.amended_from and not self.doc.amendment_date: + msgprint("Please Enter Amendment Date") + raise Exception, "Validation Error. " + + #check for does customer belong to same project as entered.. + #------------------------------------------------------------------------------------------------- + def validate_proj_cust(self): + if self.doc.project_name and self.doc.customer: + res = sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer)) + if not res: + msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name)) + raise Exception + + # Validate values with reference document + #---------------------------------------- + def validate_reference_value(self): + get_obj('DocType Mapper', 'Sales Order-Delivery Note', with_children = 1).validate_reference_value(self, self.doc.name) + + + # ******* Validate Previous Document Details ************ + def validate_prevdoc_details(self): + for d in getlist(self.doclist,'delivery_note_details'): + + prevdoc = d.prevdoc_doctype + prevdoc_docname = d.prevdoc_docname + + if prevdoc_docname and prevdoc: + # ::::::::::: Validates Transaction Date of DN and previous doc (i.e. SO , PO, PR) ********* + trans_date = sql("select transaction_date from `tab%s` where name = '%s'" %(prevdoc,prevdoc_docname))[0][0] + if trans_date and getdate(self.doc.transaction_date) < (trans_date): + msgprint("Your Voucher Date cannot be before "+cstr(prevdoc)+" Date.") + raise Exception + # ::::::::: Validates DN and previous doc details :::::::::::::::::: + get_name = sql("select name from `tab%s` where name = '%s'" % (prevdoc, prevdoc_docname)) + name = get_name and get_name[0][0] or '' + if name: #check for incorrect docname + if prevdoc == 'Sales Order': + dt = sql("select company, docstatus, customer, currency, sales_partner from `tab%s` where name = '%s'" % (prevdoc, name)) + cust_name = dt and dt[0][2] or '' + if cust_name != self.doc.customer: + msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " customer :" + cstr(cust_name) + " does not match with customer : " + cstr(self.doc.customer) + " of current document.") + raise Exception, "Validation Error. " + sal_partner = dt and dt[0][4] or '' + if sal_partner != self.doc.sales_partner: + msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " sales partner name :" + cstr(sal_partner) + " does not match with sales partner name : " + cstr(self.doc.sales_partner_name) + " of current document.") + raise Exception, "Validation Error. " + else: + dt = sql("select company, docstatus, supplier, currency from `tab%s` where name = '%s'" % (prevdoc, name)) + supp_name = dt and dt[0][2] or '' + company_name = dt and dt[0][0] or '' + docstatus = dt and dt[0][1] or 0 + currency = dt and dt[0][3] or '' + if (currency != self.doc.currency): + msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " currency : "+ cstr(currency) + "does not match with Currency: " + cstr(self.doc.currency) + "of current document") + raise Exception, "Validation Error." + if (company_name != self.doc.company): + msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " does not belong to the Company: " + cstr(self.doc.company_name)) + raise Exception, "Validation Error." + if (docstatus != 1): + msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not Submitted Document.") + raise Exception, "Validation Error." + else: + msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not a valid " + cstr(prevdoc)) + raise Exception, "Validation Error." + + + # ******************** Validate Items ************************** + def validate_for_items(self): + check_list, chk_dupl_itm = [], [] + for d in getlist(self.doclist,'delivery_note_details'): + ch = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) + if d.prevdoc_doctype and d.prevdoc_detail_docname and ch and ch[0][0]=='Yes': + self.validate_items_with_prevdoc(d) + + # validates whether item is not entered twice + e = [d.item_code, d.description, d.warehouse, d.prevdoc_docname or '', d.batch_no or ''] + f = [d.item_code, d.description, d.prevdoc_docname or ''] + + if ch and ch[0][0] == 'Yes': + if e in check_list: + msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code) + else: + check_list.append(e) + elif ch and ch[0][0] == 'No': + if f in chk_dupl_itm: + msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code) + else: + chk_dupl_itm.append(f) + + + # check if same item, warehouse present in prevdoc + # ------------------------------------------------------------------ + def validate_items_with_prevdoc(self, d): + if d.prevdoc_doctype == 'Sales Order': + data = sql("select item_code, reserved_warehouse from `tabSales Order Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname)) + if d.prevdoc_doctype == 'Purchase Receipt': + data = sql("select item_code, rejected_warehouse from `tabPurchase Receipt Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname)) + if not data or data[0][0] != d.item_code or data[0][1] != d.warehouse: + msgprint("Item: %s / Warehouse: %s is not matching with Sales Order: %s. Sales Order might be modified after fetching data from it. Please delete items and fetch again." % (d.item_code, d.warehouse, d.prevdoc_docname)) + raise Exception + + + # ********* UPDATE CURRENT STOCK ***************************** + def update_current_stock(self): + for d in getlist(self.doclist, 'delivery_note_details'): + bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) + d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 + + for d in getlist(self.doclist, 'packing_details'): + bin = sql("select actual_qty, projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) + d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 + d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0 + + +# ON SUBMIT +# ================================================================================================= + def on_submit(self): + set(self.doc, 'message', 'Items against your Order #%s have been delivered. Delivery #%s: ' % (self.doc.po_no, self.doc.name)) + self.check_qty_in_stock() + # Check for Approving Authority + get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self) + sl_obj = get_obj("Stock Ledger") + sl_obj.validate_serial_no_warehouse(self, 'packing_details') + sl_obj.update_serial_record(self, 'packing_details', is_submit = 1, is_incoming = 0) + get_obj("Sales Common").update_prevdoc_detail(1,self) + self.update_stock_ledger(update_stock = 1) + + #------------Check Credit Limit--------------------- + self.credit_limit() + + # set DN status + set(self.doc, 'status', 'Submitted') + + # on submit notification + self.notify_obj.notify_contact('Delivery Note',self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person) + + + # *********** Checks whether actual quantity is present in warehouse ************* + def check_qty_in_stock(self): + for d in getlist(self.doclist, 'packing_details'): + is_stock_item = sql("select is_stock_item from `tabItem` where name = '%s'" % d.item_code)[0][0] + if is_stock_item == 'Yes' and d.warehouse and flt(d.qty) > flt(d.actual_qty): + msgprint("For Item: " + cstr(d.item_code) + " at Warehouse: " + cstr(d.warehouse) + " Quantity: " + cstr(d.qty) +" is not Available. (Must be less than or equal to " + cstr(d.actual_qty) + " )") + raise Exception, "Validation Error" + + + +# ON CANCEL +# ================================================================================================= + def on_cancel(self): + sales_com_obj = get_obj(dt = 'Sales Common') + sales_com_obj.check_stop_sales_order(self) + self.check_next_docstatus() + get_obj('Stock Ledger').update_serial_record(self, 'packing_details', is_submit = 0, is_incoming = 0) + sales_com_obj.update_prevdoc_detail(0,self) + self.update_stock_ledger(update_stock = -1) + # :::::: set DN status ::::::: + set(self.doc, 'status', 'Cancelled') + + + # ******************** Check Next DocStatus ************************** + def check_next_docstatus(self): + submit_rv = sql("select t1.name from `tabReceivable Voucher` t1,`tabRV Detail` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name)) + if submit_rv: + msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted !") + raise Exception , "Validation Error." + + submit_in = sql("select t1.name from `tabInstallation Note` t1, `tabInstalled Item Details` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) + if submit_in: + msgprint("Installation Note : "+cstr(submit_in[0][0]) +" has already been submitted !") + raise Exception , "Validation Error." + + +# UPDATE STOCK LEDGER +# ================================================================================================= + def update_stock_ledger(self, update_stock, is_stopped = 0): + self.values = [] + for d in self.get_item_list(is_stopped): + stock_item = sql("SELECT is_stock_item, is_sample_item FROM tabItem where name = '%s'"%(d[1]), as_dict = 1) # stock ledger will be updated only if it is a stock item + if stock_item[0]['is_stock_item'] == "Yes": + if not d[0]: + msgprint("Message: Please enter Warehouse for item %s as it is stock item."% d[1]) + raise Exception + # if prevdoc_doctype = "Sales Order" + if d[3] < 0 : + # Reduce Reserved Qty from warehouse + bin = get_obj('Warehouse', d[0]).update_bin(0, flt(update_stock) * flt(d[3]), 0, 0, 0, d[1], self.doc.transaction_date) + + # Reduce actual qty from warehouse + self.make_sl_entry(d, d[0], - flt(d[2]) , 0, update_stock) + get_obj('Stock Ledger', 'Stock Ledger').update_stock(self.values) + + + # ***************** Gets Items from packing list ***************** + def get_item_list(self, is_stopped): + return get_obj('Sales Common').get_item_list(self, is_stopped) + + + # ********************** Make Stock Entry ************************************ + def make_sl_entry(self, d, wh, qty, in_value, update_stock): + self.values.append({ + 'item_code' : d[1], + 'warehouse' : wh, + 'transaction_date' : self.doc.transaction_date, + 'posting_date' : self.doc.posting_date, + 'posting_time' : self.doc.posting_time, + 'voucher_type' : 'Delivery Note', + 'voucher_no' : self.doc.name, + 'voucher_detail_no' : '', + 'actual_qty' : qty, + 'stock_uom' : d[4], + 'incoming_rate' : in_value, + 'company' : self.doc.company, + 'fiscal_year' : self.doc.fiscal_year, + 'is_cancelled' : (update_stock==1) and 'No' or 'Yes', + 'batch_no' : d[5], + 'serial_no' : d[6] + }) + + + # SEND SMS + # ============================================================================================ + def send_sms(self): + if not self.doc.customer_mobile_no: + msgprint("Please enter customer mobile no") + elif not self.doc.message: + msgprint("Please enter the message you want to send") + else: + msgprint(get_obj("SMS Control", "SMS Control").send_sms([self.doc.customer_mobile_no,], self.doc.message)) + + +#------------ check credit limit of items in DN Detail which are not fetched from sales order---------- + def credit_limit(self): + amount, total = 0, 0 + for d in getlist(self.doclist, 'delivery_note_details'): + if not d.prevdoc_docname: + amount += d.amount + if amount != 0: + total = (amount/self.doc.net_total)*self.doc.grand_total + get_obj('Sales Common').check_credit(self, total) + + # on update + def on_update(self): + self.set_actual_qty() + get_obj('Stock Ledger').scrub_serial_nos(self) + + # Repair Delivery Note + # =========================================== + def repair_delivery_note(self): + get_obj('Sales Common', 'Sales Common').repair_curr_doctype_details(self) + + # Packing Slip Related + # ========================================== + def update_pack_nett_weight(self): + for d in getlist(self.doclist, 'delivery_note_details'): + if d.item_code: + item_wt = sql("select nett_weight from `tabItem` where name = %s", (d.item_code)) + d.pack_nett_wt = item_wt and flt(item_wt[0][0]) or 0 + + # ========================================== + def print_packing_slip(self): + prev_pack='0' + sno=0 + html='' + tot_nett_wt,tot_gross_wt=0,0 + for d in getlist(self.doclist, 'delivery_note_details'): + sno=sno+1 + if sno!=1 and prev_pack!=d.pack_no:#Footer goes here + html+='
CASE NO'+cstr(d.pack_no)+'NETT WT'+cstr(tot_nett_wt)+'CHECKED BY
SIZEGROSS WT'+cstr(tot_gross_wt)+'PACKED BY
' + if prev_pack!=d.pack_no: #Prepare Header Here + #Header code goes here + html+='
[HEADER GOES HERE]

Packing Slip

Order No.'+cstr(self.doc.sales_order_no)+'Shipping Marks'+cstr(d.shipping_mark)+'
' + html+='' + sno=0 + tot_nett_wt,to_gross_wt=flt(d.pack_nett_wt),flt(d.pack_gross_wt) + #Body code goes here + html+='' + prev_pack=d.pack_no + tot_nett_wt+=flt(d.pack_nett_wt) + tot_gross_wt+=flt(d.pack_gross_wt) + + if html!='': + html+='
S.NO.QUANTITYCS.NO.DESCRIPTIONWEIGHT
'+cstr(sno+1)+''+cstr(d.qty)+''+d.item_code+''+d.description+''+cstr(d.pack_nett_wt)+'
CASE NO'+cstr(d.pack_no)+'NETT WT'+cstr(tot_nett_wt)+'CHECKED BY'+cstr(self.doc.packing_checked_by)+'
SIZE'+cstr(self.doc.pack_size)+'GROSS WT'+cstr(tot_gross_wt)+'PACKED BY'+cstr(self.doc.packed_by)+'
' + html+='' + self.doc.print_packing_slip=html diff --git a/stock/doctype/delivery_note/delivery_note.txt b/erpnext/stock/doctype/delivery_note/delivery_note.txt similarity index 97% rename from stock/doctype/delivery_note/delivery_note.txt rename to erpnext/stock/doctype/delivery_note/delivery_note.txt index a3897ec17b4..9fe13e4c710 100644 --- a/stock/doctype/delivery_note/delivery_note.txt +++ b/erpnext/stock/doctype/delivery_note/delivery_note.txt @@ -5,7 +5,7 @@ { 'creation': '2011-04-18 15:58:20', 'docstatus': 0, - 'modified': '2011-09-07 17:36:34', + 'modified': '2011-09-20 18:50:41', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -21,7 +21,7 @@ # These values are common for all DocType { - '_last_update': '1314093417', + '_last_update': '1315560377', 'colour': 'White:FFF', 'default_print_format': 'Standard', 'doctype': 'DocType', @@ -37,7 +37,7 @@ 'show_in_menu': 0, 'subject': 'To %(customer_name)s on %(transaction_date)s | %(per_billed)s% billed', 'tag_fields': 'billing_status', - 'version': 450 + 'version': 453 }, # These values are common for all DocFormat @@ -133,11 +133,6 @@ 'doctype': 'DocFormat' }, - # DocFormat - { - 'doctype': 'DocFormat' - }, - # DocField { 'colour': 'White:FFF', @@ -1390,6 +1385,42 @@ 'in_filter': 0, 'label': 'Print Packing Slip', 'permlevel': 0, - 'print_hide': 0 + 'print_hide': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'shipping_mark', + 'fieldtype': 'Text', + 'label': 'Shipping Mark', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'packed_by', + 'fieldtype': 'Text', + 'label': 'Packed By', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'packing_checked_by', + 'fieldtype': 'Text', + 'label': 'Packing Checked By', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'pack_size', + 'fieldtype': 'Text', + 'label': 'Pack Size', + 'permlevel': 0 } ] \ No newline at end of file diff --git a/stock/doctype/landed_cost_detail/__init__.py b/erpnext/stock/doctype/delivery_note_detail/__init__.py similarity index 100% rename from stock/doctype/landed_cost_detail/__init__.py rename to erpnext/stock/doctype/delivery_note_detail/__init__.py diff --git a/stock/doctype/delivery_note_detail/delivery_note_detail.txt b/erpnext/stock/doctype/delivery_note_detail/delivery_note_detail.txt similarity index 100% rename from stock/doctype/delivery_note_detail/delivery_note_detail.txt rename to erpnext/stock/doctype/delivery_note_detail/delivery_note_detail.txt diff --git a/stock/doctype/landed_cost_master/__init__.py b/erpnext/stock/doctype/delivery_note_packing_detail/__init__.py similarity index 100% rename from stock/doctype/landed_cost_master/__init__.py rename to erpnext/stock/doctype/delivery_note_packing_detail/__init__.py diff --git a/stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt b/erpnext/stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt similarity index 100% rename from stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt rename to erpnext/stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt diff --git a/stock/doctype/landed_cost_master_detail/__init__.py b/erpnext/stock/doctype/item/__init__.py similarity index 100% rename from stock/doctype/landed_cost_master_detail/__init__.py rename to erpnext/stock/doctype/item/__init__.py diff --git a/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js similarity index 100% rename from stock/doctype/item/item.js rename to erpnext/stock/doctype/item/item.js diff --git a/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py similarity index 95% rename from stock/doctype/item/item.py rename to erpnext/stock/doctype/item/item.py index 28f1d12e855..4dca7040f27 100644 --- a/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -63,6 +63,9 @@ class DocType: child.conversion_factor = 1 child.save() + # On delete 1. Delete BIN (if none of the corrosponding transactions present, it gets deleted. if present, rolled back due to exception) + def on_trash(self): + sql("delete from tabBin where item_code='%s'"%(self.doc.item_code)) # Check whether Ref Rate is not entered twice for same Price List and Currency def check_ref_rate_detail(self): @@ -124,7 +127,7 @@ class DocType: self.doc.min_order_qty = 0 self.check_non_asset_warehouse() - if self.doc.is_pro_applicable == 'Yes' and self.doc.is_manufactured_item != 'Yes': + if self.doc.is_pro_applicable and self.doc.is_pro_applicable == 'Yes' and self.doc.is_manufactured_item and self.doc.is_manufactured_item != 'Yes': msgprint("If making Production Order is allowed then, it should also allow to make Bill of Materials. Refer Manufacturing section.") raise Exception diff --git a/stock/doctype/item/item.txt b/erpnext/stock/doctype/item/item.txt similarity index 100% rename from stock/doctype/item/item.txt rename to erpnext/stock/doctype/item/item.txt diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py new file mode 100644 index 00000000000..529c82ab698 --- /dev/null +++ b/erpnext/stock/doctype/item/test_item.py @@ -0,0 +1,62 @@ +import unittest +import webnotes +import copy + +from webnotes.model.doclist import DocList +from webnotes.model.doc import Document +from webnotes.model.code import get_obj +from webnotes.utils import flt + +sql = webnotes.conn.sql + + +class TestItem(unittest.TestCase): + def setUp(self): + webnotes.conn.begin() + + def tearDown(self): + webnotes.conn.rollback() + + def testInsert(self): + d = DocList() + + count_before = flt(sql("select count(*) from tab"+_doctype)[0][0]) + if docok: + for i in docok: + d.doc = i + d.children = None + d.doc.fields['__islocal']=1 + d.save(1) + count_after = flt(sql("select count(*) from tab"+_doctype)[0][0]) + self.assertTrue(count_before+len(docok)==count_after) + + def testFailAssert(self): + if docnotok: + with self.assertRaises(Exception) as context: + d = DocList() + d.doc = docnotok[0] + d.children = None + d.doc.fields['__islocal']=1 + d.save(1) + +# Test Data + +tabOK = [ + {'is_purchase_item': None, 'is_pro_applicable': 'No', 'is_manufactured_item': None, 'description': 'Gel Ink', 'default_warehouse': None, 'item_name': 'Gel Ink', 'item_group': 'Ink', 'item_code': 'GELINK', 'is_sub_contracted_item': None, 'is_stock_item': 'Yes', 'stock_uom': 'Nos', 'docstatus': '0'}, + {'is_purchase_item': None, 'is_pro_applicable': 'No', 'is_manufactured_item': None, 'description': 'Gel Refill', 'default_warehouse': None, 'item_name': 'Gel Refill', 'item_group': 'Refill', 'item_code': 'GELREF', 'is_sub_contracted_item': None, 'is_stock_item': 'Yes', 'stock_uom': 'Nos', 'docstatus': '0'}, + {'is_purchase_item': None, 'is_pro_applicable': 'No', 'is_manufactured_item': None, 'description': 'Gel Pen', 'default_warehouse': None, 'item_name': 'Gel Pen', 'item_group': 'Pen', 'item_code': 'GELPEN', 'is_sub_contracted_item': None, 'is_stock_item': 'Yes', 'stock_uom': 'Nos', 'docstatus': '0'} + ] + +tabNotOK = [ + {'is_purchase_item': None, 'is_pro_applicable': None, 'is_manufactured_item': None, 'description': 'F Ink', 'default_warehouse': None, 'item_name': 'F Ink', 'item_group': 'F Ink', 'item_code': None, 'is_sub_contracted_item': None, 'is_stock_item': 'No', 'stock_uom': 'Nos', 'docstatus': '0'} + ] + +_doctype = 'Item' + +for i in tabOK: i['doctype']=_doctype +for i in tabNotOK: i['doctype']=_doctype + +docok = [Document(fielddata=r) for r in tabOK] +docnotok = [Document(fielddata=r) for r in tabNotOK] + + diff --git a/stock/doctype/landed_cost_wizard/__init__.py b/erpnext/stock/doctype/item_customer_detail/__init__.py similarity index 100% rename from stock/doctype/landed_cost_wizard/__init__.py rename to erpnext/stock/doctype/item_customer_detail/__init__.py diff --git a/stock/doctype/item_customer_detail/item_customer_detail.txt b/erpnext/stock/doctype/item_customer_detail/item_customer_detail.txt similarity index 100% rename from stock/doctype/item_customer_detail/item_customer_detail.txt rename to erpnext/stock/doctype/item_customer_detail/item_customer_detail.txt diff --git a/stock/doctype/lc_pr_detail/__init__.py b/erpnext/stock/doctype/item_specification_detail/__init__.py similarity index 100% rename from stock/doctype/lc_pr_detail/__init__.py rename to erpnext/stock/doctype/item_specification_detail/__init__.py diff --git a/stock/doctype/item_specification_detail/item_specification_detail.txt b/erpnext/stock/doctype/item_specification_detail/item_specification_detail.txt similarity index 100% rename from stock/doctype/item_specification_detail/item_specification_detail.txt rename to erpnext/stock/doctype/item_specification_detail/item_specification_detail.txt diff --git a/stock/doctype/purchase_receipt/__init__.py b/erpnext/stock/doctype/item_tax/__init__.py similarity index 100% rename from stock/doctype/purchase_receipt/__init__.py rename to erpnext/stock/doctype/item_tax/__init__.py diff --git a/stock/doctype/item_tax/item_tax.txt b/erpnext/stock/doctype/item_tax/item_tax.txt similarity index 100% rename from stock/doctype/item_tax/item_tax.txt rename to erpnext/stock/doctype/item_tax/item_tax.txt diff --git a/stock/doctype/purchase_receipt_detail/__init__.py b/erpnext/stock/doctype/landed_cost_detail/__init__.py similarity index 100% rename from stock/doctype/purchase_receipt_detail/__init__.py rename to erpnext/stock/doctype/landed_cost_detail/__init__.py diff --git a/stock/doctype/landed_cost_detail/landed_cost_detail.txt b/erpnext/stock/doctype/landed_cost_detail/landed_cost_detail.txt similarity index 100% rename from stock/doctype/landed_cost_detail/landed_cost_detail.txt rename to erpnext/stock/doctype/landed_cost_detail/landed_cost_detail.txt diff --git a/stock/doctype/ref_rate_detail/__init__.py b/erpnext/stock/doctype/landed_cost_master/__init__.py similarity index 100% rename from stock/doctype/ref_rate_detail/__init__.py rename to erpnext/stock/doctype/landed_cost_master/__init__.py diff --git a/stock/doctype/landed_cost_master/landed_cost_master.js b/erpnext/stock/doctype/landed_cost_master/landed_cost_master.js similarity index 100% rename from stock/doctype/landed_cost_master/landed_cost_master.js rename to erpnext/stock/doctype/landed_cost_master/landed_cost_master.js diff --git a/stock/doctype/landed_cost_master/landed_cost_master.txt b/erpnext/stock/doctype/landed_cost_master/landed_cost_master.txt similarity index 100% rename from stock/doctype/landed_cost_master/landed_cost_master.txt rename to erpnext/stock/doctype/landed_cost_master/landed_cost_master.txt diff --git a/stock/doctype/sales_and_purchase_return_wizard/__init__.py b/erpnext/stock/doctype/landed_cost_master_detail/__init__.py similarity index 100% rename from stock/doctype/sales_and_purchase_return_wizard/__init__.py rename to erpnext/stock/doctype/landed_cost_master_detail/__init__.py diff --git a/stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt b/erpnext/stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt similarity index 100% rename from stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt rename to erpnext/stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt diff --git a/stock/doctype/sales_bom/__init__.py b/erpnext/stock/doctype/landed_cost_wizard/__init__.py similarity index 100% rename from stock/doctype/sales_bom/__init__.py rename to erpnext/stock/doctype/landed_cost_wizard/__init__.py diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.js b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.js similarity index 100% rename from stock/doctype/landed_cost_wizard/landed_cost_wizard.js rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.js diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py similarity index 100% rename from stock/doctype/landed_cost_wizard/landed_cost_wizard.py rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt similarity index 100% rename from stock/doctype/landed_cost_wizard/landed_cost_wizard.txt rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt diff --git a/stock/doctype/sales_bom_detail/__init__.py b/erpnext/stock/doctype/lc_pr_detail/__init__.py similarity index 100% rename from stock/doctype/sales_bom_detail/__init__.py rename to erpnext/stock/doctype/lc_pr_detail/__init__.py diff --git a/stock/doctype/lc_pr_detail/lc_pr_detail.txt b/erpnext/stock/doctype/lc_pr_detail/lc_pr_detail.txt similarity index 100% rename from stock/doctype/lc_pr_detail/lc_pr_detail.txt rename to erpnext/stock/doctype/lc_pr_detail/lc_pr_detail.txt diff --git a/stock/doctype/serial_no/__init__.py b/erpnext/stock/doctype/purchase_receipt/__init__.py similarity index 100% rename from stock/doctype/serial_no/__init__.py rename to erpnext/stock/doctype/purchase_receipt/__init__.py diff --git a/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js similarity index 100% rename from stock/doctype/purchase_receipt/purchase_receipt.js rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.js diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py similarity index 100% rename from stock/doctype/purchase_receipt/purchase_receipt.py rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.py diff --git a/stock/doctype/purchase_receipt/purchase_receipt.txt b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt similarity index 100% rename from stock/doctype/purchase_receipt/purchase_receipt.txt rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt diff --git a/stock/doctype/stock_entry/__init__.py b/erpnext/stock/doctype/purchase_receipt_detail/__init__.py similarity index 100% rename from stock/doctype/stock_entry/__init__.py rename to erpnext/stock/doctype/purchase_receipt_detail/__init__.py diff --git a/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt b/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt similarity index 100% rename from stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt rename to erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt diff --git a/stock/doctype/stock_entry_detail/__init__.py b/erpnext/stock/doctype/ref_rate_detail/__init__.py similarity index 100% rename from stock/doctype/stock_entry_detail/__init__.py rename to erpnext/stock/doctype/ref_rate_detail/__init__.py diff --git a/stock/doctype/ref_rate_detail/ref_rate_detail.txt b/erpnext/stock/doctype/ref_rate_detail/ref_rate_detail.txt similarity index 100% rename from stock/doctype/ref_rate_detail/ref_rate_detail.txt rename to erpnext/stock/doctype/ref_rate_detail/ref_rate_detail.txt diff --git a/stock/doctype/stock_ledger/__init__.py b/erpnext/stock/doctype/sales_and_purchase_return_wizard/__init__.py similarity index 100% rename from stock/doctype/stock_ledger/__init__.py rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/__init__.py diff --git a/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js b/erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js similarity index 100% rename from stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js diff --git a/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py b/erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py similarity index 100% rename from stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py diff --git a/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt b/erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt similarity index 100% rename from stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt diff --git a/stock/doctype/stock_ledger_entry/__init__.py b/erpnext/stock/doctype/sales_bom/__init__.py similarity index 100% rename from stock/doctype/stock_ledger_entry/__init__.py rename to erpnext/stock/doctype/sales_bom/__init__.py diff --git a/stock/doctype/sales_bom/sales_bom.js b/erpnext/stock/doctype/sales_bom/sales_bom.js similarity index 100% rename from stock/doctype/sales_bom/sales_bom.js rename to erpnext/stock/doctype/sales_bom/sales_bom.js diff --git a/stock/doctype/sales_bom/sales_bom.py b/erpnext/stock/doctype/sales_bom/sales_bom.py similarity index 100% rename from stock/doctype/sales_bom/sales_bom.py rename to erpnext/stock/doctype/sales_bom/sales_bom.py diff --git a/stock/doctype/sales_bom/sales_bom.txt b/erpnext/stock/doctype/sales_bom/sales_bom.txt similarity index 100% rename from stock/doctype/sales_bom/sales_bom.txt rename to erpnext/stock/doctype/sales_bom/sales_bom.txt diff --git a/stock/doctype/stock_reconciliation/__init__.py b/erpnext/stock/doctype/sales_bom_detail/__init__.py similarity index 100% rename from stock/doctype/stock_reconciliation/__init__.py rename to erpnext/stock/doctype/sales_bom_detail/__init__.py diff --git a/stock/doctype/sales_bom_detail/sales_bom_detail.txt b/erpnext/stock/doctype/sales_bom_detail/sales_bom_detail.txt similarity index 100% rename from stock/doctype/sales_bom_detail/sales_bom_detail.txt rename to erpnext/stock/doctype/sales_bom_detail/sales_bom_detail.txt diff --git a/stock/doctype/stock_uom_replace_utility/__init__.py b/erpnext/stock/doctype/serial_no/__init__.py similarity index 100% rename from stock/doctype/stock_uom_replace_utility/__init__.py rename to erpnext/stock/doctype/serial_no/__init__.py diff --git a/stock/doctype/serial_no/serial_no.js b/erpnext/stock/doctype/serial_no/serial_no.js similarity index 100% rename from stock/doctype/serial_no/serial_no.js rename to erpnext/stock/doctype/serial_no/serial_no.js diff --git a/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py similarity index 100% rename from stock/doctype/serial_no/serial_no.py rename to erpnext/stock/doctype/serial_no/serial_no.py diff --git a/stock/doctype/serial_no/serial_no.txt b/erpnext/stock/doctype/serial_no/serial_no.txt similarity index 92% rename from stock/doctype/serial_no/serial_no.txt rename to erpnext/stock/doctype/serial_no/serial_no.txt index 9aa6119ffc3..277a2ecc7d2 100644 --- a/stock/doctype/serial_no/serial_no.txt +++ b/erpnext/stock/doctype/serial_no/serial_no.txt @@ -5,17 +5,18 @@ { 'creation': '2010-08-08 17:09:23', 'docstatus': 0, - 'modified': '2011-05-17 12:38:15', + 'modified': '2011-10-10 17:08:57', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1305616095', + '_last_update': '1317365120', 'allow_trash': 1, 'autoname': 'field:serial_no', 'colour': 'White:FFF', + 'default_print_format': 'Standard', 'doctype': 'DocType', 'document_type': 'Master', 'module': 'Stock', @@ -24,9 +25,8 @@ 'section_style': 'Tabbed', 'server_code_error': ' ', 'show_in_menu': 0, - 'subject': '%(item_code)s', 'tag_fields': 'status', - 'version': 188 + 'version': 190 }, # These values are common for all DocField @@ -60,7 +60,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 1, 'role': 'Material Manager', 'submit': 0, @@ -73,7 +72,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 0, 'role': 'Material Manager', 'submit': 0, @@ -86,7 +84,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 3, 'permlevel': 1, 'role': 'Material User', 'submit': 0, @@ -99,7 +96,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 4, 'permlevel': 0, 'role': 'Material User', 'submit': 0, @@ -111,7 +107,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 5, 'permlevel': 0, 'role': 'System Manager', 'write': 1 @@ -122,7 +117,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 6, 'permlevel': 0, 'role': 'Material Master Manager', 'write': 1 @@ -131,7 +125,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 7, 'permlevel': 1, 'role': 'System Manager' }, @@ -139,7 +132,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 8, 'permlevel': 1, 'role': 'Sales Master Manager' }, @@ -148,7 +140,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 1, 'label': 'Details', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -158,7 +149,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 2, 'permlevel': 0 }, @@ -168,7 +158,6 @@ 'doctype': 'DocField', 'fieldname': 'status', 'fieldtype': 'Select', - 'idx': 3, 'in_filter': 1, 'label': 'Status', 'no_copy': 1, @@ -185,7 +174,6 @@ 'doctype': 'DocField', 'fieldname': 'serial_no', 'fieldtype': 'Data', - 'idx': 4, 'in_filter': 0, 'label': 'Serial No', 'no_copy': 1, @@ -193,7 +181,7 @@ 'oldfieldtype': 'Data', 'permlevel': 0, 'reqd': 1, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -202,7 +190,6 @@ 'doctype': 'DocField', 'fieldname': 'item_code', 'fieldtype': 'Link', - 'idx': 5, 'in_filter': 1, 'label': 'Item Code', 'oldfieldname': 'item_code', @@ -218,7 +205,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 6, 'permlevel': 0 }, @@ -227,7 +213,6 @@ 'doctype': 'DocField', 'fieldname': 'item_name', 'fieldtype': 'Data', - 'idx': 7, 'label': 'Item Name', 'permlevel': 1 }, @@ -237,13 +222,11 @@ 'doctype': 'DocField', 'fieldname': 'description', 'fieldtype': 'Text', - 'idx': 8, 'in_filter': 1, 'label': 'Description', 'oldfieldname': 'description', 'oldfieldtype': 'Text', 'permlevel': 1, - 'reqd': 1, 'search_index': 0, 'width': '300px' }, @@ -253,14 +236,13 @@ 'doctype': 'DocField', 'fieldname': 'item_group', 'fieldtype': 'Link', - 'idx': 9, 'in_filter': 0, 'label': 'Item Group', 'oldfieldname': 'item_group', 'oldfieldtype': 'Link', 'options': 'Item Group', 'permlevel': 1, - 'reqd': 0, + 'reqd': 1, 'search_index': 0 }, @@ -269,7 +251,6 @@ 'doctype': 'DocField', 'fieldname': 'brand', 'fieldtype': 'Link', - 'idx': 10, 'in_filter': 0, 'label': 'Brand', 'oldfieldname': 'brand', @@ -284,7 +265,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 11, 'label': 'Purchase Details', 'permlevel': 0 }, @@ -293,7 +273,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 12, 'permlevel': 0, 'width': '50%' }, @@ -303,7 +282,6 @@ 'doctype': 'DocField', 'fieldname': 'purchase_document_type', 'fieldtype': 'Select', - 'idx': 13, 'label': 'Purchase Document Type', 'no_copy': 1, 'options': '\nPurchase Receipt\nStock Entry', @@ -316,7 +294,6 @@ 'fieldname': 'purchase_document_no', 'fieldtype': 'Data', 'hidden': 0, - 'idx': 14, 'label': 'Purchase Document No', 'no_copy': 1, 'permlevel': 0 @@ -328,7 +305,6 @@ 'doctype': 'DocField', 'fieldname': 'purchase_date', 'fieldtype': 'Date', - 'idx': 15, 'in_filter': 1, 'label': 'Purchase Date', 'no_copy': 1, @@ -345,7 +321,6 @@ 'doctype': 'DocField', 'fieldname': 'purchase_time', 'fieldtype': 'Time', - 'idx': 16, 'label': 'Incoming Time', 'no_copy': 1, 'permlevel': 0, @@ -357,7 +332,6 @@ 'doctype': 'DocField', 'fieldname': 'purchase_rate', 'fieldtype': 'Currency', - 'idx': 17, 'in_filter': 0, 'label': 'Incoming Rate', 'no_copy': 1, @@ -372,7 +346,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 18, 'permlevel': 0, 'width': '50%' }, @@ -382,7 +355,6 @@ 'doctype': 'DocField', 'fieldname': 'warehouse', 'fieldtype': 'Link', - 'idx': 19, 'in_filter': 1, 'label': 'Warehouse', 'no_copy': 1, @@ -399,7 +371,6 @@ 'doctype': 'DocField', 'fieldname': 'supplier', 'fieldtype': 'Link', - 'idx': 20, 'in_filter': 1, 'label': 'Supplier', 'no_copy': 1, @@ -412,7 +383,6 @@ 'doctype': 'DocField', 'fieldname': 'supplier_name', 'fieldtype': 'Data', - 'idx': 21, 'in_filter': 1, 'label': 'Supplier Name', 'no_copy': 1, @@ -424,7 +394,6 @@ 'doctype': 'DocField', 'fieldname': 'address_display', 'fieldtype': 'Text', - 'idx': 22, 'label': 'Supplier Address', 'no_copy': 1, 'permlevel': 1 @@ -434,7 +403,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 23, 'label': 'Delivery Details', 'oldfieldtype': 'Column Break', 'permlevel': 0 @@ -444,7 +412,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 24, 'permlevel': 0, 'width': '50%' }, @@ -454,7 +421,6 @@ 'doctype': 'DocField', 'fieldname': 'delivery_document_type', 'fieldtype': 'Select', - 'idx': 25, 'in_filter': 1, 'label': 'Delivery Document Type', 'no_copy': 1, @@ -467,7 +433,6 @@ 'doctype': 'DocField', 'fieldname': 'delivery_document_no', 'fieldtype': 'Data', - 'idx': 26, 'in_filter': 1, 'label': 'Delivery Document No', 'no_copy': 1, @@ -479,7 +444,6 @@ 'doctype': 'DocField', 'fieldname': 'customer_address', 'fieldtype': 'Text', - 'idx': 27, 'label': 'Customer Address', 'oldfieldname': 'customer_address', 'oldfieldtype': 'Text', @@ -491,7 +455,6 @@ 'doctype': 'DocField', 'fieldname': 'delivery_date', 'fieldtype': 'Date', - 'idx': 28, 'label': 'Delivery Date', 'no_copy': 1, 'oldfieldname': 'delivery_date', @@ -505,7 +468,6 @@ 'doctype': 'DocField', 'fieldname': 'delivery_time', 'fieldtype': 'Time', - 'idx': 29, 'label': 'Delivery Time', 'no_copy': 1, 'permlevel': 1 @@ -517,7 +479,6 @@ 'fieldname': 'is_cancelled', 'fieldtype': 'Select', 'hidden': 1, - 'idx': 30, 'label': 'Is Cancelled', 'oldfieldname': 'is_cancelled', 'oldfieldtype': 'Select', @@ -530,7 +491,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 31, 'permlevel': 0, 'width': '50%' }, @@ -540,7 +500,6 @@ 'doctype': 'DocField', 'fieldname': 'customer', 'fieldtype': 'Link', - 'idx': 32, 'in_filter': 1, 'label': 'Customer', 'no_copy': 1, @@ -559,7 +518,6 @@ 'doctype': 'DocField', 'fieldname': 'customer_name', 'fieldtype': 'Data', - 'idx': 33, 'in_filter': 1, 'label': 'Customer Name', 'no_copy': 1, @@ -574,7 +532,6 @@ 'doctype': 'DocField', 'fieldname': 'delivery_address', 'fieldtype': 'Text', - 'idx': 34, 'label': 'Delivery Address', 'no_copy': 1, 'permlevel': 1 @@ -585,7 +542,6 @@ 'doctype': 'DocField', 'fieldname': 'territory', 'fieldtype': 'Link', - 'idx': 35, 'in_filter': 1, 'label': 'Territory', 'no_copy': 1, @@ -601,7 +557,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 36, 'label': 'Warranty / AMC Details', 'permlevel': 0 }, @@ -610,7 +565,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 37, 'permlevel': 0, 'width': '50%' }, @@ -620,7 +574,6 @@ 'doctype': 'DocField', 'fieldname': 'maintenance_status', 'fieldtype': 'Select', - 'idx': 38, 'in_filter': 1, 'label': 'Maintenance Status', 'no_copy': 0, @@ -628,7 +581,7 @@ 'oldfieldtype': 'Select', 'options': '\nUnder Warranty\nOut of Warranty\nUnder AMC\nOut of AMC', 'permlevel': 0, - 'search_index': 0, + 'search_index': 1, 'width': '150px' }, @@ -638,7 +591,6 @@ 'doctype': 'DocField', 'fieldname': 'warranty_period', 'fieldtype': 'Int', - 'idx': 39, 'label': 'Warranty Period (Days)', 'oldfieldname': 'warranty_period', 'oldfieldtype': 'Int', @@ -651,7 +603,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 40, 'permlevel': 0, 'width': '50%' }, @@ -661,7 +612,6 @@ 'doctype': 'DocField', 'fieldname': 'warranty_expiry_date', 'fieldtype': 'Date', - 'idx': 41, 'in_filter': 1, 'label': 'Warranty Expiry Date', 'oldfieldname': 'warranty_expiry_date', @@ -675,7 +625,6 @@ 'doctype': 'DocField', 'fieldname': 'amc_expiry_date', 'fieldtype': 'Date', - 'idx': 42, 'in_filter': 1, 'label': 'AMC Expiry Date', 'oldfieldname': 'amc_expiry_date', @@ -689,7 +638,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 43, 'label': 'More Info', 'permlevel': 0 }, @@ -699,7 +647,6 @@ 'doctype': 'DocField', 'fieldname': 'serial_no_details', 'fieldtype': 'Text Editor', - 'idx': 44, 'label': 'Serial No Details', 'permlevel': 0 }, @@ -709,13 +656,12 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Select', - 'idx': 45, 'in_filter': 1, 'label': 'Company', 'options': 'link:Company', 'permlevel': 0, 'reqd': 1, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -723,13 +669,12 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 46, 'in_filter': 1, 'label': 'Fiscal Year', 'options': 'link:Fiscal Year', 'permlevel': 0, 'reqd': 1, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -737,7 +682,6 @@ 'doctype': 'DocField', 'fieldname': 'trash_reason', 'fieldtype': 'Small Text', - 'idx': 47, 'label': 'Trash Reason', 'oldfieldname': 'trash_reason', 'oldfieldtype': 'Small Text', diff --git a/stock/doctype/uom_conversion_detail/__init__.py b/erpnext/stock/doctype/stock_entry/__init__.py similarity index 100% rename from stock/doctype/uom_conversion_detail/__init__.py rename to erpnext/stock/doctype/stock_entry/__init__.py diff --git a/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js similarity index 100% rename from stock/doctype/stock_entry/stock_entry.js rename to erpnext/stock/doctype/stock_entry/stock_entry.js diff --git a/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py similarity index 92% rename from stock/doctype/stock_entry/stock_entry.py rename to erpnext/stock/doctype/stock_entry/stock_entry.py index 024bd1f34b8..b799eaa4638 100644 --- a/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -122,16 +122,18 @@ class DocType: def get_raw_materials(self,pro_obj): # get all items from flat bom except, child items of sub-contracted and sub assembly items and sub assembly items itself. - flat_bom_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom = '%s' and is_pro_applicable = 'No' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no))) - self.make_items_dict(flat_bom_items) +# flat_bom_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom = '%s' and is_pro_applicable = 'No' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no))) +# self.make_items_dict(flat_bom_items) + if pro_obj.doc.consider_sa_items == 'Yes': # get all Sub Assembly items only from flat bom - fl_bom_sa_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom != '%s' and is_pro_applicable = 'Yes' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no))) + fl_bom_sa_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom = '%s' and is_pro_applicable = 'Yes' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no))) self.make_items_dict(fl_bom_sa_items) if pro_obj.doc.consider_sa_items == 'No': # get all sub assembly childs only from flat bom - fl_bom_sa_child_item = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom in (select distinct parent_bom from `tabFlat BOM Detail` where parent = '%s' and parent_bom != '%s' and is_pro_applicable = 'Yes' and docstatus < 2 ) and is_pro_applicable = 'No' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no))) + #select item_code,ifnull(sum(qty_consumed_per_unit),0)*'%s' as qty,description,stock_uom from ( select distinct fb.name,fb.description,fb.item_code,fb.qty_consumed_per_unit,fb.stock_uom from `tabFlat BOM Detail` fb,`tabBOM Material` bm where bm.parent=fb.parent_bom and bm.docstatus<2 and fb.is_pro_applicable='Yes' and fb.docstatus<2 and fb.parent='%s' and bm.bom_no is null)a group by item_code,stock_uom + fl_bom_sa_child_item = sql("select item_code,ifnull(sum(qty_consumed_per_unit),0)*'%s' as qty,description,stock_uom from ( select distinct fb.name,fb.description,fb.item_code,fb.qty_consumed_per_unit,fb.stock_uom from `tabFlat BOM Detail` fb,`tabBOM Material` bm where bm.parent=fb.parent_bom and bm.docstatus<2 and fb.is_pro_applicable='Yes' and fb.docstatus<2 and fb.parent='%s' and bm.bom_no is null)a group by item_code,stock_uom" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no))) self.make_items_dict(fl_bom_sa_child_item) def add_to_stock_entry_detail(self, pro_obj, item_dict, fg_item = 0): @@ -165,8 +167,9 @@ class DocType: self.get_raw_materials(pro_obj) self.doc.clear_table(self.doclist, 'mtn_details', 1) - + self.add_to_stock_entry_detail(pro_obj, self.item_dict) + if self.doc.process == 'Backflush': item_dict = {cstr(pro_obj.doc.production_item) : [self.doc.fg_completed_qty, pro_obj.doc.description, pro_obj.doc.stock_uom]} self.add_to_stock_entry_detail(pro_obj, item_dict, fg_item = 1) diff --git a/stock/doctype/stock_entry/stock_entry.py~ b/erpnext/stock/doctype/stock_entry/stock_entry.py~ similarity index 100% rename from stock/doctype/stock_entry/stock_entry.py~ rename to erpnext/stock/doctype/stock_entry/stock_entry.py~ diff --git a/stock/doctype/stock_entry/stock_entry.txt b/erpnext/stock/doctype/stock_entry/stock_entry.txt similarity index 100% rename from stock/doctype/stock_entry/stock_entry.txt rename to erpnext/stock/doctype/stock_entry/stock_entry.txt diff --git a/stock/doctype/valuation_control/__init__.py b/erpnext/stock/doctype/stock_entry_detail/__init__.py similarity index 100% rename from stock/doctype/valuation_control/__init__.py rename to erpnext/stock/doctype/stock_entry_detail/__init__.py diff --git a/stock/doctype/stock_entry_detail/stock_entry_detail.txt b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.txt similarity index 100% rename from stock/doctype/stock_entry_detail/stock_entry_detail.txt rename to erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.txt diff --git a/stock/doctype/warehouse/__init__.py b/erpnext/stock/doctype/stock_ledger/__init__.py similarity index 100% rename from stock/doctype/warehouse/__init__.py rename to erpnext/stock/doctype/stock_ledger/__init__.py diff --git a/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py similarity index 97% rename from stock/doctype/stock_ledger/stock_ledger.py rename to erpnext/stock/doctype/stock_ledger/stock_ledger.py index ff6de7083da..5165cc9dbc0 100644 --- a/stock/doctype/stock_ledger/stock_ledger.py +++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py @@ -139,7 +139,7 @@ class DocType: elif purpose == 'Sales Return': sql("update `tabSerial No` set status = 'Delivered', purchase_document_type = '', purchase_document_no = '' where name = '%s'" % serial_no) else: - sql("update `tabSerial No` set docstatus = 2, status = 'Not in Use', purchase_document_type = '', purchase_document_no = '', purchase_date = '', purchase_rate = '', supplier = null, supplier_name = '', supplier_address = '', warehouse = '' where name = '%s'" % serial_no) + sql("update `tabSerial No` set docstatus = 2, status = 'Not in Use', purchase_document_type = '', purchase_document_no = '', purchase_date = null, purchase_rate = 0, supplier = null, supplier_name = '', supplier_address = '', warehouse = '' where name = '%s'" % serial_no) # ------------------------------- @@ -185,7 +185,7 @@ class DocType: self.check_serial_no_exists(serial_no, d.item_code) self.set_delivery_serial_no_values(obj, serial_no) else: - sql("update `tabSerial No` set docstatus = 0, status = 'In Store', delivery_document_type = '', delivery_document_no = '', delivery_date = '', customer = null, customer_name = '', delivery_address = '', territory = null where name = '%s'" % (serial_no)) + sql("update `tabSerial No` set docstatus = 0, status = 'In Store', delivery_document_type = '', delivery_document_no = '', delivery_date = null, customer = null, customer_name = '', delivery_address = '', territory = null where name = '%s'" % (serial_no)) # --------------------- diff --git a/stock/doctype/stock_ledger/stock_ledger.txt b/erpnext/stock/doctype/stock_ledger/stock_ledger.txt similarity index 100% rename from stock/doctype/stock_ledger/stock_ledger.txt rename to erpnext/stock/doctype/stock_ledger/stock_ledger.txt diff --git a/stock/page/__init__.py b/erpnext/stock/doctype/stock_ledger_entry/__init__.py similarity index 100% rename from stock/page/__init__.py rename to erpnext/stock/doctype/stock_ledger_entry/__init__.py diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py similarity index 100% rename from stock/doctype/stock_ledger_entry/stock_ledger_entry.py rename to erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt similarity index 100% rename from stock/doctype/stock_ledger_entry/stock_ledger_entry.txt rename to erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt diff --git a/stock/search_criteria/__init__.py b/erpnext/stock/doctype/stock_reconciliation/__init__.py similarity index 100% rename from stock/search_criteria/__init__.py rename to erpnext/stock/doctype/stock_reconciliation/__init__.py diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.js b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js similarity index 100% rename from stock/doctype/stock_reconciliation/stock_reconciliation.js rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py similarity index 100% rename from stock/doctype/stock_reconciliation/stock_reconciliation.py rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.txt b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt similarity index 100% rename from stock/doctype/stock_reconciliation/stock_reconciliation.txt rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt diff --git a/stock/search_criteria/itemwise_price_list/__init__.py b/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py similarity index 100% rename from stock/search_criteria/itemwise_price_list/__init__.py rename to erpnext/stock/doctype/stock_uom_replace_utility/__init__.py diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js similarity index 100% rename from stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py similarity index 100% rename from stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt similarity index 100% rename from stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt diff --git a/stock/search_criteria/shortage_to_indent/__init__.py b/erpnext/stock/doctype/uom_conversion_detail/__init__.py similarity index 100% rename from stock/search_criteria/shortage_to_indent/__init__.py rename to erpnext/stock/doctype/uom_conversion_detail/__init__.py diff --git a/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt similarity index 100% rename from stock/doctype/uom_conversion_detail/uom_conversion_detail.txt rename to erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt diff --git a/stock/search_criteria/stock_aging_report/__init__.py b/erpnext/stock/doctype/valuation_control/__init__.py similarity index 100% rename from stock/search_criteria/stock_aging_report/__init__.py rename to erpnext/stock/doctype/valuation_control/__init__.py diff --git a/stock/doctype/valuation_control/valuation_control.py b/erpnext/stock/doctype/valuation_control/valuation_control.py similarity index 100% rename from stock/doctype/valuation_control/valuation_control.py rename to erpnext/stock/doctype/valuation_control/valuation_control.py diff --git a/stock/doctype/valuation_control/valuation_control.py~ b/erpnext/stock/doctype/valuation_control/valuation_control.py~ similarity index 100% rename from stock/doctype/valuation_control/valuation_control.py~ rename to erpnext/stock/doctype/valuation_control/valuation_control.py~ diff --git a/stock/doctype/valuation_control/valuation_control.txt b/erpnext/stock/doctype/valuation_control/valuation_control.txt similarity index 100% rename from stock/doctype/valuation_control/valuation_control.txt rename to erpnext/stock/doctype/valuation_control/valuation_control.txt diff --git a/stock/search_criteria/stock_ledger/__init__.py b/erpnext/stock/doctype/warehouse/__init__.py similarity index 100% rename from stock/search_criteria/stock_ledger/__init__.py rename to erpnext/stock/doctype/warehouse/__init__.py diff --git a/stock/doctype/warehouse/warehouse.js b/erpnext/stock/doctype/warehouse/warehouse.js similarity index 100% rename from stock/doctype/warehouse/warehouse.js rename to erpnext/stock/doctype/warehouse/warehouse.js diff --git a/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py similarity index 100% rename from stock/doctype/warehouse/warehouse.py rename to erpnext/stock/doctype/warehouse/warehouse.py diff --git a/stock/doctype/warehouse/warehouse.txt b/erpnext/stock/doctype/warehouse/warehouse.txt similarity index 85% rename from stock/doctype/warehouse/warehouse.txt rename to erpnext/stock/doctype/warehouse/warehouse.txt index 1363eef7014..da29dfab643 100644 --- a/stock/doctype/warehouse/warehouse.txt +++ b/erpnext/stock/doctype/warehouse/warehouse.txt @@ -5,17 +5,18 @@ { 'creation': '2010-08-08 17:09:30', 'docstatus': 0, - 'modified': '2010-12-16 23:57:04', - 'modified_by': 'nabin@webnotestech.com', + 'modified': '2011-09-28 16:19:59', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1300788639', + '_last_update': '1311621379', 'allow_trash': 1, 'autoname': 'field:warehouse_name', 'colour': 'White:FFF', + 'default_print_format': 'Standard', 'doctype': 'DocType', 'document_type': 'Master', 'module': 'Stock', @@ -24,7 +25,7 @@ 'section_style': 'Tabbed', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 55 + 'version': 56 }, # These values are common for all DocField @@ -58,7 +59,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 2, 'role': 'Material User', 'submit': 0, @@ -71,7 +71,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 0, 'role': 'Material User', 'submit': 0, @@ -84,7 +83,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 3, 'permlevel': 1, 'role': 'Material User', 'submit': 0, @@ -97,7 +95,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 4, 'permlevel': 2, 'role': 'Material Manager', 'submit': 0, @@ -110,7 +107,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 5, 'permlevel': 0, 'role': 'Material Manager', 'submit': 0, @@ -123,7 +119,6 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'idx': 6, 'permlevel': 1, 'role': 'Material Manager', 'submit': 0, @@ -133,7 +128,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 7, 'permlevel': 1, 'role': 'All' }, @@ -144,7 +138,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 8, 'permlevel': 0, 'role': 'Material Master Manager', 'submit': 0, @@ -154,7 +147,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 9, 'permlevel': 1, 'role': 'Material Master Manager' }, @@ -164,7 +156,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 10, 'permlevel': 0, 'role': 'System Manager', 'write': 1 @@ -174,7 +165,6 @@ { 'create': 0, 'doctype': 'DocPerm', - 'idx': 11, 'permlevel': 2, 'role': 'System Manager', 'write': 1 @@ -185,7 +175,6 @@ 'doctype': 'DocField', 'fieldname': 'trash_reason', 'fieldtype': 'Small Text', - 'idx': 1, 'label': 'Trash Reason', 'oldfieldname': 'trash_reason', 'oldfieldtype': 'Small Text', @@ -196,7 +185,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 2, 'label': 'Warehouse Detail', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -207,7 +195,6 @@ 'doctype': 'DocField', 'fieldname': 'warehouse_name', 'fieldtype': 'Data', - 'idx': 3, 'label': 'Warehouse Name', 'oldfieldname': 'warehouse_name', 'oldfieldtype': 'Data', @@ -221,7 +208,6 @@ 'doctype': 'DocField', 'fieldname': 'warehouse_type', 'fieldtype': 'Link', - 'idx': 4, 'label': 'Warehouse Type', 'oldfieldname': 'warehouse_type', 'oldfieldtype': 'Link', @@ -237,14 +223,13 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Link', - 'idx': 5, 'in_filter': 1, 'label': 'Company', 'oldfieldname': 'company', 'oldfieldtype': 'Link', 'options': 'Company', 'permlevel': 0, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -253,7 +238,6 @@ 'fieldname': 'email_id', 'fieldtype': 'Data', 'hidden': 1, - 'idx': 6, 'label': 'Email Id', 'oldfieldname': 'email_id', 'oldfieldtype': 'Data', @@ -267,7 +251,6 @@ 'fieldname': 'auto_indent_mail', 'fieldtype': 'Select', 'hidden': 1, - 'idx': 7, 'label': 'Send Reorder Alert Mail ', 'no_copy': 1, 'oldfieldname': 'auto_indent_mail', @@ -285,7 +268,6 @@ 'doctype': 'DocField', 'fieldname': 'phone_no', 'fieldtype': 'Int', - 'idx': 8, 'label': 'Phone No', 'oldfieldname': 'phone_no', 'oldfieldtype': 'Int', @@ -298,7 +280,6 @@ 'doctype': 'DocField', 'fieldname': 'mobile_no', 'fieldtype': 'Int', - 'idx': 9, 'label': 'Mobile No', 'oldfieldname': 'mobile_no', 'oldfieldtype': 'Int', @@ -310,7 +291,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 10, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -320,7 +300,6 @@ 'doctype': 'DocField', 'fieldname': 'address_line_1', 'fieldtype': 'Data', - 'idx': 11, 'label': 'Address Line 1', 'oldfieldname': 'address_line_1', 'oldfieldtype': 'Data', @@ -332,7 +311,6 @@ 'doctype': 'DocField', 'fieldname': 'address_line_2', 'fieldtype': 'Data', - 'idx': 12, 'label': 'Address Line 2', 'oldfieldname': 'address_line_2', 'oldfieldtype': 'Data', @@ -346,7 +324,6 @@ 'fieldname': 'country', 'fieldtype': 'Link', 'hidden': 0, - 'idx': 13, 'in_filter': 0, 'label': 'Country', 'no_copy': 0, @@ -367,7 +344,6 @@ 'doctype': 'DocField', 'fieldname': 'state', 'fieldtype': 'Select', - 'idx': 14, 'label': 'State', 'oldfieldname': 'state', 'oldfieldtype': 'Select', @@ -380,7 +356,6 @@ 'doctype': 'DocField', 'fieldname': 'city', 'fieldtype': 'Data', - 'idx': 15, 'label': 'City', 'oldfieldname': 'city', 'oldfieldtype': 'Data', @@ -393,7 +368,6 @@ 'doctype': 'DocField', 'fieldname': 'pin', 'fieldtype': 'Int', - 'idx': 16, 'label': 'PIN', 'oldfieldname': 'pin', 'oldfieldtype': 'Int', @@ -404,7 +378,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 17, 'label': 'Repost Stock', 'oldfieldtype': 'Section Break', 'permlevel': 2 @@ -415,46 +388,9 @@ 'doctype': 'DocField', 'fieldtype': 'Button', 'hidden': 0, - 'idx': 18, 'label': 'Repost Stock Ledger', 'oldfieldtype': 'Button', 'options': 'repost_stock', 'permlevel': 2 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'test_field2', - 'fieldtype': 'Data', - 'idx': 19, - 'label': 'Test Field2', - 'oldfieldname': 'test_field2', - 'oldfieldtype': 'Data', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'test_field1', - 'fieldtype': 'Data', - 'idx': 20, - 'label': 'Test Field1', - 'oldfieldname': 'test_field1', - 'oldfieldtype': 'Data', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'test_field', - 'fieldtype': 'Data', - 'idx': 21, - 'label': 'Test Field', - 'oldfieldname': 'test_field', - 'oldfieldtype': 'Data', - 'permlevel': 0 } ] \ No newline at end of file diff --git a/stock/search_criteria/stock_level/__init__.py b/erpnext/stock/page/__init__.py similarity index 100% rename from stock/search_criteria/stock_level/__init__.py rename to erpnext/stock/page/__init__.py diff --git a/stock/search_criteria/stock_report/__init__.py b/erpnext/stock/search_criteria/__init__.py similarity index 100% rename from stock/search_criteria/stock_report/__init__.py rename to erpnext/stock/search_criteria/__init__.py diff --git a/support/__init__.py b/erpnext/stock/search_criteria/itemwise_price_list/__init__.py similarity index 100% rename from support/__init__.py rename to erpnext/stock/search_criteria/itemwise_price_list/__init__.py diff --git a/stock/search_criteria/itemwise_price_list/itemwise_price_list.js b/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.js similarity index 100% rename from stock/search_criteria/itemwise_price_list/itemwise_price_list.js rename to erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.js diff --git a/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt b/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt similarity index 100% rename from stock/search_criteria/itemwise_price_list/itemwise_price_list.txt rename to erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt diff --git a/support/doctype/__init__.py b/erpnext/stock/search_criteria/shortage_to_indent/__init__.py similarity index 100% rename from support/doctype/__init__.py rename to erpnext/stock/search_criteria/shortage_to_indent/__init__.py diff --git a/stock/search_criteria/shortage_to_indent/shortage_to_indent.js b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js similarity index 100% rename from stock/search_criteria/shortage_to_indent/shortage_to_indent.js rename to erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js diff --git a/stock/search_criteria/shortage_to_indent/shortage_to_indent.py b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py similarity index 100% rename from stock/search_criteria/shortage_to_indent/shortage_to_indent.py rename to erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py diff --git a/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt similarity index 100% rename from stock/search_criteria/shortage_to_indent/shortage_to_indent.txt rename to erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt diff --git a/support/doctype/customer_issue/__init__.py b/erpnext/stock/search_criteria/stock_aging_report/__init__.py similarity index 100% rename from support/doctype/customer_issue/__init__.py rename to erpnext/stock/search_criteria/stock_aging_report/__init__.py diff --git a/stock/search_criteria/stock_aging_report/stock_aging_report.js b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.js similarity index 100% rename from stock/search_criteria/stock_aging_report/stock_aging_report.js rename to erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.js diff --git a/stock/search_criteria/stock_aging_report/stock_aging_report.py b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.py similarity index 100% rename from stock/search_criteria/stock_aging_report/stock_aging_report.py rename to erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.py diff --git a/stock/search_criteria/stock_aging_report/stock_aging_report.txt b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt similarity index 100% rename from stock/search_criteria/stock_aging_report/stock_aging_report.txt rename to erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt diff --git a/support/doctype/item_maintenance_detail/__init__.py b/erpnext/stock/search_criteria/stock_ledger/__init__.py similarity index 100% rename from support/doctype/item_maintenance_detail/__init__.py rename to erpnext/stock/search_criteria/stock_ledger/__init__.py diff --git a/stock/search_criteria/stock_ledger/stock_ledger.js b/erpnext/stock/search_criteria/stock_ledger/stock_ledger.js similarity index 100% rename from stock/search_criteria/stock_ledger/stock_ledger.js rename to erpnext/stock/search_criteria/stock_ledger/stock_ledger.js diff --git a/stock/search_criteria/stock_ledger/stock_ledger.txt b/erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt similarity index 100% rename from stock/search_criteria/stock_ledger/stock_ledger.txt rename to erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt diff --git a/support/doctype/maintenance_schedule/__init__.py b/erpnext/stock/search_criteria/stock_level/__init__.py similarity index 100% rename from support/doctype/maintenance_schedule/__init__.py rename to erpnext/stock/search_criteria/stock_level/__init__.py diff --git a/stock/search_criteria/stock_level/stock_level.js b/erpnext/stock/search_criteria/stock_level/stock_level.js similarity index 100% rename from stock/search_criteria/stock_level/stock_level.js rename to erpnext/stock/search_criteria/stock_level/stock_level.js diff --git a/stock/search_criteria/stock_level/stock_level.py b/erpnext/stock/search_criteria/stock_level/stock_level.py similarity index 100% rename from stock/search_criteria/stock_level/stock_level.py rename to erpnext/stock/search_criteria/stock_level/stock_level.py diff --git a/stock/search_criteria/stock_level/stock_level.txt b/erpnext/stock/search_criteria/stock_level/stock_level.txt similarity index 100% rename from stock/search_criteria/stock_level/stock_level.txt rename to erpnext/stock/search_criteria/stock_level/stock_level.txt diff --git a/support/doctype/maintenance_schedule_detail/__init__.py b/erpnext/stock/search_criteria/stock_report/__init__.py similarity index 100% rename from support/doctype/maintenance_schedule_detail/__init__.py rename to erpnext/stock/search_criteria/stock_report/__init__.py diff --git a/stock/search_criteria/stock_report/stock_report.js b/erpnext/stock/search_criteria/stock_report/stock_report.js similarity index 100% rename from stock/search_criteria/stock_report/stock_report.js rename to erpnext/stock/search_criteria/stock_report/stock_report.js diff --git a/stock/search_criteria/stock_report/stock_report.py b/erpnext/stock/search_criteria/stock_report/stock_report.py similarity index 100% rename from stock/search_criteria/stock_report/stock_report.py rename to erpnext/stock/search_criteria/stock_report/stock_report.py diff --git a/stock/search_criteria/stock_report/stock_report.txt b/erpnext/stock/search_criteria/stock_report/stock_report.txt similarity index 100% rename from stock/search_criteria/stock_report/stock_report.txt rename to erpnext/stock/search_criteria/stock_report/stock_report.txt diff --git a/stock/tests.py b/erpnext/stock/tests.py similarity index 100% rename from stock/tests.py rename to erpnext/stock/tests.py diff --git a/support/DocType Label/Ticket/Ticket.txt b/erpnext/support/DocType Label/Ticket/Ticket.txt similarity index 100% rename from support/DocType Label/Ticket/Ticket.txt rename to erpnext/support/DocType Label/Ticket/Ticket.txt diff --git a/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt b/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt similarity index 96% rename from support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt rename to erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt index 75244dea9d0..55060ea75f9 100644 --- a/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt +++ b/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-05-18 13:37:43', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:41', + 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt b/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt similarity index 96% rename from support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt rename to erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt index e56c4bdf976..ccd0e60c9b0 100644 --- a/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt +++ b/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-05-18 11:05:26', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:44', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt b/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt similarity index 96% rename from support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt rename to erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt index 26a48f8a670..e4bd45bd17b 100644 --- a/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt +++ b/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2011-05-18 13:35:55', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-09-15 15:04:45', + 'modified_by': 'Administrator', 'owner': 'ashwini@webnotestech.com' }, diff --git a/erpnext/support/Module Def/Support/Support.txt b/erpnext/support/Module Def/Support/Support.txt new file mode 100644 index 00000000000..9c66c3d1c3d --- /dev/null +++ b/erpnext/support/Module Def/Support/Support.txt @@ -0,0 +1,149 @@ +# Module Def, Support +[ + + # These values are common in all dictionaries + { + 'creation': '2011-07-01 17:42:15', + 'docstatus': 0, + 'modified': '2011-10-10 16:59:49', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all Module Def Role + { + 'doctype': 'Module Def Role', + 'name': '__common__', + 'parent': 'Support', + 'parentfield': 'roles', + 'parenttype': 'Module Def' + }, + + # These values are common for all Module Def Item + { + 'doctype': 'Module Def Item', + 'name': '__common__', + 'parent': 'Support', + 'parentfield': 'items', + 'parenttype': 'Module Def' + }, + + # These values are common for all Module Def + { + 'disabled': 'No', + 'doctype': u'Module Def', + 'doctype_list': 'DocType Label, Ticket', + 'is_hidden': 'No', + 'module_desc': 'Manage maintenance quotes, orders, schedule etc.', + 'module_icon': 'Maintenance.gif', + 'module_label': 'Support', + 'module_name': 'Support', + 'module_seq': 8, + 'name': '__common__' + }, + + # Module Def, Support + { + 'doctype': u'Module Def', + 'name': 'Support' + }, + + # Module Def Item + { + 'description': "Database of Support Ticket's raised by Customers", + 'display_name': 'Support Ticket', + 'doc_name': 'Support Ticket', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'status\nopening_date\ncustomer\nallocated_to' + }, + + # Module Def Item + { + 'description': 'Create schedule based on maintenance order', + 'display_name': 'Maintenance Schedule', + 'doc_name': 'Maintenance Schedule', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'status\ntransaction_date\ncustomer\nsales_order_no' + }, + + # Module Def Item + { + 'description': 'Database of issues raised your Customers', + 'display_name': 'Customer Issue', + 'doc_name': 'Customer Issue', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'status\ncomplaint_date\ncustomer\nallocated_to\nallocated_on' + }, + + # Module Def Item + { + 'display_name': 'Maintenance Visit', + 'doc_name': 'Maintenance Visit', + 'doc_type': 'Forms', + 'doctype': 'Module Def Item', + 'fields': 'status\nmntc_date\ncustomer\nmaintenance_type\ncompletion_status' + }, + + # Module Def Item + { + 'description': 'List of all scheduled mainteance. You can filter by sales person, date, serial no etc. ', + 'display_name': 'Maintenance Schedule Details', + 'doc_name': 'Maintenance Schedule Detail', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'description': 'List of all issues raised by customer', + 'display_name': 'Customer Issues', + 'doc_name': 'Customer Issue', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'display_name': 'Warranty/AMC Expiry Details', + 'doc_name': 'Serial No', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'display_name': 'Warranty/AMC Summary', + 'doc_name': 'Serial No', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Item + { + 'display_name': 'Maintenance Orderwise Pending Amount To Bill', + 'doc_name': 'Sales Order Detail', + 'doc_type': 'Reports', + 'doctype': 'Module Def Item' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Administrator' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Maintenance User' + }, + + # Module Def Role + { + 'doctype': 'Module Def Role', + 'role': 'Maintenance Manager' + } +] \ No newline at end of file diff --git a/support/Role/Maintenance Manager/Maintenance Manager.txt b/erpnext/support/Role/Maintenance Manager/Maintenance Manager.txt similarity index 100% rename from support/Role/Maintenance Manager/Maintenance Manager.txt rename to erpnext/support/Role/Maintenance Manager/Maintenance Manager.txt diff --git a/support/Role/Maintenance User/Maintenance User.txt b/erpnext/support/Role/Maintenance User/Maintenance User.txt similarity index 100% rename from support/Role/Maintenance User/Maintenance User.txt rename to erpnext/support/Role/Maintenance User/Maintenance User.txt diff --git a/support/Role/Support Manager/Support Manager.txt b/erpnext/support/Role/Support Manager/Support Manager.txt similarity index 100% rename from support/Role/Support Manager/Support Manager.txt rename to erpnext/support/Role/Support Manager/Support Manager.txt diff --git a/support/Role/Support Team/Support Team.txt b/erpnext/support/Role/Support Team/Support Team.txt similarity index 100% rename from support/Role/Support Team/Support Team.txt rename to erpnext/support/Role/Support Team/Support Team.txt diff --git a/support/doctype/maintenance_visit/__init__.py b/erpnext/support/__init__.py similarity index 100% rename from support/doctype/maintenance_visit/__init__.py rename to erpnext/support/__init__.py diff --git a/support/doctype/maintenance_visit_detail/__init__.py b/erpnext/support/doctype/__init__.py similarity index 100% rename from support/doctype/maintenance_visit_detail/__init__.py rename to erpnext/support/doctype/__init__.py diff --git a/support/doctype/support_ticket_response/__init__.py b/erpnext/support/doctype/customer_issue/__init__.py similarity index 100% rename from support/doctype/support_ticket_response/__init__.py rename to erpnext/support/doctype/customer_issue/__init__.py diff --git a/support/doctype/customer_issue/customer_issue.js b/erpnext/support/doctype/customer_issue/customer_issue.js similarity index 100% rename from support/doctype/customer_issue/customer_issue.js rename to erpnext/support/doctype/customer_issue/customer_issue.js diff --git a/support/doctype/customer_issue/customer_issue.py b/erpnext/support/doctype/customer_issue/customer_issue.py similarity index 100% rename from support/doctype/customer_issue/customer_issue.py rename to erpnext/support/doctype/customer_issue/customer_issue.py diff --git a/support/doctype/customer_issue/customer_issue.txt b/erpnext/support/doctype/customer_issue/customer_issue.txt similarity index 100% rename from support/doctype/customer_issue/customer_issue.txt rename to erpnext/support/doctype/customer_issue/customer_issue.txt diff --git a/support/search_criteria/__init__.py b/erpnext/support/doctype/item_maintenance_detail/__init__.py similarity index 100% rename from support/search_criteria/__init__.py rename to erpnext/support/doctype/item_maintenance_detail/__init__.py diff --git a/support/doctype/item_maintenance_detail/item_maintenance_detail.txt b/erpnext/support/doctype/item_maintenance_detail/item_maintenance_detail.txt similarity index 100% rename from support/doctype/item_maintenance_detail/item_maintenance_detail.txt rename to erpnext/support/doctype/item_maintenance_detail/item_maintenance_detail.txt diff --git a/support/search_criteria/amc_summary/__init__.py b/erpnext/support/doctype/maintenance_schedule/__init__.py similarity index 100% rename from support/search_criteria/amc_summary/__init__.py rename to erpnext/support/doctype/maintenance_schedule/__init__.py diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js similarity index 100% rename from support/doctype/maintenance_schedule/maintenance_schedule.js rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py similarity index 100% rename from support/doctype/maintenance_schedule/maintenance_schedule.py rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.txt b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.txt similarity index 100% rename from support/doctype/maintenance_schedule/maintenance_schedule.txt rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.txt diff --git a/support/search_criteria/customer_issues/__init__.py b/erpnext/support/doctype/maintenance_schedule_detail/__init__.py similarity index 100% rename from support/search_criteria/customer_issues/__init__.py rename to erpnext/support/doctype/maintenance_schedule_detail/__init__.py diff --git a/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt b/erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt similarity index 100% rename from support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt rename to erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt diff --git a/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py b/erpnext/support/doctype/maintenance_visit/__init__.py similarity index 100% rename from support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py rename to erpnext/support/doctype/maintenance_visit/__init__.py diff --git a/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js similarity index 100% rename from support/doctype/maintenance_visit/maintenance_visit.js rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.js diff --git a/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py similarity index 100% rename from support/doctype/maintenance_visit/maintenance_visit.py rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.py diff --git a/support/doctype/maintenance_visit/maintenance_visit.txt b/erpnext/support/doctype/maintenance_visit/maintenance_visit.txt similarity index 100% rename from support/doctype/maintenance_visit/maintenance_visit.txt rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.txt diff --git a/support/search_criteria/maintenance_schedule_details/__init__.py b/erpnext/support/doctype/maintenance_visit_detail/__init__.py similarity index 100% rename from support/search_criteria/maintenance_schedule_details/__init__.py rename to erpnext/support/doctype/maintenance_visit_detail/__init__.py diff --git a/support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt b/erpnext/support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt similarity index 100% rename from support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt rename to erpnext/support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt diff --git a/support/doctype/support_ticket/__init__.py b/erpnext/support/doctype/support_ticket/__init__.py similarity index 100% rename from support/doctype/support_ticket/__init__.py rename to erpnext/support/doctype/support_ticket/__init__.py diff --git a/support/doctype/support_ticket/support_ticket.js b/erpnext/support/doctype/support_ticket/support_ticket.js similarity index 100% rename from support/doctype/support_ticket/support_ticket.js rename to erpnext/support/doctype/support_ticket/support_ticket.js diff --git a/support/doctype/support_ticket/support_ticket.py b/erpnext/support/doctype/support_ticket/support_ticket.py similarity index 100% rename from support/doctype/support_ticket/support_ticket.py rename to erpnext/support/doctype/support_ticket/support_ticket.py diff --git a/support/doctype/support_ticket/support_ticket.txt b/erpnext/support/doctype/support_ticket/support_ticket.txt similarity index 100% rename from support/doctype/support_ticket/support_ticket.txt rename to erpnext/support/doctype/support_ticket/support_ticket.txt diff --git a/support/search_criteria/warranty_amc_expiry_details/__init__.py b/erpnext/support/doctype/support_ticket_response/__init__.py similarity index 100% rename from support/search_criteria/warranty_amc_expiry_details/__init__.py rename to erpnext/support/doctype/support_ticket_response/__init__.py diff --git a/support/doctype/support_ticket_response/support_ticket_response.txt b/erpnext/support/doctype/support_ticket_response/support_ticket_response.txt similarity index 100% rename from support/doctype/support_ticket_response/support_ticket_response.txt rename to erpnext/support/doctype/support_ticket_response/support_ticket_response.txt diff --git a/support/search_criteria/warranty_amc_summary/__init__.py b/erpnext/support/search_criteria/__init__.py similarity index 100% rename from support/search_criteria/warranty_amc_summary/__init__.py rename to erpnext/support/search_criteria/__init__.py diff --git a/utilities/__init__.py b/erpnext/support/search_criteria/amc_summary/__init__.py similarity index 100% rename from utilities/__init__.py rename to erpnext/support/search_criteria/amc_summary/__init__.py diff --git a/support/search_criteria/amc_summary/amc_summary.js b/erpnext/support/search_criteria/amc_summary/amc_summary.js similarity index 100% rename from support/search_criteria/amc_summary/amc_summary.js rename to erpnext/support/search_criteria/amc_summary/amc_summary.js diff --git a/support/search_criteria/amc_summary/amc_summary.py b/erpnext/support/search_criteria/amc_summary/amc_summary.py similarity index 100% rename from support/search_criteria/amc_summary/amc_summary.py rename to erpnext/support/search_criteria/amc_summary/amc_summary.py diff --git a/support/search_criteria/amc_summary/amc_summary.txt b/erpnext/support/search_criteria/amc_summary/amc_summary.txt similarity index 100% rename from support/search_criteria/amc_summary/amc_summary.txt rename to erpnext/support/search_criteria/amc_summary/amc_summary.txt diff --git a/utilities/doctype/__init__.py b/erpnext/support/search_criteria/customer_issues/__init__.py similarity index 100% rename from utilities/doctype/__init__.py rename to erpnext/support/search_criteria/customer_issues/__init__.py diff --git a/support/search_criteria/customer_issues/customer_issues.js b/erpnext/support/search_criteria/customer_issues/customer_issues.js similarity index 100% rename from support/search_criteria/customer_issues/customer_issues.js rename to erpnext/support/search_criteria/customer_issues/customer_issues.js diff --git a/support/search_criteria/customer_issues/customer_issues.txt b/erpnext/support/search_criteria/customer_issues/customer_issues.txt similarity index 100% rename from support/search_criteria/customer_issues/customer_issues.txt rename to erpnext/support/search_criteria/customer_issues/customer_issues.txt diff --git a/utilities/doctype/activity_dashboard_control/__init__.py b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py similarity index 100% rename from utilities/doctype/activity_dashboard_control/__init__.py rename to erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py diff --git a/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js similarity index 100% rename from support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js rename to erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js diff --git a/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt similarity index 100% rename from support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt rename to erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt diff --git a/utilities/doctype/address/__init__.py b/erpnext/support/search_criteria/maintenance_schedule_details/__init__.py similarity index 100% rename from utilities/doctype/address/__init__.py rename to erpnext/support/search_criteria/maintenance_schedule_details/__init__.py diff --git a/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js b/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js similarity index 100% rename from support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js rename to erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js diff --git a/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt b/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt similarity index 100% rename from support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt rename to erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt diff --git a/utilities/doctype/bulk_rename_tool/__init__.py b/erpnext/support/search_criteria/warranty_amc_expiry_details/__init__.py similarity index 100% rename from utilities/doctype/bulk_rename_tool/__init__.py rename to erpnext/support/search_criteria/warranty_amc_expiry_details/__init__.py diff --git a/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js b/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js similarity index 100% rename from support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js rename to erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js diff --git a/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt b/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt similarity index 100% rename from support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt rename to erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt diff --git a/utilities/doctype/contact/__init__.py b/erpnext/support/search_criteria/warranty_amc_summary/__init__.py similarity index 100% rename from utilities/doctype/contact/__init__.py rename to erpnext/support/search_criteria/warranty_amc_summary/__init__.py diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.js b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.js similarity index 100% rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.js rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.js diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.py b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.py similarity index 100% rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.py rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.py diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql similarity index 100% rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt similarity index 100% rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt diff --git a/utilities/Module Def/Utilities/Utilities.txt b/erpnext/utilities/Module Def/Utilities/Utilities.txt similarity index 100% rename from utilities/Module Def/Utilities/Utilities.txt rename to erpnext/utilities/Module Def/Utilities/Utilities.txt diff --git a/utilities/doctype/contact_detail/__init__.py b/erpnext/utilities/__init__.py similarity index 100% rename from utilities/doctype/contact_detail/__init__.py rename to erpnext/utilities/__init__.py diff --git a/utilities/doctype/doctype_label/__init__.py b/erpnext/utilities/doctype/__init__.py similarity index 100% rename from utilities/doctype/doctype_label/__init__.py rename to erpnext/utilities/doctype/__init__.py diff --git a/utilities/doctype/doctype_property_setter/__init__.py b/erpnext/utilities/doctype/activity_dashboard_control/__init__.py similarity index 100% rename from utilities/doctype/doctype_property_setter/__init__.py rename to erpnext/utilities/doctype/activity_dashboard_control/__init__.py diff --git a/utilities/doctype/activity_dashboard_control/activity_dashboard_control.py b/erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.py similarity index 100% rename from utilities/doctype/activity_dashboard_control/activity_dashboard_control.py rename to erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.py diff --git a/utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt b/erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt similarity index 100% rename from utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt rename to erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt diff --git a/utilities/doctype/file_browser_control/__init__.py b/erpnext/utilities/doctype/address/__init__.py similarity index 100% rename from utilities/doctype/file_browser_control/__init__.py rename to erpnext/utilities/doctype/address/__init__.py diff --git a/utilities/doctype/address/address.js b/erpnext/utilities/doctype/address/address.js similarity index 100% rename from utilities/doctype/address/address.js rename to erpnext/utilities/doctype/address/address.js diff --git a/utilities/doctype/address/address.py b/erpnext/utilities/doctype/address/address.py similarity index 100% rename from utilities/doctype/address/address.py rename to erpnext/utilities/doctype/address/address.py diff --git a/utilities/doctype/address/address.txt b/erpnext/utilities/doctype/address/address.txt similarity index 100% rename from utilities/doctype/address/address.txt rename to erpnext/utilities/doctype/address/address.txt diff --git a/utilities/doctype/gl_mapper/__init__.py b/erpnext/utilities/doctype/bulk_rename_tool/__init__.py similarity index 100% rename from utilities/doctype/gl_mapper/__init__.py rename to erpnext/utilities/doctype/bulk_rename_tool/__init__.py diff --git a/utilities/doctype/bulk_rename_tool/bulk_rename_tool.py b/erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.py similarity index 100% rename from utilities/doctype/bulk_rename_tool/bulk_rename_tool.py rename to erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.py diff --git a/utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt b/erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt similarity index 100% rename from utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt rename to erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt diff --git a/utilities/doctype/gl_mapper_detail/__init__.py b/erpnext/utilities/doctype/contact/__init__.py similarity index 100% rename from utilities/doctype/gl_mapper_detail/__init__.py rename to erpnext/utilities/doctype/contact/__init__.py diff --git a/utilities/doctype/contact/contact.js b/erpnext/utilities/doctype/contact/contact.js similarity index 100% rename from utilities/doctype/contact/contact.js rename to erpnext/utilities/doctype/contact/contact.js diff --git a/utilities/doctype/contact/contact.py b/erpnext/utilities/doctype/contact/contact.py similarity index 100% rename from utilities/doctype/contact/contact.py rename to erpnext/utilities/doctype/contact/contact.py diff --git a/utilities/doctype/contact/contact.txt b/erpnext/utilities/doctype/contact/contact.txt similarity index 100% rename from utilities/doctype/contact/contact.txt rename to erpnext/utilities/doctype/contact/contact.txt diff --git a/utilities/doctype/menu_control/__init__.py b/erpnext/utilities/doctype/contact_detail/__init__.py similarity index 100% rename from utilities/doctype/menu_control/__init__.py rename to erpnext/utilities/doctype/contact_detail/__init__.py diff --git a/utilities/doctype/contact_detail/contact_detail.txt b/erpnext/utilities/doctype/contact_detail/contact_detail.txt similarity index 100% rename from utilities/doctype/contact_detail/contact_detail.txt rename to erpnext/utilities/doctype/contact_detail/contact_detail.txt diff --git a/utilities/doctype/patch_util/__init__.py b/erpnext/utilities/doctype/doctype_label/__init__.py similarity index 100% rename from utilities/doctype/patch_util/__init__.py rename to erpnext/utilities/doctype/doctype_label/__init__.py diff --git a/utilities/doctype/doctype_label/doctype_label.txt b/erpnext/utilities/doctype/doctype_label/doctype_label.txt similarity index 100% rename from utilities/doctype/doctype_label/doctype_label.txt rename to erpnext/utilities/doctype/doctype_label/doctype_label.txt diff --git a/utilities/doctype/production_tips_common/__init__.py b/erpnext/utilities/doctype/doctype_property_setter/__init__.py similarity index 100% rename from utilities/doctype/production_tips_common/__init__.py rename to erpnext/utilities/doctype/doctype_property_setter/__init__.py diff --git a/utilities/doctype/doctype_property_setter/doctype_property_setter.py b/erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.py similarity index 100% rename from utilities/doctype/doctype_property_setter/doctype_property_setter.py rename to erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.py diff --git a/utilities/doctype/doctype_property_setter/doctype_property_setter.txt b/erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.txt similarity index 100% rename from utilities/doctype/doctype_property_setter/doctype_property_setter.txt rename to erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.txt diff --git a/utilities/doctype/profile_control/__init__.py b/erpnext/utilities/doctype/file_browser_control/__init__.py similarity index 100% rename from utilities/doctype/profile_control/__init__.py rename to erpnext/utilities/doctype/file_browser_control/__init__.py diff --git a/utilities/doctype/file_browser_control/file_browser_control.py b/erpnext/utilities/doctype/file_browser_control/file_browser_control.py similarity index 100% rename from utilities/doctype/file_browser_control/file_browser_control.py rename to erpnext/utilities/doctype/file_browser_control/file_browser_control.py diff --git a/utilities/doctype/file_browser_control/file_browser_control.txt b/erpnext/utilities/doctype/file_browser_control/file_browser_control.txt similarity index 100% rename from utilities/doctype/file_browser_control/file_browser_control.txt rename to erpnext/utilities/doctype/file_browser_control/file_browser_control.txt diff --git a/utilities/doctype/receiver_detail/__init__.py b/erpnext/utilities/doctype/gl_mapper/__init__.py similarity index 100% rename from utilities/doctype/receiver_detail/__init__.py rename to erpnext/utilities/doctype/gl_mapper/__init__.py diff --git a/utilities/doctype/gl_mapper/gl_mapper.txt b/erpnext/utilities/doctype/gl_mapper/gl_mapper.txt similarity index 100% rename from utilities/doctype/gl_mapper/gl_mapper.txt rename to erpnext/utilities/doctype/gl_mapper/gl_mapper.txt diff --git a/utilities/doctype/rename_tool/__init__.py b/erpnext/utilities/doctype/gl_mapper_detail/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from utilities/doctype/rename_tool/__init__.py rename to erpnext/utilities/doctype/gl_mapper_detail/__init__.py diff --git a/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt b/erpnext/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt similarity index 100% rename from utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt rename to erpnext/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt diff --git a/utilities/doctype/reposting_tool/__init__.py b/erpnext/utilities/doctype/menu_control/__init__.py similarity index 100% rename from utilities/doctype/reposting_tool/__init__.py rename to erpnext/utilities/doctype/menu_control/__init__.py diff --git a/utilities/doctype/menu_control/menu_control.js b/erpnext/utilities/doctype/menu_control/menu_control.js similarity index 100% rename from utilities/doctype/menu_control/menu_control.js rename to erpnext/utilities/doctype/menu_control/menu_control.js diff --git a/utilities/doctype/menu_control/menu_control.py b/erpnext/utilities/doctype/menu_control/menu_control.py similarity index 100% rename from utilities/doctype/menu_control/menu_control.py rename to erpnext/utilities/doctype/menu_control/menu_control.py diff --git a/utilities/doctype/menu_control/menu_control.txt b/erpnext/utilities/doctype/menu_control/menu_control.txt similarity index 100% rename from utilities/doctype/menu_control/menu_control.txt rename to erpnext/utilities/doctype/menu_control/menu_control.txt diff --git a/utilities/doctype/sms_center/__init__.py b/erpnext/utilities/doctype/patch_util/__init__.py similarity index 100% rename from utilities/doctype/sms_center/__init__.py rename to erpnext/utilities/doctype/patch_util/__init__.py diff --git a/utilities/doctype/patch_util/patch_util.py b/erpnext/utilities/doctype/patch_util/patch_util.py similarity index 100% rename from utilities/doctype/patch_util/patch_util.py rename to erpnext/utilities/doctype/patch_util/patch_util.py diff --git a/utilities/doctype/patch_util/patch_util.txt b/erpnext/utilities/doctype/patch_util/patch_util.txt similarity index 100% rename from utilities/doctype/patch_util/patch_util.txt rename to erpnext/utilities/doctype/patch_util/patch_util.txt diff --git a/utilities/doctype/sms_control/__init__.py b/erpnext/utilities/doctype/production_tips_common/__init__.py similarity index 100% rename from utilities/doctype/sms_control/__init__.py rename to erpnext/utilities/doctype/production_tips_common/__init__.py diff --git a/utilities/doctype/production_tips_common/production_tips_common.js b/erpnext/utilities/doctype/production_tips_common/production_tips_common.js similarity index 100% rename from utilities/doctype/production_tips_common/production_tips_common.js rename to erpnext/utilities/doctype/production_tips_common/production_tips_common.js diff --git a/utilities/doctype/production_tips_common/production_tips_common.txt b/erpnext/utilities/doctype/production_tips_common/production_tips_common.txt similarity index 100% rename from utilities/doctype/production_tips_common/production_tips_common.txt rename to erpnext/utilities/doctype/production_tips_common/production_tips_common.txt diff --git a/utilities/doctype/sms_log/__init__.py b/erpnext/utilities/doctype/profile_control/__init__.py similarity index 100% rename from utilities/doctype/sms_log/__init__.py rename to erpnext/utilities/doctype/profile_control/__init__.py diff --git a/utilities/doctype/profile_control/profile_control.py b/erpnext/utilities/doctype/profile_control/profile_control.py similarity index 100% rename from utilities/doctype/profile_control/profile_control.py rename to erpnext/utilities/doctype/profile_control/profile_control.py diff --git a/utilities/doctype/profile_control/profile_control.txt b/erpnext/utilities/doctype/profile_control/profile_control.txt similarity index 100% rename from utilities/doctype/profile_control/profile_control.txt rename to erpnext/utilities/doctype/profile_control/profile_control.txt diff --git a/utilities/doctype/sso_control/__init__.py b/erpnext/utilities/doctype/receiver_detail/__init__.py similarity index 100% rename from utilities/doctype/sso_control/__init__.py rename to erpnext/utilities/doctype/receiver_detail/__init__.py diff --git a/utilities/doctype/receiver_detail/receiver_detail.txt b/erpnext/utilities/doctype/receiver_detail/receiver_detail.txt similarity index 100% rename from utilities/doctype/receiver_detail/receiver_detail.txt rename to erpnext/utilities/doctype/receiver_detail/receiver_detail.txt diff --git a/utilities/doctype/todo_item/__init__.py b/erpnext/utilities/doctype/rename_tool/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from utilities/doctype/todo_item/__init__.py rename to erpnext/utilities/doctype/rename_tool/__init__.py diff --git a/utilities/doctype/rename_tool/rename_tool.js b/erpnext/utilities/doctype/rename_tool/rename_tool.js similarity index 100% rename from utilities/doctype/rename_tool/rename_tool.js rename to erpnext/utilities/doctype/rename_tool/rename_tool.js diff --git a/utilities/doctype/rename_tool/rename_tool.py b/erpnext/utilities/doctype/rename_tool/rename_tool.py similarity index 100% rename from utilities/doctype/rename_tool/rename_tool.py rename to erpnext/utilities/doctype/rename_tool/rename_tool.py diff --git a/utilities/doctype/rename_tool/rename_tool.txt b/erpnext/utilities/doctype/rename_tool/rename_tool.txt similarity index 100% rename from utilities/doctype/rename_tool/rename_tool.txt rename to erpnext/utilities/doctype/rename_tool/rename_tool.txt diff --git a/utilities/doctype/trash_control/__init__.py b/erpnext/utilities/doctype/reposting_tool/__init__.py similarity index 100% rename from utilities/doctype/trash_control/__init__.py rename to erpnext/utilities/doctype/reposting_tool/__init__.py diff --git a/utilities/doctype/reposting_tool/reposting_tool.js b/erpnext/utilities/doctype/reposting_tool/reposting_tool.js similarity index 100% rename from utilities/doctype/reposting_tool/reposting_tool.js rename to erpnext/utilities/doctype/reposting_tool/reposting_tool.js diff --git a/utilities/doctype/reposting_tool/reposting_tool.py b/erpnext/utilities/doctype/reposting_tool/reposting_tool.py similarity index 100% rename from utilities/doctype/reposting_tool/reposting_tool.py rename to erpnext/utilities/doctype/reposting_tool/reposting_tool.py diff --git a/utilities/doctype/reposting_tool/reposting_tool.txt b/erpnext/utilities/doctype/reposting_tool/reposting_tool.txt similarity index 100% rename from utilities/doctype/reposting_tool/reposting_tool.txt rename to erpnext/utilities/doctype/reposting_tool/reposting_tool.txt diff --git a/utilities/doctype/wn_erp_client_control/__init__.py b/erpnext/utilities/doctype/sms_center/__init__.py similarity index 100% rename from utilities/doctype/wn_erp_client_control/__init__.py rename to erpnext/utilities/doctype/sms_center/__init__.py diff --git a/utilities/doctype/sms_center/sms_center.js b/erpnext/utilities/doctype/sms_center/sms_center.js similarity index 100% rename from utilities/doctype/sms_center/sms_center.js rename to erpnext/utilities/doctype/sms_center/sms_center.js diff --git a/utilities/doctype/sms_center/sms_center.py b/erpnext/utilities/doctype/sms_center/sms_center.py similarity index 100% rename from utilities/doctype/sms_center/sms_center.py rename to erpnext/utilities/doctype/sms_center/sms_center.py diff --git a/utilities/doctype/sms_center/sms_center.txt b/erpnext/utilities/doctype/sms_center/sms_center.txt similarity index 100% rename from utilities/doctype/sms_center/sms_center.txt rename to erpnext/utilities/doctype/sms_center/sms_center.txt diff --git a/utilities/page/__init__.py b/erpnext/utilities/doctype/sms_control/__init__.py similarity index 100% rename from utilities/page/__init__.py rename to erpnext/utilities/doctype/sms_control/__init__.py diff --git a/utilities/doctype/sms_control/sms_control.js b/erpnext/utilities/doctype/sms_control/sms_control.js similarity index 100% rename from utilities/doctype/sms_control/sms_control.js rename to erpnext/utilities/doctype/sms_control/sms_control.js diff --git a/utilities/doctype/sms_control/sms_control.py b/erpnext/utilities/doctype/sms_control/sms_control.py similarity index 100% rename from utilities/doctype/sms_control/sms_control.py rename to erpnext/utilities/doctype/sms_control/sms_control.py diff --git a/utilities/doctype/sms_control/sms_control.txt b/erpnext/utilities/doctype/sms_control/sms_control.txt similarity index 100% rename from utilities/doctype/sms_control/sms_control.txt rename to erpnext/utilities/doctype/sms_control/sms_control.txt diff --git a/utilities/page/file_browser/__init__.py b/erpnext/utilities/doctype/sms_log/__init__.py similarity index 100% rename from utilities/page/file_browser/__init__.py rename to erpnext/utilities/doctype/sms_log/__init__.py diff --git a/utilities/doctype/sms_log/sms_log.txt b/erpnext/utilities/doctype/sms_log/sms_log.txt similarity index 100% rename from utilities/doctype/sms_log/sms_log.txt rename to erpnext/utilities/doctype/sms_log/sms_log.txt diff --git a/utilities/page/messages/__init__.py b/erpnext/utilities/doctype/sso_control/__init__.py similarity index 100% rename from utilities/page/messages/__init__.py rename to erpnext/utilities/doctype/sso_control/__init__.py diff --git a/utilities/doctype/sso_control/sso_control.py b/erpnext/utilities/doctype/sso_control/sso_control.py similarity index 100% rename from utilities/doctype/sso_control/sso_control.py rename to erpnext/utilities/doctype/sso_control/sso_control.py diff --git a/utilities/doctype/sso_control/sso_control.txt b/erpnext/utilities/doctype/sso_control/sso_control.txt similarity index 100% rename from utilities/doctype/sso_control/sso_control.txt rename to erpnext/utilities/doctype/sso_control/sso_control.txt diff --git a/utilities/page/trash/__init__.py b/erpnext/utilities/doctype/todo_item/__init__.py similarity index 100% rename from utilities/page/trash/__init__.py rename to erpnext/utilities/doctype/todo_item/__init__.py diff --git a/utilities/doctype/todo_item/todo_item.txt b/erpnext/utilities/doctype/todo_item/todo_item.txt similarity index 100% rename from utilities/doctype/todo_item/todo_item.txt rename to erpnext/utilities/doctype/todo_item/todo_item.txt diff --git a/utilities/page/wip_monitor/__init__.py b/erpnext/utilities/doctype/trash_control/__init__.py similarity index 100% rename from utilities/page/wip_monitor/__init__.py rename to erpnext/utilities/doctype/trash_control/__init__.py diff --git a/utilities/doctype/trash_control/trash_control.py b/erpnext/utilities/doctype/trash_control/trash_control.py similarity index 100% rename from utilities/doctype/trash_control/trash_control.py rename to erpnext/utilities/doctype/trash_control/trash_control.py diff --git a/utilities/doctype/trash_control/trash_control.txt b/erpnext/utilities/doctype/trash_control/trash_control.txt similarity index 100% rename from utilities/doctype/trash_control/trash_control.txt rename to erpnext/utilities/doctype/trash_control/trash_control.txt diff --git a/erpnext/utilities/doctype/wn_erp_client_control/__init__.py b/erpnext/utilities/doctype/wn_erp_client_control/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/utilities/doctype/wn_erp_client_control/wn_erp_client_control.py b/erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.py similarity index 100% rename from utilities/doctype/wn_erp_client_control/wn_erp_client_control.py rename to erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.py diff --git a/utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt b/erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt similarity index 100% rename from utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt rename to erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt diff --git a/erpnext/utilities/page/__init__.py b/erpnext/utilities/page/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/erpnext/utilities/page/file_browser/__init__.py b/erpnext/utilities/page/file_browser/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/utilities/page/file_browser/file_browser.html b/erpnext/utilities/page/file_browser/file_browser.html similarity index 100% rename from utilities/page/file_browser/file_browser.html rename to erpnext/utilities/page/file_browser/file_browser.html diff --git a/utilities/page/file_browser/file_browser.js b/erpnext/utilities/page/file_browser/file_browser.js similarity index 100% rename from utilities/page/file_browser/file_browser.js rename to erpnext/utilities/page/file_browser/file_browser.js diff --git a/utilities/page/file_browser/file_browser.txt b/erpnext/utilities/page/file_browser/file_browser.txt similarity index 100% rename from utilities/page/file_browser/file_browser.txt rename to erpnext/utilities/page/file_browser/file_browser.txt diff --git a/erpnext/utilities/page/messages/__init__.py b/erpnext/utilities/page/messages/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/utilities/page/messages/messages.html b/erpnext/utilities/page/messages/messages.html similarity index 100% rename from utilities/page/messages/messages.html rename to erpnext/utilities/page/messages/messages.html diff --git a/utilities/page/messages/messages.js b/erpnext/utilities/page/messages/messages.js similarity index 99% rename from utilities/page/messages/messages.js rename to erpnext/utilities/page/messages/messages.js index 258961d50cf..43b4bd7edc7 100644 --- a/utilities/page/messages/messages.js +++ b/erpnext/utilities/page/messages/messages.js @@ -529,6 +529,8 @@ MessageThread.prototype.add_autosuggest = function() { // ---- add auto suggest ---- var opts = { script: '', json: true, maxresults: 10, timeout: 10000, delay:250, maxentries:500, cache:false}; + + wn.require('lib/js/legacy/widgets/autosuggest.js'); var as = new AutoSuggest(me.msg_parts.inputs['To'], opts); as.custom_select = function(txt, sel) { diff --git a/utilities/page/messages/messages.txt b/erpnext/utilities/page/messages/messages.txt similarity index 100% rename from utilities/page/messages/messages.txt rename to erpnext/utilities/page/messages/messages.txt diff --git a/utilities/page/messages/messages_static.html b/erpnext/utilities/page/messages/messages_static.html similarity index 100% rename from utilities/page/messages/messages_static.html rename to erpnext/utilities/page/messages/messages_static.html diff --git a/erpnext/utilities/page/trash/__init__.py b/erpnext/utilities/page/trash/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/utilities/page/trash/trash.html b/erpnext/utilities/page/trash/trash.html similarity index 100% rename from utilities/page/trash/trash.html rename to erpnext/utilities/page/trash/trash.html diff --git a/utilities/page/trash/trash.js b/erpnext/utilities/page/trash/trash.js similarity index 100% rename from utilities/page/trash/trash.js rename to erpnext/utilities/page/trash/trash.js diff --git a/utilities/page/trash/trash.txt b/erpnext/utilities/page/trash/trash.txt similarity index 100% rename from utilities/page/trash/trash.txt rename to erpnext/utilities/page/trash/trash.txt diff --git a/erpnext/utilities/page/wip_monitor/__init__.py b/erpnext/utilities/page/wip_monitor/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/utilities/page/wip_monitor/wip_monitor.html b/erpnext/utilities/page/wip_monitor/wip_monitor.html similarity index 100% rename from utilities/page/wip_monitor/wip_monitor.html rename to erpnext/utilities/page/wip_monitor/wip_monitor.html diff --git a/utilities/page/wip_monitor/wip_monitor.js b/erpnext/utilities/page/wip_monitor/wip_monitor.js similarity index 100% rename from utilities/page/wip_monitor/wip_monitor.js rename to erpnext/utilities/page/wip_monitor/wip_monitor.js diff --git a/utilities/page/wip_monitor/wip_monitor.txt b/erpnext/utilities/page/wip_monitor/wip_monitor.txt similarity index 100% rename from utilities/page/wip_monitor/wip_monitor.txt rename to erpnext/utilities/page/wip_monitor/wip_monitor.txt diff --git a/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py similarity index 100% rename from utilities/transaction_base.py rename to erpnext/utilities/transaction_base.py diff --git a/favicon.ico b/favicon.ico index 8b2106b847e..794eaaf00a9 100644 Binary files a/favicon.ico and b/favicon.ico differ diff --git a/module-icons.png b/images/module-icons.png similarity index 100% rename from module-icons.png rename to images/module-icons.png diff --git a/index.cgi b/index.cgi new file mode 100755 index 00000000000..3d61c560521 --- /dev/null +++ b/index.cgi @@ -0,0 +1,41 @@ +#!/usr/bin/python +# main handler file + +import cgi, cgitb, os, sys +cgitb.enable() + +# import libs +sys.path.append('lib/py') +sys.path.append('erpnext') + +import webnotes + +webnotes.form = cgi.FieldStorage() + +# make the form_dict +for key in webnotes.form.keys(): + webnotes.form_dict[key] = webnotes.form.getvalue(key) + +# url comes with sid, redirect to html, sid set and all +if 'sid' in webnotes.form_dict: + import webnotes.auth + import webnotes.widgets.page_body + + webnotes.auth.HTTPRequest() + + print "Content-Type: text/html" + + # print cookies, if there ar additional cookies defined during the request, add them here + if webnotes.cookies or webnotes.add_cookies: + for c in webnotes.add_cookies.keys(): + webnotes.cookies[c] = webnotes.add_cookies[c] + + print webnotes.cookies + + print + print webnotes.widgets.page_body.redirect_template % ('Redirecting...', 'index.html') + +else: + # pass on to legacy handler + import webnotes.handler + diff --git a/index.html b/index.html new file mode 100644 index 00000000000..cedc9dca0ea --- /dev/null +++ b/index.html @@ -0,0 +1,82 @@ + + + + ERPNext + + + + +
+ + +
+ + +
+ +
+
+ +
+ \ No newline at end of file diff --git a/js/app.js b/js/app.js new file mode 100644 index 00000000000..aeb10a189da --- /dev/null +++ b/js/app.js @@ -0,0 +1,21 @@ +wn.settings.no_history = true; + +wn.require('lib/js/lib/jquery.min.js'); +wn.require('lib/js/legacy/tiny_mce_33/jquery.tinymce.js'); +wn.require('lib/js/wn/ui/status_bar.js'); + +wn.sb = new wn.ui.StatusBar(); +wn.sb.set_value(15); +// for datepicker +wn.require('lib/js/legacy/jquery/jquery-ui.min.js') +wn.sb.set_value(25); + +wn.require('lib/js/legacy/wnf.compressed.js'); +wn.sb.set_value(40); + +wn.require('lib/css/legacy/default.css'); +wn.sb.set_value(70); + +$(document).bind('ready', function() { + startup(); +}); \ No newline at end of file diff --git a/master.sql.gz b/master.sql.gz deleted file mode 100644 index 3d3e220c869..00000000000 Binary files a/master.sql.gz and /dev/null differ diff --git a/setup/doctype/company/company.py b/setup/doctype/company/company.py deleted file mode 100644 index a2e333d41c3..00000000000 --- a/setup/doctype/company/company.py +++ /dev/null @@ -1,254 +0,0 @@ -# Please edit this list and import only required elements -import webnotes - -from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add -from webnotes.model import db_exists -from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType -from webnotes.model.doclist import getlist, copy_doclist -from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax -from webnotes import session, form, is_testing, msgprint, errprint - -set = webnotes.conn.set -sql = webnotes.conn.sql -get_value = webnotes.conn.get_value -in_transaction = webnotes.conn.in_transaction -convert_to_lists = webnotes.conn.convert_to_lists - -# ----------------------------------------------------------------------------------------- - - -class DocType: - def __init__(self,d,dl): - self.doc, self.doclist = d,dl - - # Create default accounts - # --------------------------------------------------- - def create_default_accounts(self): - self.fld_dict = {'account_name':0,'parent_account':1,'group_or_ledger':2,'is_pl_account':3,'account_type':4,'debit_or_credit':5,'company':6,'tax_rate':7} - acc_list_common = [['Application of Funds (Assets)','','Group','No','','Debit',self.doc.name,''], - ['Current Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], - ['Accounts Receivable','Current Assets','Group','No','','Debit',self.doc.name,''], - ['Bank Accounts','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''], - ['Cash In Hand','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''], - ['Cash','Cash In Hand','Ledger','No','Bank or Cash','Debit',self.doc.name,''], - ['Loans and Advances (Assets)','Current Assets','Group','No','','Debit',self.doc.name,''], - ['Securities and Deposits','Current Assets','Group','No','','Debit',self.doc.name,''], - ['Earnest Money','Securities and Deposits','Ledger','No','','Debit',self.doc.name,''], - ['Stock In Hand','Current Assets','Group','No','','Debit',self.doc.name,''], - ['Stock','Stock In Hand','Ledger','No','','Debit',self.doc.name,''], - ['Tax Assets','Current Assets','Group','No','','Debit',self.doc.name,''], - ['Fixed Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], - ['Capital Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], - ['Computers','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], - ['Furniture and Fixture','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], - ['Office Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], - ['Plant and Machinery','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''], - ['Investments','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], - ['Temporary Accounts (Assets)','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''], - ['Temporary Account (Assets)','Temporary Accounts (Assets)','Ledger','No','','Debit',self.doc.name,''], - ['Source of Funds (Liabilities)','','Group','No','','Credit',self.doc.name,''], - ['Capital Account','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''], - ['Reserves and Surplus','Capital Account','Group','No','','Credit',self.doc.name,''], - ['Shareholders Funds','Capital Account','Group','No','','Credit',self.doc.name,''], - ['Current Liabilities','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''], - ['Accounts Payable','Current Liabilities','Group','No','','Credit',self.doc.name,''], - ['Duties and Taxes','Current Liabilities','Group','No','','Credit',self.doc.name,''], - ['Loans (Liabilities)','Current Liabilities','Group','No','','Credit',self.doc.name,''], - ['Secured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''], - ['Unsecured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''], - ['Bank Overdraft Account','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''], - ['Temporary Accounts (Liabilities)','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''], - ['Temporary Account (Liabilities)','Temporary Accounts (Liabilities)','Ledger','No','','Credit',self.doc.name,''], - ['Income','','Group','Yes','','Credit',self.doc.name,''], - ['Direct Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''], - ['Sales','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''], - ['Service','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''], - ['Indirect Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''], - ['Expenses','','Group','Yes','Expense Account','Debit',self.doc.name,''], - ['Direct Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''], - ['Cost of Goods Sold','Direct Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Indirect Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''], - ['Advertising and Publicity','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], - ['Bad Debts Written Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Bank Charges','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Books and Periodicals','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Charity and Donations','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Commission on Sales','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Conveyance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Customer Entertainment Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Depreciation Account','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Freight and Forwarding Charges','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], - ['Legal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Miscellaneous Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], - ['Office Maintenance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Office Rent','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Postal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Print and Stationary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Rounded Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Salary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Sales Promotion Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''], - ['Service Charges Paid','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Staff Welfare Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Telephone Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Travelling Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''], - ['Water and Electricity Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''] - ] - - acc_list_india = [ - ['CENVAT Capital Goods','Tax Assets','Ledger','No','','Debit',self.doc.name,''], - ['CENVAT','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''], - ['CENVAT Service Tax','Tax Assets','Ledger','No','','Debit',self.doc.name,''], - ['CENVAT Service Tax Cess 1','Tax Assets','Ledger','No','','Debit',self.doc.name,''], - ['CENVAT Service Tax Cess 2','Tax Assets','Ledger','No','','Debit',self.doc.name,''], - ['CENVAT Edu Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''], - ['CENVAT SHE Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''], - ['Excise Duty 4','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'4.00'], - ['Excise Duty 8','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'8.00'], - ['Excise Duty 10','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'10.00'], - ['Excise Duty 14','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'14.00'], - ['Excise Duty Edu Cess 2','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'2.00'], - ['Excise Duty SHE Cess 1','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'1.00'], - ['P L A','Tax Assets','Ledger','No','','Debit',self.doc.name,''], - ['P L A - Cess Portion','Tax Assets','Ledger','No','','Debit',self.doc.name,''], - ['Edu. Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'], - ['Edu. Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'], - ['Edu. Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'], - ['Excise Duty @ 4','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'4.00'], - ['Excise Duty @ 8','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'8.00'], - ['Excise Duty @ 10','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.00'], - ['Excise Duty @ 14','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'14.00'], - ['Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.3'], - ['SHE Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'], - ['SHE Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'], - ['SHE Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'], - ['Professional Tax','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['VAT','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['TDS (Advertisement)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['TDS (Commission)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['TDS (Contractor)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['TDS (Interest)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['TDS (Rent)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''], - ['TDS (Salary)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''] - ] - # load common account heads - for d in acc_list_common: - self.add_acc(d) - - country = sql("select value from tabSingles where field = 'country' and doctype = 'Control Panel'") - country = country and cstr(country[0][0]) or '' - - # load taxes (only for India) - if country == 'India': - for d in acc_list_india: - self.add_acc(d) - - # Create account - # --------------------------------------------------- - def add_acc(self,lst): - ac = Document('Account') - for d in self.fld_dict.keys(): - ac.fields[d] = (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.doc.abbr or lst[self.fld_dict[d]] - ac.old_parent = '' - ac_obj = get_obj(doc=ac) - ac_obj.validate() - ac_obj.doc.save(1) - ac_obj.on_update() - sql("commit") - sql("start transaction") - - - # Set letter head - # --------------------------------------------------- - def set_letter_head(self): - if not self.doc.letter_head: - if self.doc.address: - header = """ -

%(comp)s

%(add)s
- - """ % {'comp':self.doc.name, - 'add':self.doc.address.replace("\n",'
')} - - self.doc.letter_head = header - - # Set default AR and AP group - # --------------------------------------------------- - def set_default_groups(self): - if not self.doc.receivables_group: - set(self.doc, 'receivables_group', 'Accounts Receivable - '+self.doc.abbr) - if not self.doc.payables_group: - set(self.doc, 'payables_group', 'Accounts Payable - '+self.doc.abbr) - - - # Create default cost center - # --------------------------------------------------- - def create_default_cost_center(self): - glc = get_obj('GL Control') - cc_list = [{'cost_center_name':'Root','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Group','parent_cost_center':'','old_parent':''}, {'cost_center_name':'Default CC Ledger','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Ledger','parent_cost_center':'Root - ' + self.doc.abbr,'old_parent':''}] - for c in cc_list: - glc.add_cc(str(c)) - - - # On update - # --------------------------------------------------- - def on_update(self): - self.set_letter_head() - ac = sql("select name from tabAccount where account_name='Income' and company=%s", self.doc.name) - if not ac: - self.create_default_accounts() - self.set_default_groups() - cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name)) - if not cc: - self.create_default_cost_center() - - # Trash accounts and cost centers for this company - # --------------------------------------------------- - #def on_trash1(self): - # acc = sql("select name from tabAccount where company = '%s' and docstatus != 2 order by lft desc, rgt desc limit 2" % self.doc.name, debug=1) - # for each in acc: - # get_obj('Account', each[0]).on_trash() - - # cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus != 2" % self.doc.name) - # for each in cc: - # get_obj('Cost Center', each[0]).on_trash() - - # msgprint("Company trashed. All the accounts and cost centers related to this company also trashed. You can restore it anytime from Setup -> Manage Trash") - - def on_trash(self): - rec = sql("SELECT sum(ab.opening), sum(ab.balance), sum(ab.debit), sum(ab.credit) FROM `tabAccount Balance` ab, `tabAccount` a WHERE ab.account = a.name and a.company = %s", self.doc.name) - if rec[0][0] == 0 and rec[0][1] == 0 and rec[0][2] == 0 and rec[0][3] == 0: - #delete tabAccount Balance - sql("delete ab.* from `tabAccount Balance` ab, `tabAccount` a where ab.account = a.name and a.company = %s", self.doc.name) - #delete tabAccount - sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name) - - #delete cost center child table - budget detail - sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name) - #delete cost center - sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name) - - #update value as blank for tabDefaultValue defkey=company - sql("update `tabDefaultValue` set defvalue = '' where defkey='company' and defvalue = %s", self.doc.name) - - #update value as blank for tabSingles Manage Account - sql("update `tabSingles` set value = '' where doctype='Manage Account' and field = 'default_company' and value = %s", self.doc.name) - - # Restore accounts and cost centers for this company - # --------------------------------------------------- - def on_restore(self): - acc = sql("select name from tabAccount where company = '%s' and docstatus = 2" % self.doc.name) - for each in acc: - get_obj('Account', each[0]).on_restore() - - cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus = 2" % self.doc.name) - for each in cc: - get_obj('Cost Center', each[0]).on_restore() - - msgprint("Company restored. All the accounts and cost centers related to this company also restored.") - - # on rename - # --------- - def on_rename(self,newdn,olddn): - sql("update `tabCompany` set company_name = '%s' where name = '%s'" %(newdn,olddn)) - sql("update `tabSingles` set value = %s where doctype='Manage Account' and field = 'default_company' and value = %s", (newdn, olddn)) - if get_defaults('company') == olddn: - set_default('company', newdn) diff --git a/startup/__init__.py b/startup/__init__.py deleted file mode 100644 index 5fd6ccd7d76..00000000000 --- a/startup/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -# add startup propertes - -add_in_head = """ - -""" \ No newline at end of file diff --git a/stock/Module Def/Stock/Stock.txt b/stock/Module Def/Stock/Stock.txt deleted file mode 100644 index eae0a2e84cf..00000000000 --- a/stock/Module Def/Stock/Stock.txt +++ /dev/null @@ -1,421 +0,0 @@ -[ - { - '_last_update': None, - 'creation': '2011-06-30 15:49:38', - 'disabled': 'No', - 'docstatus': 0, - 'doctype': u'Module Def', - 'doctype_list': 'DocType Label, QA Inspection Report', - 'file_list': None, - 'idx': None, - 'is_hidden': 'No', - 'last_updated_date': None, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'module_desc': 'Material Management', - 'module_icon': 'Stock.gif', - 'module_label': 'Stock', - 'module_name': 'Stock', - 'module_page': None, - 'module_seq': 7, - 'name': 'Stock', - 'owner': 'Administrator', - 'parent': None, - 'parentfield': None, - 'parenttype': None, - 'trash_reason': None, - 'widget_code': None - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Item master', - 'display_name': 'Item', - 'doc_name': 'Item', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'name\nitem_group\ndescription', - 'hide': None, - 'icon': None, - 'idx': 1, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01321', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Record of items added, removed or moved from one warehouse to another.', - 'display_name': 'Stock Entry', - 'doc_name': 'Stock Entry', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'transfer_date\npurpose\nfrom_warehouse\nto_warehouse\nremarks', - 'hide': None, - 'icon': None, - 'idx': 2, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01322', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Record of items delivered to your customers along with the Printed Note', - 'display_name': 'Delivery Note', - 'doc_name': 'Delivery Note', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'status\ntransaction_date\ncustomer\nterritory\ngrand_total\nper_billed', - 'hide': None, - 'icon': None, - 'idx': 3, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01323', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Record of incoming material from your suppliers', - 'display_name': 'Purchase Receipt', - 'doc_name': 'Purchase Receipt', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'status\ntransaction_date\nsupplier\ngrand_total\nper_billed', - 'hide': None, - 'icon': None, - 'idx': 4, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01324', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Details of Installation done after delivery', - 'display_name': 'Installation Note', - 'doc_name': 'Installation Note', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 5, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01325', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Create Quality Inspection Report for any item', - 'display_name': 'Inspection Report', - 'doc_name': 'QA Inspection Report', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'inspection_type\nitem_code\nreport_date\npurchase_receipt_no\ndelivery_note_no', - 'hide': None, - 'icon': None, - 'idx': 6, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01326', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Reconcile your stock by uploading it form an excel file', - 'display_name': 'Stock Reconciliation', - 'doc_name': 'Stock Reconciliation', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'reconciliation_date\nreconciliation_time\nremark', - 'hide': None, - 'icon': None, - 'idx': 7, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01327', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'This utility tool will update Stock UOM in Item and will respectively update Actual Qty in Stock Ledger as per Conversion Factor.', - 'display_name': 'Stock UOM Replace Utility', - 'doc_name': 'Stock UOM Replace Utility', - 'doc_type': 'Single DocType', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 8, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01328', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'This utility will help in tracking stock for Sales Return and Purchase Return.', - 'display_name': 'Sales and Purchase Return Wizard', - 'doc_name': 'Sales and Purchase Return Wizard', - 'doc_type': 'Single DocType', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 9, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01329', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 18:57:58', - 'description': 'You can create master template for landed cost wizard', - 'display_name': 'Landed Cost Master', - 'doc_name': 'Landed Cost Master', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': 'accept.gif', - 'idx': 10, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01372', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 18:57:58', - 'description': 'Add extra expenses into Purchase Receipt which should be consider for item valuation. The cost will be added proportionately as per purchase receipt value.', - 'display_name': 'Landed Cost Wizard', - 'doc_name': 'Landed Cost Wizard', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': 'accept.gif', - 'idx': 11, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01371', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': None, - 'display_name': 'Stock Ledger', - 'doc_name': 'Stock Ledger Entry', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 12, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01330', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': None, - 'display_name': 'Stock Level', - 'doc_name': 'Bin', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 13, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01331', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': None, - 'display_name': 'Shortage To Indent', - 'doc_name': 'Item', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 14, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01332', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': 'Stock Value as per Item and Warehouse', - 'display_name': 'Stock Report', - 'doc_name': 'Stock Ledger Entry', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 15, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01333', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:49:38', - 'description': None, - 'display_name': 'Stock Aging Report', - 'doc_name': 'Serial No', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 16, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDI01334', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'creation': '2011-06-30 15:49:38', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 1, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDR00336', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Material User' - }, - { - 'creation': '2011-06-30 15:49:38', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 2, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDR00337', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Material Master Manager' - }, - { - 'creation': '2011-06-30 15:49:38', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 3, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDR00338', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Material Manager' - }, - { - 'creation': '2011-06-30 15:49:38', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 4, - 'modified': '2011-07-01 09:36:22', - 'modified_by': 'Administrator', - 'name': 'MDR00339', - 'owner': 'Administrator', - 'parent': 'Stock', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Quality Manager' - } -] \ No newline at end of file diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py deleted file mode 100644 index 6d48914429c..00000000000 --- a/stock/doctype/delivery_note/delivery_note.py +++ /dev/null @@ -1,481 +0,0 @@ -# Please edit this list and import only required elements -import webnotes - -from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add -from webnotes.model import db_exists -from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType -from webnotes.model.doclist import getlist, copy_doclist -from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax -from webnotes import session, form, is_testing, msgprint, errprint - -set = webnotes.conn.set -sql = webnotes.conn.sql -get_value = webnotes.conn.get_value -in_transaction = webnotes.conn.in_transaction -convert_to_lists = webnotes.conn.convert_to_lists - -# ----------------------------------------------------------------------------------------- - -from utilities.transaction_base import TransactionBase - -class DocType(TransactionBase): - def __init__(self, doc, doclist=[]): - self.doc = doc - self.doclist = doclist - self.tname = 'Delivery Note Detail' - self.fname = 'delivery_note_details' - - # Notification objects - self.notify_obj = get_obj('Notification Control') - - # Autoname - # --------- - def autoname(self): - self.doc.name = make_autoname(self.doc.naming_series+'.#####') - - -# DOCTYPE TRIGGERS FUNCTIONS -# ============================================================================== -#************Fiscal Year Validation***************************** - def validate_fiscal_year(self): - get_obj('Sales Common').validate_fiscal_year(self.doc.fiscal_year,self.doc.posting_date,'Posting Date') - - - # ****** Get contact person details based on customer selected **** - def get_contact_details(self): - return get_obj('Sales Common').get_contact_details(self,0) - - # *********** Get Commission rate of Sales Partner **************** - def get_comm_rate(self, sales_partner): - return get_obj('Sales Common').get_comm_rate(sales_partner, self) - - # *************** Pull Sales Order Details ************************ - def pull_sales_order_details(self): - self.validate_prev_docname() - self.doc.clear_table(self.doclist,'other_charges') - - if self.doc.sales_order_no: - get_obj('DocType Mapper', 'Sales Order-Delivery Note').dt_map('Sales Order', 'Delivery Note', self.doc.sales_order_no, self.doc, self.doclist, "[['Sales Order', 'Delivery Note'],['Sales Order Detail', 'Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]") - else: - msgprint("Please select Sales Order No. whose details need to be pulled") - - return cstr(self.doc.sales_order_no) - - - - #-------------------set item details -uom and item group---------------- - def set_item_details(self): - for d in getlist(self.doclist,'delivery_note_details'): - res = sql("select stock_uom, item_group from `tabItem` where name ='%s'"%d.item_code) - if not d.stock_uom: d.stock_uom = res and cstr(res[0][0]) or '' - if not d.item_group: d.item_group = res and cstr(res[0][1]) or '' - d.save() - - # ::::: Validates that Sales Order is not pulled twice ::::::: - def validate_prev_docname(self): - for d in getlist(self.doclist, 'delivery_note_details'): - if self.doc.sales_order_no == d.prevdoc_docname: - msgprint(cstr(self.doc.sales_order_no) + " sales order details have already been pulled. ") - raise Exception, "Validation Error. " - - #Set Actual Qty based on item code and warehouse - #------------------------------------------------------ - def set_actual_qty(self): - for d in getlist(self.doclist, 'delivery_note_details'): - if d.item_code and d.warehouse: - actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code, d.warehouse)) - d.actual_qty = actual_qty and flt(actual_qty[0][0]) or 0 - - - # GET TERMS & CONDITIONS - # ------------------------------------- - def get_tc_details(self): - return get_obj('Sales Common').get_tc_details(self) - - #pull project customer - #------------------------- - def pull_project_customer(self): - res = sql("select customer from `tabProject` where name = '%s'"%self.doc.project_name) - if res: - get_obj('DocType Mapper', 'Project-Delivery Note').dt_map('Project', 'Delivery Note', self.doc.project_name, self.doc, self.doclist, "[['Project', 'Delivery Note']]") - -# DELIVERY NOTE DETAILS TRIGGER FUNCTIONS -# ================================================================================ - - # ***************** Get Item Details ****************************** - def get_item_details(self, item_code): - return get_obj('Sales Common').get_item_details(item_code, self) - - # *** Re-calculates Basic Rate & amount based on Price List Selected *** - def get_adj_percent(self, arg=''): - get_obj('Sales Common').get_adj_percent(self) - - # ********** Get Actual Qty of item in warehouse selected ************* - def get_actual_qty(self,args): - args = eval(args) - actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (args['item_code'], args['warehouse']), as_dict=1) - ret = { - 'actual_qty' : actual_qty and flt(actual_qty[0]['actual_qty']) or 0 - } - return ret - - -# OTHER CHARGES TRIGGER FUNCTIONS -# ==================================================================================== - - # *********** Get Tax rate if account type is TAX ******************** - def get_rate(self,arg): - return get_obj('Sales Common').get_rate(arg) - - # Load Default Charges - # ---------------------------------------------------------- - def load_default_taxes(self): - return get_obj('Sales Common').load_default_taxes(self) - - - # **** Pull details from other charges master (Get Other Charges) **** - def get_other_charges(self): - return get_obj('Sales Common').get_other_charges(self) - - - #check in manage account if sales order required or not. - # ==================================================================================== - def so_required(self): - res = sql("select value from `tabSingles` where doctype = 'Manage Account' and field = 'so_required'") - if res and res[0][0] == 'Yes': - for d in getlist(self.doclist,'delivery_note_details'): - if not d.prevdoc_docname: - msgprint("Sales Order No. required against item %s"%d.item_code) - raise Exception - - - -# VALIDATE -# ==================================================================================== - def validate(self): - self.so_required() - self.validate_fiscal_year() - self.validate_proj_cust() - sales_com_obj = get_obj(dt = 'Sales Common') - sales_com_obj.check_stop_sales_order(self) - sales_com_obj.check_active_sales_items(self) - sales_com_obj.get_prevdoc_date(self) - self.validate_mandatory() - #self.validate_prevdoc_details() - self.validate_reference_value() - self.validate_for_items() - sales_com_obj.make_packing_list(self,'delivery_note_details') - get_obj('Stock Ledger').validate_serial_no(self, 'packing_details') - sales_com_obj.validate_max_discount(self, 'delivery_note_details') #verify whether rate is not greater than max discount - sales_com_obj.get_allocated_sum(self) # this is to verify that the allocated % of sales persons is 100% - sales_com_obj.check_conversion_rate(self) - # ::::::: Get total in Words :::::::: - dcc = TransactionBase().get_company_currency(self.doc.company) - self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total) - self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export) - - # ::::::: Set Net Weight of each Packing - self.update_pack_nett_weight() - self.print_packing_slip() - # ::::::: Set actual qty for each item in selected warehouse ::::::: - self.update_current_stock() - # :::::: set DN status ::::::: - - self.doc.status = 'Draft' - if not self.doc.billing_status: self.doc.billing_status = 'Not Billed' - if not self.doc.installation_status: self.doc.installation_status = 'Not Installed' - - # ************** Validate Mandatory ************************* - def validate_mandatory(self): - # :::::::::: Amendment Date :::::::::::::: - if self.doc.amended_from and not self.doc.amendment_date: - msgprint("Please Enter Amendment Date") - raise Exception, "Validation Error. " - - #check for does customer belong to same project as entered.. - #------------------------------------------------------------------------------------------------- - def validate_proj_cust(self): - if self.doc.project_name and self.doc.customer: - res = sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer)) - if not res: - msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name)) - raise Exception - - # Validate values with reference document - #---------------------------------------- - def validate_reference_value(self): - get_obj('DocType Mapper', 'Sales Order-Delivery Note', with_children = 1).validate_reference_value(self, self.doc.name) - - - # ******* Validate Previous Document Details ************ - def validate_prevdoc_details(self): - for d in getlist(self.doclist,'delivery_note_details'): - - prevdoc = d.prevdoc_doctype - prevdoc_docname = d.prevdoc_docname - - if prevdoc_docname and prevdoc: - # ::::::::::: Validates Transaction Date of DN and previous doc (i.e. SO , PO, PR) ********* - trans_date = sql("select transaction_date from `tab%s` where name = '%s'" %(prevdoc,prevdoc_docname))[0][0] - if trans_date and getdate(self.doc.transaction_date) < (trans_date): - msgprint("Your Voucher Date cannot be before "+cstr(prevdoc)+" Date.") - raise Exception - # ::::::::: Validates DN and previous doc details :::::::::::::::::: - get_name = sql("select name from `tab%s` where name = '%s'" % (prevdoc, prevdoc_docname)) - name = get_name and get_name[0][0] or '' - if name: #check for incorrect docname - if prevdoc == 'Sales Order': - dt = sql("select company, docstatus, customer, currency, sales_partner from `tab%s` where name = '%s'" % (prevdoc, name)) - cust_name = dt and dt[0][2] or '' - if cust_name != self.doc.customer: - msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " customer :" + cstr(cust_name) + " does not match with customer : " + cstr(self.doc.customer) + " of current document.") - raise Exception, "Validation Error. " - sal_partner = dt and dt[0][4] or '' - if sal_partner != self.doc.sales_partner: - msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " sales partner name :" + cstr(sal_partner) + " does not match with sales partner name : " + cstr(self.doc.sales_partner_name) + " of current document.") - raise Exception, "Validation Error. " - else: - dt = sql("select company, docstatus, supplier, currency from `tab%s` where name = '%s'" % (prevdoc, name)) - supp_name = dt and dt[0][2] or '' - company_name = dt and dt[0][0] or '' - docstatus = dt and dt[0][1] or 0 - currency = dt and dt[0][3] or '' - if (currency != self.doc.currency): - msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " currency : "+ cstr(currency) + "does not match with Currency: " + cstr(self.doc.currency) + "of current document") - raise Exception, "Validation Error." - if (company_name != self.doc.company): - msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " does not belong to the Company: " + cstr(self.doc.company_name)) - raise Exception, "Validation Error." - if (docstatus != 1): - msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not Submitted Document.") - raise Exception, "Validation Error." - else: - msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not a valid " + cstr(prevdoc)) - raise Exception, "Validation Error." - - - # ******************** Validate Items ************************** - def validate_for_items(self): - check_list, chk_dupl_itm = [], [] - for d in getlist(self.doclist,'delivery_note_details'): - ch = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) - if d.prevdoc_doctype and d.prevdoc_detail_docname and ch and ch[0][0]=='Yes': - self.validate_items_with_prevdoc(d) - - # validates whether item is not entered twice - e = [d.item_code, d.description, d.warehouse, d.prevdoc_docname or '', d.batch_no or ''] - f = [d.item_code, d.description, d.prevdoc_docname or ''] - - if ch and ch[0][0] == 'Yes': - if e in check_list: - msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code) - else: - check_list.append(e) - elif ch and ch[0][0] == 'No': - if f in chk_dupl_itm: - msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code) - else: - chk_dupl_itm.append(f) - - - # check if same item, warehouse present in prevdoc - # ------------------------------------------------------------------ - def validate_items_with_prevdoc(self, d): - if d.prevdoc_doctype == 'Sales Order': - data = sql("select item_code, reserved_warehouse from `tabSales Order Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname)) - if d.prevdoc_doctype == 'Purchase Receipt': - data = sql("select item_code, rejected_warehouse from `tabPurchase Receipt Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname)) - if not data or data[0][0] != d.item_code or data[0][1] != d.warehouse: - msgprint("Item: %s / Warehouse: %s is not matching with Sales Order: %s. Sales Order might be modified after fetching data from it. Please delete items and fetch again." % (d.item_code, d.warehouse, d.prevdoc_docname)) - raise Exception - - - # ********* UPDATE CURRENT STOCK ***************************** - def update_current_stock(self): - for d in getlist(self.doclist, 'delivery_note_details'): - bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) - d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 - - for d in getlist(self.doclist, 'packing_details'): - bin = sql("select actual_qty, projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) - d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 - d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0 - - -# ON SUBMIT -# ================================================================================================= - def on_submit(self): - set(self.doc, 'message', 'Items against your Order #%s have been delivered. Delivery #%s: ' % (self.doc.po_no, self.doc.name)) - self.check_qty_in_stock() - # Check for Approving Authority - get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self) - sl_obj = get_obj("Stock Ledger") - sl_obj.validate_serial_no_warehouse(self, 'packing_details') - sl_obj.update_serial_record(self, 'packing_details', is_submit = 1, is_incoming = 0) - get_obj("Sales Common").update_prevdoc_detail(1,self) - self.update_stock_ledger(update_stock = 1) - - #------------Check Credit Limit--------------------- - self.credit_limit() - - # set DN status - set(self.doc, 'status', 'Submitted') - - # on submit notification - self.notify_obj.notify_contact('Delivery Note',self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person) - - - # *********** Checks whether actual quantity is present in warehouse ************* - def check_qty_in_stock(self): - for d in getlist(self.doclist, 'packing_details'): - is_stock_item = sql("select is_stock_item from `tabItem` where name = '%s'" % d.item_code)[0][0] - if is_stock_item == 'Yes' and d.warehouse and flt(d.qty) > flt(d.actual_qty): - msgprint("For Item: " + cstr(d.item_code) + " at Warehouse: " + cstr(d.warehouse) + " Quantity: " + cstr(d.qty) +" is not Available. (Must be less than or equal to " + cstr(d.actual_qty) + " )") - raise Exception, "Validation Error" - - - -# ON CANCEL -# ================================================================================================= - def on_cancel(self): - sales_com_obj = get_obj(dt = 'Sales Common') - sales_com_obj.check_stop_sales_order(self) - self.check_next_docstatus() - get_obj('Stock Ledger').update_serial_record(self, 'packing_details', is_submit = 0, is_incoming = 0) - sales_com_obj.update_prevdoc_detail(0,self) - self.update_stock_ledger(update_stock = -1) - # :::::: set DN status ::::::: - set(self.doc, 'status', 'Cancelled') - - - # ******************** Check Next DocStatus ************************** - def check_next_docstatus(self): - submit_rv = sql("select t1.name from `tabReceivable Voucher` t1,`tabRV Detail` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name)) - if submit_rv: - msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted !") - raise Exception , "Validation Error." - - submit_in = sql("select t1.name from `tabInstallation Note` t1, `tabInstalled Item Details` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) - if submit_in: - msgprint("Installation Note : "+cstr(submit_in[0][0]) +" has already been submitted !") - raise Exception , "Validation Error." - - -# UPDATE STOCK LEDGER -# ================================================================================================= - def update_stock_ledger(self, update_stock, is_stopped = 0): - self.values = [] - for d in self.get_item_list(is_stopped): - stock_item = sql("SELECT is_stock_item, is_sample_item FROM tabItem where name = '%s'"%(d[1]), as_dict = 1) # stock ledger will be updated only if it is a stock item - if stock_item[0]['is_stock_item'] == "Yes": - if not d[0]: - msgprint("Message: Please enter Warehouse for item %s as it is stock item."% d[1]) - raise Exception - # if prevdoc_doctype = "Sales Order" - if d[3] < 0 : - # Reduce Reserved Qty from warehouse - bin = get_obj('Warehouse', d[0]).update_bin(0, flt(update_stock) * flt(d[3]), 0, 0, 0, d[1], self.doc.transaction_date) - - # Reduce actual qty from warehouse - self.make_sl_entry(d, d[0], - flt(d[2]) , 0, update_stock) - get_obj('Stock Ledger', 'Stock Ledger').update_stock(self.values) - - - # ***************** Gets Items from packing list ***************** - def get_item_list(self, is_stopped): - return get_obj('Sales Common').get_item_list(self, is_stopped) - - - # ********************** Make Stock Entry ************************************ - def make_sl_entry(self, d, wh, qty, in_value, update_stock): - self.values.append({ - 'item_code' : d[1], - 'warehouse' : wh, - 'transaction_date' : self.doc.transaction_date, - 'posting_date' : self.doc.posting_date, - 'posting_time' : self.doc.posting_time, - 'voucher_type' : 'Delivery Note', - 'voucher_no' : self.doc.name, - 'voucher_detail_no' : '', - 'actual_qty' : qty, - 'stock_uom' : d[4], - 'incoming_rate' : in_value, - 'company' : self.doc.company, - 'fiscal_year' : self.doc.fiscal_year, - 'is_cancelled' : (update_stock==1) and 'No' or 'Yes', - 'batch_no' : d[5], - 'serial_no' : d[6] - }) - - - # SEND SMS - # ============================================================================================ - def send_sms(self): - if not self.doc.customer_mobile_no: - msgprint("Please enter customer mobile no") - elif not self.doc.message: - msgprint("Please enter the message you want to send") - else: - msgprint(get_obj("SMS Control", "SMS Control").send_sms([self.doc.customer_mobile_no,], self.doc.message)) - - -#------------ check credit limit of items in DN Detail which are not fetched from sales order---------- - def credit_limit(self): - amount, total = 0, 0 - for d in getlist(self.doclist, 'delivery_note_details'): - if not d.prevdoc_docname: - amount += d.amount - if amount != 0: - total = (amount/self.doc.net_total)*self.doc.grand_total - get_obj('Sales Common').check_credit(self, total) - - # on update - def on_update(self): - self.set_actual_qty() - get_obj('Stock Ledger').scrub_serial_nos(self) - - # Repair Delivery Note - # =========================================== - def repair_delivery_note(self): - get_obj('Sales Common', 'Sales Common').repair_curr_doctype_details(self) - - # Packing Slip Related - # ========================================== - def update_pack_nett_weight(self): - for d in getlist(self.doclist, 'delivery_note_details'): - if d.item_code: - item_wt = sql("select nett_weight from `tabItem` where name = %s", (d.item_code)) - d.pack_nett_wt = item_wt and flt(item_wt[0][0])*flt(d.qty) or 0 - - # ========================================== - def print_packing_slip(self): - prev_pack='0' - sno=0 - html='' - tot_nett_wt,tot_gross_wt=0,0 - for d in getlist(self.doclist, 'delivery_note_details'): - sno=sno+1 - if sno!=1:#Footer goes here - html+='
CASE NO'+cstr(d.pack_no)+'NETT WT'+cstr(tot_nett_wt)+'CHECKED BY
SIZEGROSS WT'+cstr(tot_gross_wt)+'PACKED BY
' - if prev_pack!=d.pack_no: #Prepare Header Here - #Header code goes here - html+='
[HEADER GOES HERE]

Packing Slip

Order No.'+cstr(self.doc.sales_order_no)+'Shipping Marks'+cstr(d.pack_no)+'
' - html+='' - sno=0 - tot_nett_wt,to_gross_wt=flt(d.pack_nett_wt),flt(d.pack_gross_wt) - #Body code goes here - html+='' - prev_pack=d.pack_no - tot_nett_wt+=flt(d.pack_nett_wt) - tot_gross_wt+=flt(d.pack_gross_wt) - html+='' - self.doc.print_packing_slip=html - - - - - - - - - diff --git a/support/Module Def/Support/Support.txt b/support/Module Def/Support/Support.txt deleted file mode 100644 index 9b395727560..00000000000 --- a/support/Module Def/Support/Support.txt +++ /dev/null @@ -1,281 +0,0 @@ -[ - { - '_last_update': None, - 'creation': '2011-06-30 15:51:59', - 'disabled': 'No', - 'docstatus': 0, - 'doctype': u'Module Def', - 'doctype_list': 'DocType Label, Ticket', - 'file_list': None, - 'idx': None, - 'is_hidden': 'No', - 'last_updated_date': None, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'module_desc': 'Manage maintenance quotes, orders, schedule etc.', - 'module_icon': 'Maintenance.gif', - 'module_label': 'Support', - 'module_name': 'Support', - 'module_page': None, - 'module_seq': 8, - 'name': 'Support', - 'owner': 'Administrator', - 'parent': None, - 'parentfield': None, - 'parenttype': None, - 'trash_reason': None, - 'widget_code': None - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': 'A unique number identifying each entity of an item', - 'display_name': 'Serial No', - 'doc_name': 'Serial No', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'item_code\nstatus\npr_no\ndelivery_note_no\ncustomer', - 'hide': None, - 'icon': None, - 'idx': 1, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01361', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': "Database of Support Ticket's raised by Customers", - 'display_name': 'Support Ticket', - 'doc_name': 'Support Ticket', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'status\nopening_date\ncustomer\nallocated_to', - 'hide': None, - 'icon': None, - 'idx': 2, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01362', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': 'Create schedule based on maintenance order', - 'display_name': 'Maintenance Schedule', - 'doc_name': 'Maintenance Schedule', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'status\ntransaction_date\ncustomer\nsales_order_no', - 'hide': None, - 'icon': None, - 'idx': 3, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01363', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': 'Database of issues raised your Customers', - 'display_name': 'Customer Issue', - 'doc_name': 'Customer Issue', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'status\ncomplaint_date\ncustomer\nallocated_to\nallocated_on', - 'hide': None, - 'icon': None, - 'idx': 4, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01364', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': None, - 'display_name': 'Maintenance Visit', - 'doc_name': 'Maintenance Visit', - 'doc_type': 'Forms', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': 'status\nmntc_date\ncustomer\nmaintenance_type\ncompletion_status', - 'hide': None, - 'icon': None, - 'idx': 5, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01365', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': 'List of all scheduled mainteance. You can filter by sales person, date, serial no etc. ', - 'display_name': 'Maintenance Schedule Details', - 'doc_name': 'Maintenance Schedule Detail', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 6, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01366', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': 'List of all issues raised by customer', - 'display_name': 'Customer Issues', - 'doc_name': 'Customer Issue', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 7, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01367', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': None, - 'display_name': 'Warranty/AMC Expiry Details', - 'doc_name': 'Serial No', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 8, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01368', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': None, - 'display_name': 'Warranty/AMC Summary', - 'doc_name': 'Serial No', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 9, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01369', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'click_function': None, - 'creation': '2011-06-30 15:51:59', - 'description': None, - 'display_name': 'Maintenance Orderwise Pending Amount To Bill', - 'doc_name': 'Sales Order Detail', - 'doc_type': 'Reports', - 'docstatus': 0, - 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 10, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDI01370', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'items', - 'parenttype': 'Module Def' - }, - { - 'creation': '2011-06-30 15:51:59', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 1, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDR00342', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Administrator' - }, - { - 'creation': '2011-06-30 15:51:59', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 2, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDR00343', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Maintenance User' - }, - { - 'creation': '2011-06-30 15:51:59', - 'docstatus': 0, - 'doctype': 'Module Def Role', - 'idx': 3, - 'modified': '2011-07-01 09:36:38', - 'modified_by': 'Administrator', - 'name': 'MDR00344', - 'owner': 'Administrator', - 'parent': 'Support', - 'parentfield': 'roles', - 'parenttype': 'Module Def', - 'role': 'Maintenance Manager' - } -] \ No newline at end of file diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 00000000000..5a4f9b6c477 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,21 @@ + + + + ERPNext + + + + +
+ + +
+ + +
+ {{ content }} +
+
+ +
+ \ No newline at end of file diff --git a/todo.md b/todo.md new file mode 100644 index 00000000000..9e2c9065e62 --- /dev/null +++ b/todo.md @@ -0,0 +1,18 @@ +x icons - msgprint / toolbar +x history integration +x loading bar +x blank.html issues +x double (init) loading issue +x redirect (sid) issue +x new buttons +x tinymce issues +x breakup - form +x breakup - report + +- menus & integration with feature settings + +- release + +- use wn.require to load forms, reports +- use wn.xmlhttp +- try and breakup wnframework \ No newline at end of file diff --git a/versions-master.db b/versions-master.db new file mode 100644 index 00000000000..3ffd0929f5e Binary files /dev/null and b/versions-master.db differ
S.NO.QUANTITYCS.NO.DESCRIPTIONWEIGHT
'+cstr(sno+1)+''+cstr(d.qty)+''+d.item_code+''+cstr(d.pack_nett_wt)+'