Merge pull request #1170 from akhileshdarjee/master
[fix] [minor] rename fix for customer and supplier
This commit is contained in:
commit
2e66a842bb
@ -85,7 +85,7 @@ class AccountsReceivableReport(object):
|
|||||||
def get_account_map(self):
|
def get_account_map(self):
|
||||||
if not hasattr(self, "account_map"):
|
if not hasattr(self, "account_map"):
|
||||||
self.account_map = dict(((r.name, r) for r in webnotes.conn.sql("""select
|
self.account_map = dict(((r.name, r) for r in webnotes.conn.sql("""select
|
||||||
account.name, customer.customer_name, customer.territory
|
account.name, customer.name as customer_name, customer.territory
|
||||||
from `tabAccount` account, `tabCustomer` customer
|
from `tabAccount` account, `tabCustomer` customer
|
||||||
where account.master_type="Customer"
|
where account.master_type="Customer"
|
||||||
and customer.name=account.master_name""", as_dict=True)))
|
and customer.name=account.master_name""", as_dict=True)))
|
||||||
|
@ -27,6 +27,14 @@ class DocType(TransactionBase):
|
|||||||
else:
|
else:
|
||||||
self.doc.name = make_autoname(self.doc.naming_series + '.#####')
|
self.doc.name = make_autoname(self.doc.naming_series + '.#####')
|
||||||
|
|
||||||
|
def update_address(self):
|
||||||
|
webnotes.conn.sql("""update `tabAddress` set supplier_name=%s, modified=NOW()
|
||||||
|
where supplier=%s""", (self.doc.supplier_name, self.doc.name))
|
||||||
|
|
||||||
|
def update_contact(self):
|
||||||
|
webnotes.conn.sql("""update `tabContact` set supplier_name=%s, modified=NOW()
|
||||||
|
where supplier=%s""", (self.doc.supplier_name, self.doc.name))
|
||||||
|
|
||||||
def update_credit_days_limit(self):
|
def update_credit_days_limit(self):
|
||||||
webnotes.conn.sql("""update tabAccount set credit_days = %s where name = %s""",
|
webnotes.conn.sql("""update tabAccount set credit_days = %s where name = %s""",
|
||||||
(cint(self.doc.credit_days), self.doc.name + " - " + self.get_company_abbr()))
|
(cint(self.doc.credit_days), self.doc.name + " - " + self.get_company_abbr()))
|
||||||
@ -35,6 +43,9 @@ class DocType(TransactionBase):
|
|||||||
if not self.doc.naming_series:
|
if not self.doc.naming_series:
|
||||||
self.doc.naming_series = ''
|
self.doc.naming_series = ''
|
||||||
|
|
||||||
|
self.update_address()
|
||||||
|
self.update_contact()
|
||||||
|
|
||||||
# create account head
|
# create account head
|
||||||
self.create_account_head()
|
self.create_account_head()
|
||||||
|
|
||||||
@ -151,10 +162,19 @@ class DocType(TransactionBase):
|
|||||||
def before_rename(self, olddn, newdn, merge=False):
|
def before_rename(self, olddn, newdn, merge=False):
|
||||||
from accounts.utils import rename_account_for
|
from accounts.utils import rename_account_for
|
||||||
rename_account_for("Supplier", olddn, newdn, merge)
|
rename_account_for("Supplier", olddn, newdn, merge)
|
||||||
|
|
||||||
def after_rename(self, olddn, newdn, merge=False):
|
def after_rename(self, olddn, newdn, merge=False):
|
||||||
|
set_field = ''
|
||||||
if webnotes.defaults.get_global_default('supp_master_name') == 'Supplier Name':
|
if webnotes.defaults.get_global_default('supp_master_name') == 'Supplier Name':
|
||||||
webnotes.conn.set(self.doc, "supplier_name", newdn)
|
webnotes.conn.set(self.doc, "supplier_name", newdn)
|
||||||
|
self.update_contact()
|
||||||
|
set_field = ", supplier_name=%(newdn)s"
|
||||||
|
self.update_supplier_address(newdn, set_field)
|
||||||
|
|
||||||
|
def update_supplier_address(self, newdn, set_field):
|
||||||
|
webnotes.conn.sql("""update `tabAddress` set address_title=%(newdn)s
|
||||||
|
{set_field} where supplier=%(newdn)s"""\
|
||||||
|
.format(set_field=set_field), ({"newdn": newdn}))
|
||||||
|
|
||||||
@webnotes.whitelist()
|
@webnotes.whitelist()
|
||||||
def get_dashboard_info(supplier):
|
def get_dashboard_info(supplier):
|
||||||
|
@ -72,9 +72,9 @@ class DocType:
|
|||||||
and (exists (select name from `tabItem` item where item.name=so_item.item_code
|
and (exists (select name from `tabItem` item where item.name=so_item.item_code
|
||||||
and (ifnull(item.is_pro_applicable, 'No') = 'Yes'
|
and (ifnull(item.is_pro_applicable, 'No') = 'Yes'
|
||||||
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes') %s)
|
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes') %s)
|
||||||
or exists (select name from `tabPacked Item` dnpi
|
or exists (select name from `tabPacked Item` pi
|
||||||
where dnpi.parent = so.name and dnpi.parent_item = so_item.item_code
|
where pi.parent = so.name and pi.parent_item = so_item.item_code
|
||||||
and exists (select name from `tabItem` item where item.name=dnpi.item_code
|
and exists (select name from `tabItem` item where item.name=pi.item_code
|
||||||
and (ifnull(item.is_pro_applicable, 'No') = 'Yes'
|
and (ifnull(item.is_pro_applicable, 'No') = 'Yes'
|
||||||
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes') %s)))
|
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes') %s)))
|
||||||
""" % ('%s', so_filter, item_filter, item_filter), self.doc.company, as_dict=1)
|
""" % ('%s', so_filter, item_filter, item_filter), self.doc.company, as_dict=1)
|
||||||
@ -83,6 +83,8 @@ class DocType:
|
|||||||
|
|
||||||
def add_so_in_table(self, open_so):
|
def add_so_in_table(self, open_so):
|
||||||
""" Add sales orders in the table"""
|
""" Add sales orders in the table"""
|
||||||
|
self.clear_so_table()
|
||||||
|
|
||||||
so_list = [d.sales_order for d in getlist(self.doclist, 'pp_so_details')]
|
so_list = [d.sales_order for d in getlist(self.doclist, 'pp_so_details')]
|
||||||
for r in open_so:
|
for r in open_so:
|
||||||
if cstr(r['name']) not in so_list:
|
if cstr(r['name']) not in so_list:
|
||||||
@ -116,19 +118,19 @@ class DocType:
|
|||||||
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes'))""" % \
|
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes'))""" % \
|
||||||
(", ".join(["%s"] * len(so_list))), tuple(so_list), as_dict=1)
|
(", ".join(["%s"] * len(so_list))), tuple(so_list), as_dict=1)
|
||||||
|
|
||||||
dnpi_items = webnotes.conn.sql("""select distinct dnpi.parent, dnpi.item_code, dnpi.warehouse as reserved_warhouse,
|
packed_items = webnotes.conn.sql("""select distinct pi.parent, pi.item_code, pi.warehouse as reserved_warhouse,
|
||||||
(((so_item.qty - ifnull(so_item.delivered_qty, 0)) * dnpi.qty) / so_item.qty)
|
(((so_item.qty - ifnull(so_item.delivered_qty, 0)) * pi.qty) / so_item.qty)
|
||||||
as pending_qty
|
as pending_qty
|
||||||
from `tabSales Order Item` so_item, `tabPacked Item` dnpi
|
from `tabSales Order Item` so_item, `tabPacked Item` pi
|
||||||
where so_item.parent = dnpi.parent and so_item.docstatus = 1
|
where so_item.parent = pi.parent and so_item.docstatus = 1
|
||||||
and dnpi.parent_item = so_item.item_code
|
and pi.parent_item = so_item.item_code
|
||||||
and so_item.parent in (%s) and ifnull(so_item.qty, 0) > ifnull(so_item.delivered_qty, 0)
|
and so_item.parent in (%s) and ifnull(so_item.qty, 0) > ifnull(so_item.delivered_qty, 0)
|
||||||
and exists (select * from `tabItem` item where item.name=dnpi.item_code
|
and exists (select * from `tabItem` item where item.name=pi.item_code
|
||||||
and (ifnull(item.is_pro_applicable, 'No') = 'Yes'
|
and (ifnull(item.is_pro_applicable, 'No') = 'Yes'
|
||||||
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes'))""" % \
|
or ifnull(item.is_sub_contracted_item, 'No') = 'Yes'))""" % \
|
||||||
(", ".join(["%s"] * len(so_list))), tuple(so_list), as_dict=1)
|
(", ".join(["%s"] * len(so_list))), tuple(so_list), as_dict=1)
|
||||||
|
|
||||||
return items + dnpi_items
|
return items + packed_items
|
||||||
|
|
||||||
|
|
||||||
def add_items(self, items):
|
def add_items(self, items):
|
||||||
|
@ -47,6 +47,14 @@ class DocType(TransactionBase):
|
|||||||
if self.doc.lead_name:
|
if self.doc.lead_name:
|
||||||
webnotes.conn.sql("update `tabLead` set status='Converted' where name = %s", self.doc.lead_name)
|
webnotes.conn.sql("update `tabLead` set status='Converted' where name = %s", self.doc.lead_name)
|
||||||
|
|
||||||
|
def update_address(self):
|
||||||
|
webnotes.conn.sql("""update `tabAddress` set customer_name=%s, modified=NOW()
|
||||||
|
where customer=%s""", (self.doc.customer_name, self.doc.name))
|
||||||
|
|
||||||
|
def update_contact(self):
|
||||||
|
webnotes.conn.sql("""update `tabContact` set customer_name=%s, modified=NOW()
|
||||||
|
where customer=%s""", (self.doc.customer_name, self.doc.name))
|
||||||
|
|
||||||
def create_account_head(self):
|
def create_account_head(self):
|
||||||
if self.doc.company :
|
if self.doc.company :
|
||||||
abbr = self.get_company_abbr()
|
abbr = self.get_company_abbr()
|
||||||
@ -99,6 +107,9 @@ class DocType(TransactionBase):
|
|||||||
self.validate_name_with_customer_group()
|
self.validate_name_with_customer_group()
|
||||||
|
|
||||||
self.update_lead_status()
|
self.update_lead_status()
|
||||||
|
self.update_address()
|
||||||
|
self.update_contact()
|
||||||
|
|
||||||
# create account head
|
# create account head
|
||||||
self.create_account_head()
|
self.create_account_head()
|
||||||
# update credit days and limit in account
|
# update credit days and limit in account
|
||||||
@ -146,10 +157,19 @@ class DocType(TransactionBase):
|
|||||||
def before_rename(self, olddn, newdn, merge=False):
|
def before_rename(self, olddn, newdn, merge=False):
|
||||||
from accounts.utils import rename_account_for
|
from accounts.utils import rename_account_for
|
||||||
rename_account_for("Customer", olddn, newdn, merge)
|
rename_account_for("Customer", olddn, newdn, merge)
|
||||||
|
|
||||||
def after_rename(self, olddn, newdn, merge=False):
|
def after_rename(self, olddn, newdn, merge=False):
|
||||||
|
set_field = ''
|
||||||
if webnotes.defaults.get_global_default('cust_master_name') == 'Customer Name':
|
if webnotes.defaults.get_global_default('cust_master_name') == 'Customer Name':
|
||||||
webnotes.conn.set(self.doc, "customer_name", newdn)
|
webnotes.conn.set(self.doc, "customer_name", newdn)
|
||||||
|
self.update_contact()
|
||||||
|
set_field = ", customer_name=%(newdn)s"
|
||||||
|
self.update_customer_address(newdn, set_field)
|
||||||
|
|
||||||
|
def update_customer_address(self, newdn, set_field):
|
||||||
|
webnotes.conn.sql("""update `tabAddress` set address_title=%(newdn)s
|
||||||
|
{set_field} where customer=%(newdn)s"""\
|
||||||
|
.format(set_field=set_field), ({"newdn": newdn}))
|
||||||
|
|
||||||
@webnotes.whitelist()
|
@webnotes.whitelist()
|
||||||
def get_dashboard_info(customer):
|
def get_dashboard_info(customer):
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
"creation": "2013-03-25 17:53:21",
|
"creation": "2013-03-25 17:53:21",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"modified": "2013-11-28 11:54:42",
|
"modified": "2013-12-06 13:12:25",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
@ -103,6 +103,7 @@
|
|||||||
"label": "Auto Email Id"
|
"label": "Auto Email Id"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"default": "1",
|
||||||
"description": "If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.",
|
"description": "If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.",
|
||||||
"doctype": "DocField",
|
"doctype": "DocField",
|
||||||
"fieldname": "send_print_in_body_and_attachment",
|
"fieldname": "send_print_in_body_and_attachment",
|
||||||
|
@ -244,7 +244,7 @@ cur_frm.script_manager.make(erpnext.stock.StockEntry);
|
|||||||
|
|
||||||
cur_frm.cscript.toggle_related_fields = function(doc) {
|
cur_frm.cscript.toggle_related_fields = function(doc) {
|
||||||
disable_from_warehouse = inList(["Material Receipt", "Sales Return"], doc.purpose);
|
disable_from_warehouse = inList(["Material Receipt", "Sales Return"], doc.purpose);
|
||||||
disable_to_warehouse = inList(["Material Issue", "Purchase Return"], doc.purpose)
|
disable_to_warehouse = inList(["Material Issue", "Purchase Return"], doc.purpose);
|
||||||
|
|
||||||
cur_frm.toggle_enable("from_warehouse", !disable_from_warehouse);
|
cur_frm.toggle_enable("from_warehouse", !disable_from_warehouse);
|
||||||
cur_frm.toggle_enable("to_warehouse", !disable_to_warehouse);
|
cur_frm.toggle_enable("to_warehouse", !disable_to_warehouse);
|
||||||
@ -302,7 +302,7 @@ cur_frm.fields_dict['production_order'].get_query = function(doc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cur_frm.cscript.purpose = function(doc, cdt, cdn) {
|
cur_frm.cscript.purpose = function(doc, cdt, cdn) {
|
||||||
cur_frm.cscript.toggle_related_fields(doc, cdt, cdn);
|
cur_frm.cscript.toggle_related_fields(doc);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Overloaded query for link batch_no
|
// Overloaded query for link batch_no
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
{
|
{
|
||||||
"creation": "2013-01-10 16:34:32",
|
"creation": "2013-01-10 16:34:32",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"modified": "2013-07-11 17:02:12",
|
"modified": "2013-12-12 12:17:46",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"allow_rename": 1,
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"document_type": "Master",
|
"document_type": "Master",
|
||||||
"icon": "icon-map-marker",
|
"icon": "icon-map-marker",
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
{
|
{
|
||||||
"creation": "2013-01-10 16:34:32",
|
"creation": "2013-01-10 16:34:32",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"modified": "2013-10-08 16:48:50",
|
"modified": "2013-12-12 12:18:19",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"allow_rename": 1,
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"document_type": "Master",
|
"document_type": "Master",
|
||||||
"icon": "icon-user",
|
"icon": "icon-user",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user