diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py index b728475831..a146e932ef 100644 --- a/accounts/doctype/sales_invoice/sales_invoice.py +++ b/accounts/doctype/sales_invoice/sales_invoice.py @@ -174,16 +174,20 @@ class DocType(TransactionBase): def get_customer_account(self): """Get Account Head to which amount needs to be Debited based on Customer""" if not self.doc.company: - msgprint("Please select company first and re-select the customer after doing so", raise_exception=1) + msgprint("Please select company first and re-select the customer after doing so", + raise_exception=1) + if self.doc.customer: + acc_head = webnotes.conn.sql("""select name from `tabAccount` + where (name = %s or (master_name = %s and master_type = 'customer')) + and docstatus != 2""", + (cstr(self.doc.customer) + " - " + self.get_company_abbr(), self.doc.customer)) - acc_head = webnotes.conn.sql("""select name from `tabAccount` - where (name = %s or (master_name = %s and master_type = 'customer')) and docstatus != 2""", - (cstr(self.doc.customer) + " - " + self.get_company_abbr(),self.doc.customer)) - - if acc_head and acc_head[0][0]: - return acc_head[0][0] - else: - msgprint("%s does not have an Account Head in %s. You must first create it from the Customer Master" % (self.doc.customer, self.doc.company)) + if acc_head and acc_head[0][0]: + return acc_head[0][0] + else: + msgprint("%s does not have an Account Head in %s. \ + You must first create it from the Customer Master" % + (self.doc.customer, self.doc.company)) def get_debit_to(self): acc_head = self.get_customer_account() diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js index f232a37fe5..17c8d097b3 100644 --- a/selling/doctype/sales_order/sales_order.js +++ b/selling/doctype/sales_order/sales_order.js @@ -147,7 +147,7 @@ cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) { cur_frm.cscript.pull_quotation_details = function(doc,dt,dn) { var callback = function(r,rt){ var doc = locals[cur_frm.doctype][cur_frm.docname]; - if(r.message){ + if(!r.exc){ doc.quotation_no = r.message; if(doc.quotation_no) { unhide_field(['quotation_date', 'customer_address', 'contact_person', 'territory', 'customer_group']); diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py index 0a73cacd40..9d23565d87 100644 --- a/selling/doctype/sales_order/sales_order.py +++ b/selling/doctype/sales_order/sales_order.py @@ -194,11 +194,11 @@ class DocType(TransactionBase): # Validations of Details Table # ----------------------------- def validate_for_items(self): - check_list,flag = [],0 + check_list, flag = [], 0 chk_dupl_itm = [] # Sales Order Items Validations for d in getlist(self.doclist, 'sales_order_details'): - if cstr(self.doc.quotation_no) == cstr(d.prevdoc_docname): + 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): @@ -229,14 +229,13 @@ class DocType(TransactionBase): # used for production plan d.transaction_date = self.doc.transaction_date - - # gets total projected qty of item in warehouse selected (this case arises when warehouse is selected b4 item) - tot_avail_qty = sql("select projected_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code,d.reserved_warehouse)) + + tot_avail_qty = sql("select projected_qty from `tabBin` \ + 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 - if flag == 0: - msgprint("There are no items of the quotation selected.") - raise Exception + 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) # validate sales/ maintenance quotation against order type #------------------------------------------------------------------ diff --git a/utilities/doctype/sms_control/sms_control.js b/utilities/doctype/sms_control/sms_control.js index 9cc152fe06..4af96b3619 100644 --- a/utilities/doctype/sms_control/sms_control.js +++ b/utilities/doctype/sms_control/sms_control.js @@ -31,7 +31,6 @@ function SMSManager() { this.show = function(contact, key, value, mobile_nos, message) { this.message = message; if (mobile_nos) { - me.number = mobile_nos; me.show_dialog(); } else if (contact){ @@ -59,7 +58,6 @@ function SMSManager() { {fieldname:'send', fieldtype:'Button', label:'Send'} ] }) - d.make(); d.fields_dict.send.input.onclick = function() { var btn = d.fields_dict.send.input; var v = me.dialog.get_values();