[minor] [fix]
This commit is contained in:
parent
87bed52818
commit
a279d78496
@ -197,10 +197,6 @@ cur_frm.cscript.update_stock = function(doc, dt, dn) {
|
|||||||
cur_frm.cscript.hide_fields(doc, dt, dn);
|
cur_frm.cscript.hide_fields(doc, dt, dn);
|
||||||
}
|
}
|
||||||
|
|
||||||
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['entries'].grid.onrowadd = function(doc, cdt, cdn){
|
cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){
|
||||||
|
|
||||||
cl = getchildren('Sales Invoice Item', doc.name, cur_frm.cscript.fname, doc.doctype);
|
cl = getchildren('Sales Invoice Item', doc.name, cur_frm.cscript.fname, doc.doctype);
|
||||||
|
@ -109,14 +109,6 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({
|
|||||||
|
|
||||||
cur_frm.script_manager.make(erpnext.selling.QuotationController);
|
cur_frm.script_manager.make(erpnext.selling.QuotationController);
|
||||||
|
|
||||||
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.lead.get_query = function(doc,cdt,cdn) {
|
cur_frm.fields_dict.lead.get_query = function(doc,cdt,cdn) {
|
||||||
return{ query:"controllers.queries.lead_query" } }
|
return{ query:"controllers.queries.lead_query" } }
|
||||||
|
|
||||||
|
@ -58,7 +58,6 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
|
|||||||
return {
|
return {
|
||||||
filters: [
|
filters: [
|
||||||
['Sales Taxes and Charges Master', 'company', '=', me.frm.doc.company],
|
['Sales Taxes and Charges Master', 'company', '=', me.frm.doc.company],
|
||||||
['Sales Taxes and Charges Master', 'company', 'is not', 'NULL'],
|
|
||||||
['Sales Taxes and Charges Master', 'docstatus', '!=', 2]
|
['Sales Taxes and Charges Master', 'docstatus', '!=', 2]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -146,6 +145,29 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
customer_address: function() {
|
||||||
|
var me = this;
|
||||||
|
if(this.frm.doc.customer) {
|
||||||
|
this.frm.call({
|
||||||
|
doc: this.frm.doc,
|
||||||
|
args: {
|
||||||
|
customer: this.frm.doc.customer,
|
||||||
|
address: this.frm.doc.customer_address,
|
||||||
|
contact: this.frm.doc.contact_person
|
||||||
|
},
|
||||||
|
method: "get_customer_address",
|
||||||
|
freeze: true,
|
||||||
|
callback: function(r) {
|
||||||
|
me.frm.refresh_fields();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
contact_person: function() {
|
||||||
|
this.customer_address();
|
||||||
|
},
|
||||||
|
|
||||||
barcode: function(doc, cdt, cdn) {
|
barcode: function(doc, cdt, cdn) {
|
||||||
this.item_code(doc, cdt, cdn);
|
this.item_code(doc, cdt, cdn);
|
||||||
},
|
},
|
||||||
|
@ -141,11 +141,6 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
|||||||
// for backward compatibility: combine new and previous states
|
// for backward compatibility: combine new and previous states
|
||||||
$.extend(cur_frm.cscript, new erpnext.selling.SalesOrderController({frm: cur_frm}));
|
$.extend(cur_frm.cscript, new erpnext.selling.SalesOrderController({frm: cur_frm}));
|
||||||
|
|
||||||
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.cscript.new_contact = function(){
|
cur_frm.cscript.new_contact = function(){
|
||||||
tn = wn.model.make_new_doc_and_get_name('Contact');
|
tn = wn.model.make_new_doc_and_get_name('Contact');
|
||||||
locals['Contact'][tn].is_customer = 1;
|
locals['Contact'][tn].is_customer = 1;
|
||||||
|
@ -80,27 +80,11 @@ class DocType(SellingController):
|
|||||||
def validate_for_items(self):
|
def validate_for_items(self):
|
||||||
check_list, flag = [], 0
|
check_list, flag = [], 0
|
||||||
chk_dupl_itm = []
|
chk_dupl_itm = []
|
||||||
# Sales Order Items Validations
|
|
||||||
for d in getlist(self.doclist, 'sales_order_details'):
|
for d in getlist(self.doclist, 'sales_order_details'):
|
||||||
if self.doc.quotation_no and cstr(self.doc.quotation_no) == cstr(d.prevdoc_docname):
|
|
||||||
flag = 1
|
|
||||||
if d.prevdoc_docname:
|
|
||||||
if self.doc.quotation_date and getdate(self.doc.quotation_date) > getdate(self.doc.transaction_date):
|
|
||||||
msgprint("Sales Order Date cannot be before Quotation Date")
|
|
||||||
raise Exception
|
|
||||||
# validates whether quotation no in doctype and in table is same
|
|
||||||
if not cstr(d.prevdoc_docname) == cstr(self.doc.quotation_no):
|
|
||||||
msgprint("Items in table does not belong to the Quotation No mentioned.")
|
|
||||||
raise Exception
|
|
||||||
|
|
||||||
# validates whether item is not entered twice
|
|
||||||
e = [d.item_code, d.description, d.reserved_warehouse, d.prevdoc_docname or '']
|
e = [d.item_code, d.description, d.reserved_warehouse, d.prevdoc_docname or '']
|
||||||
f = [d.item_code, d.description]
|
f = [d.item_code, d.description]
|
||||||
|
|
||||||
#check item is stock item
|
if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == 'Yes':
|
||||||
st_itm = sql("select is_stock_item from `tabItem` where name = %s", d.item_code)
|
|
||||||
|
|
||||||
if st_itm and st_itm[0][0] == 'Yes':
|
|
||||||
if not d.reserved_warehouse:
|
if not d.reserved_warehouse:
|
||||||
msgprint("""Please enter Reserved Warehouse for item %s
|
msgprint("""Please enter Reserved Warehouse for item %s
|
||||||
as it is stock Item""" % d.item_code, raise_exception=1)
|
as it is stock Item""" % d.item_code, raise_exception=1)
|
||||||
@ -109,7 +93,7 @@ class DocType(SellingController):
|
|||||||
msgprint("Item %s has been entered twice." % d.item_code)
|
msgprint("Item %s has been entered twice." % d.item_code)
|
||||||
else:
|
else:
|
||||||
check_list.append(e)
|
check_list.append(e)
|
||||||
elif st_itm and st_itm[0][0]== 'No':
|
else:
|
||||||
if f in chk_dupl_itm:
|
if f in chk_dupl_itm:
|
||||||
msgprint("Item %s has been entered twice." % d.item_code)
|
msgprint("Item %s has been entered twice." % d.item_code)
|
||||||
else:
|
else:
|
||||||
@ -122,9 +106,6 @@ class DocType(SellingController):
|
|||||||
where item_code = '%s' and warehouse = '%s'" % (d.item_code,d.reserved_warehouse))
|
where item_code = '%s' and warehouse = '%s'" % (d.item_code,d.reserved_warehouse))
|
||||||
d.projected_qty = tot_avail_qty and flt(tot_avail_qty[0][0]) or 0
|
d.projected_qty = tot_avail_qty and flt(tot_avail_qty[0][0]) or 0
|
||||||
|
|
||||||
if getlist(self.doclist, 'sales_order_details') and self.doc.quotation_no and flag == 0:
|
|
||||||
msgprint("There are no items of the quotation selected", raise_exception=1)
|
|
||||||
|
|
||||||
def validate_sales_mntc_quotation(self):
|
def validate_sales_mntc_quotation(self):
|
||||||
for d in getlist(self.doclist, 'sales_order_details'):
|
for d in getlist(self.doclist, 'sales_order_details'):
|
||||||
if d.prevdoc_docname:
|
if d.prevdoc_docname:
|
||||||
|
@ -92,10 +92,6 @@ erpnext.stock.DeliveryNoteController = erpnext.selling.SellingController.extend(
|
|||||||
// for backward compatibility: combine new and previous states
|
// for backward compatibility: combine new and previous states
|
||||||
$.extend(cur_frm.cscript, new erpnext.stock.DeliveryNoteController({frm: cur_frm}));
|
$.extend(cur_frm.cscript, new erpnext.stock.DeliveryNoteController({frm: cur_frm}));
|
||||||
|
|
||||||
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.cscript.new_contact = function(){
|
cur_frm.cscript.new_contact = function(){
|
||||||
tn = wn.model.make_new_doc_and_get_name('Contact');
|
tn = wn.model.make_new_doc_and_get_name('Contact');
|
||||||
locals['Contact'][tn].is_customer = 1;
|
locals['Contact'][tn].is_customer = 1;
|
||||||
|
@ -58,14 +58,6 @@ class DocType(SellingController):
|
|||||||
"""Get Commission rate of Sales Partner"""
|
"""Get Commission rate of Sales Partner"""
|
||||||
return get_obj('Sales Common').get_comm_rate(sales_partner, self)
|
return get_obj('Sales Common').get_comm_rate(sales_partner, self)
|
||||||
|
|
||||||
def validate_prev_docname(self):
|
|
||||||
"""Validates that Sales Order is not pulled twice"""
|
|
||||||
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. "
|
|
||||||
|
|
||||||
|
|
||||||
def set_actual_qty(self):
|
def set_actual_qty(self):
|
||||||
for d in getlist(self.doclist, 'delivery_note_details'):
|
for d in getlist(self.doclist, 'delivery_note_details'):
|
||||||
if d.item_code and d.warehouse:
|
if d.item_code and d.warehouse:
|
||||||
@ -246,7 +238,6 @@ class DocType(SellingController):
|
|||||||
d.fields.get('packed_qty', 0)
|
d.fields.get('packed_qty', 0)
|
||||||
])
|
])
|
||||||
if packing_error_list:
|
if packing_error_list:
|
||||||
from webnotes.utils import cstr
|
|
||||||
err_msg = "\n".join([("Item: " + d[0] + ", Qty: " + cstr(d[1]) \
|
err_msg = "\n".join([("Item: " + d[0] + ", Qty: " + cstr(d[1]) \
|
||||||
+ ", Packed: " + cstr(d[2])) for d in packing_error_list])
|
+ ", Packed: " + cstr(d[2])) for d in packing_error_list])
|
||||||
webnotes.msgprint("Packing Error:\n" + err_msg, raise_exception=1)
|
webnotes.msgprint("Packing Error:\n" + err_msg, raise_exception=1)
|
||||||
|
@ -145,8 +145,8 @@ class TransactionBase(StatusUpdater):
|
|||||||
'customer_address' : args["address"],
|
'customer_address' : args["address"],
|
||||||
'address_display' : get_address_display(args["address"]),
|
'address_display' : get_address_display(args["address"]),
|
||||||
}
|
}
|
||||||
|
if args.get('contact'):
|
||||||
ret.update(map_party_contact_details(args['contact']))
|
ret.update(map_party_contact_details(args['contact']))
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
@ -347,7 +347,7 @@ def get_default_contact(party_field, party_name):
|
|||||||
|
|
||||||
def get_address_display(address_dict):
|
def get_address_display(address_dict):
|
||||||
if not isinstance(address_dict, dict):
|
if not isinstance(address_dict, dict):
|
||||||
address_dict = webnotes.conn.get_value("Address", address_dict, "*", as_dict=True)
|
address_dict = webnotes.conn.get_value("Address", address_dict, "*", as_dict=True) or {}
|
||||||
|
|
||||||
meta = webnotes.get_doctype("Address")
|
meta = webnotes.get_doctype("Address")
|
||||||
sequence = (("", "address_line1"), ("\n", "address_line2"), ("\n", "city"),
|
sequence = (("", "address_line1"), ("\n", "address_line2"), ("\n", "city"),
|
||||||
@ -386,23 +386,23 @@ def map_party_contact_details(contact_name=None, party_field=None, party_name=No
|
|||||||
|
|
||||||
if not contact_name:
|
if not contact_name:
|
||||||
contact_name = get_default_contact(party_field, party_name)
|
contact_name = get_default_contact(party_field, party_name)
|
||||||
|
if party_field:
|
||||||
|
contact = webnotes.conn.sql("""select * from `tabContact` where `%s`=%s
|
||||||
|
order by is_primary_contact desc, name asc limit 1""" % (party_field, "%s"),
|
||||||
|
(party_name,), as_dict=True)
|
||||||
|
|
||||||
contact = webnotes.conn.sql("""select * from `tabContact` where `%s`=%s
|
if contact:
|
||||||
order by is_primary_contact desc, name asc limit 1""" % (party_field, "%s"),
|
contact = contact[0]
|
||||||
(party_name,), as_dict=True)
|
out.update({
|
||||||
|
"contact_person": contact.get("name"),
|
||||||
if contact:
|
"contact_display": " ".join(filter(None,
|
||||||
contact = contact[0]
|
[contact.get("first_name"), contact.get("last_name")])),
|
||||||
out.update({
|
"contact_email": contact.get("email_id"),
|
||||||
"contact_person": contact.get("name"),
|
"contact_mobile": contact.get("mobile_no"),
|
||||||
"contact_display": " ".join(filter(None,
|
"contact_phone": contact.get("phone"),
|
||||||
[contact.get("first_name"), contact.get("last_name")])),
|
"contact_designation": contact.get("designation"),
|
||||||
"contact_email": contact.get("email_id"),
|
"contact_department": contact.get("department")
|
||||||
"contact_mobile": contact.get("mobile_no"),
|
})
|
||||||
"contact_phone": contact.get("phone"),
|
|
||||||
"contact_designation": contact.get("designation"),
|
|
||||||
"contact_department": contact.get("department")
|
|
||||||
})
|
|
||||||
|
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user