Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
index e773a95..14a53c4 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
@@ -33,7 +33,7 @@
'load_default_accounts','',
function(r,rt) {
refresh_field('entries');
- refresh_field('debit_to');
+ cur_frm.cscript.customer(doc,dt,dn);
}
);
}
diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
index f26374a..dba08fe 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
@@ -139,7 +139,6 @@
Loads default accounts from items, customer when called from mapper
"""
self.get_income_account('entries')
- self.doc.debit_to = self.get_customer_account()
def get_income_account(self,doctype):
for d in getlist(self.doclist, doctype):
diff --git a/erpnext/home/doctype/widget_control/widget_control.py b/erpnext/home/doctype/widget_control/widget_control.py
index fa41cc9..d6bb9d1 100644
--- a/erpnext/home/doctype/widget_control/widget_control.py
+++ b/erpnext/home/doctype/widget_control/widget_control.py
@@ -27,11 +27,6 @@
cmt.comment_date = nowdate()
cmt.comment_time = time.strftime('%H:%M')
cmt.save(1)
-
- try:
- get_obj('Feed Control').upate_comment_in_feed(args['comment_doctype'], args['comment_docname'])
- except:
- pass
else:
raise Exception
@@ -39,7 +34,3 @@
def remove_comment(self, args):
args = json.loads(args)
sql("delete from `tabComment Widget Record` where name=%s",args['id'])
-
- try:
- get_obj('Feed Control').upate_comment_in_feed(args['dt'], args['dn'])
- except: pass
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 01ff32d..ba602cf 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -46,7 +46,7 @@
# 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/erpnext/hr/doctype/it_checklist/it_checklist.py b/erpnext/hr/doctype/it_checklist/it_checklist.py
index abed301..182e171 100644
--- a/erpnext/hr/doctype/it_checklist/it_checklist.py
+++ b/erpnext/hr/doctype/it_checklist/it_checklist.py
@@ -411,9 +411,3 @@
new_tot_income = cint(self.doc.tax_tot_income) + cint(self.doc.edu_cess) - (cint(ret_income_tax[0][0]) or 0)
self.doc.tax_per_month = new_tot_income/cint(self.doc.rem_months)
-
- # on update
- def on_update(self):
- obj = get_obj('Feed Control', 'Feed Control')
-
- obj.make_feed(self.doc)
\ No newline at end of file
diff --git a/erpnext/patches/patch.py b/erpnext/patches/patch.py
index e930c2e..f78736b 100644
--- a/erpnext/patches/patch.py
+++ b/erpnext/patches/patch.py
@@ -1,7 +1,7 @@
# REMEMBER to update this
# ========================
-last_patch = 366
+last_patch = 367
#-------------------------------------------
@@ -346,3 +346,6 @@
bobj = get_obj('Bin',b[0])
prev_sle = bobj.get_prev_sle(posting_date = '2011-09-15', posting_time = '01:00')
bobj.update_item_valuation(posting_date = '2011-09-15', posting_time = '01:00', prev_sle = prev_sle)
+ elif patch_no == 367:
+ sql("update tabDocPerm set amend = 0 where parent = 'Salary Structure'")
+ sql("update tabDocPerm set cancel = 1 where parent = 'Company' and role = 'System Manager'")
diff --git a/erpnext/selling/doctype/enquiry/enquiry.py b/erpnext/selling/doctype/enquiry/enquiry.py
index 1259702..773bedf 100644
--- a/erpnext/selling/doctype/enquiry/enquiry.py
+++ b/erpnext/selling/doctype/enquiry/enquiry.py
@@ -115,26 +115,17 @@
ch = addchild(ev, 'event_individuals', 'Event User', 0)
ch.person = d
ch.save(1)
-
- #user_list = ['Sales Manager', 'Sales User']
- #for d in user_list:
- # ch = addchild(ev, 'event_individuals', 'Event User', 0)
- # ch.person = d
- # ch.save()
+
#--------------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
# ====================================================================================================================
@@ -171,8 +162,6 @@
raise Exception
else:
set(self.doc, 'status', 'Cancelled')
-
- get_obj('Feed Control').make_feed(self.doc, 'cancelled')
# declare as enquiry lost
#---------------------------
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index a2e333d..45b4973 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -200,24 +200,20 @@
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:
+ """
+ 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)
@@ -232,18 +228,6 @@
#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
# ---------