Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
		
						commit
						a47ac1bed0
					
				| @ -16,6 +16,7 @@ | ||||
| 
 | ||||
| report.customize_filters = function() { | ||||
|   this.hide_all_filters(); | ||||
|   this.dt.set_no_limit(1); | ||||
| 
 | ||||
|   // hide transaction based on permissions
 | ||||
|   var all_transactions = ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice", | ||||
|  | ||||
| @ -19,7 +19,8 @@ cur_frm.fields_dict['delivery_note'].get_query = function(doc, cdt, cdn) { | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| cur_frm.fields_dict['item_details'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) { | ||||
| cur_frm.fields_dict['item_details'].grid.get_field('item_code').get_query =  | ||||
| 		function(doc, cdt, cdn) { | ||||
| 	var query = 'SELECT name, item_name, description FROM `tabItem` WHERE name IN ( \ | ||||
| 		SELECT item_code FROM `tabDelivery Note Item` dnd \ | ||||
| 		WHERE parent="'	+ doc.delivery_note + '" AND IFNULL(qty, 0) > IFNULL(packed_qty, 0)) AND %(key)s LIKE "%s" LIMIT 50'; | ||||
| @ -34,9 +35,10 @@ cur_frm.add_fetch("item_code", "net_weight", "net_weight"); | ||||
| cur_frm.add_fetch("item_code", "weight_uom", "weight_uom"); | ||||
| 
 | ||||
| cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { | ||||
| 	console.log(make_doclist(cdt, cdn)); | ||||
| 	if(doc.delivery_note && doc.__islocal) { | ||||
| 		var ps_detail = getchildren('Packing Slip Item', doc.name, 'item_details'); | ||||
| 		if(!(flt(ps_detail[0].net_weight) && cstr(ps_detail[0].weight_uom))) { | ||||
| 		if(!(flt(ps_detail.net_weight) && cstr(ps_detail.weight_uom))) { | ||||
| 			cur_frm.cscript.update_item_details(doc); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @ -40,15 +40,12 @@ class DocType: | ||||
| 		""" | ||||
| 			Validates if delivery note has status as submitted | ||||
| 		""" | ||||
| 		res = webnotes.conn.sql("""\ | ||||
| 			SELECT docstatus FROM `tabDelivery Note` | ||||
| 			WHERE name=%(delivery_note)s | ||||
| 			""", self.doc.fields) | ||||
| 		res = webnotes.conn.sql("""SELECT docstatus FROM `tabDelivery Note`  | ||||
| 			WHERE name=%(delivery_note)s""", self.doc.fields) | ||||
| 
 | ||||
| 		if not(res and res[0][0]==0): | ||||
| 			webnotes.msgprint("""Invalid Delivery Note. Delivery Note should exist  | ||||
| 				and should be in draft state. Please rectify and try again.""",  | ||||
| 				raise_exception=1) | ||||
| 				and should be in draft state. Please rectify and try again.""", raise_exception=1) | ||||
| 
 | ||||
| 
 | ||||
| 	def validate_case_nos(self): | ||||
| @ -65,11 +62,10 @@ class DocType: | ||||
| 				raise_exception=1) | ||||
| 		 | ||||
| 		 | ||||
| 		res = webnotes.conn.sql("""\ | ||||
| 			SELECT name FROM `tabPacking Slip` | ||||
| 		res = webnotes.conn.sql("""SELECT name FROM `tabPacking Slip` | ||||
| 			WHERE delivery_note = %(delivery_note)s AND docstatus = 1 AND | ||||
| 			(from_case_no BETWEEN %(from_case_no)s AND %(to_case_no)s | ||||
| 			OR to_case_no BETWEEN %(from_case_no)s AND %(to_case_no)s)\ | ||||
| 			OR to_case_no BETWEEN %(from_case_no)s AND %(to_case_no)s) | ||||
| 			""", self.doc.fields) | ||||
| 
 | ||||
| 		if res: | ||||
| @ -133,10 +129,10 @@ class DocType: | ||||
| 		item['recommended_qty'] = (flt(item['qty']) - flt(item['packed_qty'])) / no_of_cases | ||||
| 		item['specified_qty'] = flt(ps_item_qty[item['item_code']]) | ||||
| 		 | ||||
| 		webnotes.msgprint("""\ | ||||
| 		webnotes.msgprint(""" | ||||
| 			Invalid Quantity specified (%(specified_qty)s %(stock_uom)s). | ||||
| 			%(packed_qty)s out of %(qty)s %(stock_uom)s already packed for %(item_code)s. | ||||
| 			<b>Recommended quantity for %(item_code)s = %(recommended_qty)s \ | ||||
| 			<b>Recommended quantity for %(item_code)s = %(recommended_qty)s  | ||||
| 			%(stock_uom)s</b>""" % item, raise_exception=1) | ||||
| 
 | ||||
| 
 | ||||
| @ -167,16 +163,15 @@ class DocType: | ||||
| 		for item in dn_details: | ||||
| 			new_packed_qty = flt(item['packed_qty']) | ||||
| 			if (new_packed_qty < 0) or (new_packed_qty > flt(item['qty'])): | ||||
| 				webnotes.msgprint("Invalid new packed quantity for item %s. \ | ||||
| 					Please try again or contact support@erpnext.com" % item['item_code'], raise_exception=1) | ||||
| 				webnotes.msgprint("""Invalid new packed quantity for item %s.  | ||||
| 					Please try again or contact support@erpnext.com""" %  | ||||
| 					item['item_code'], raise_exception=1) | ||||
| 			 | ||||
| 			webnotes.conn.sql("""\ | ||||
| 				UPDATE `tabDelivery Note Item` | ||||
| 				SET packed_qty = %s | ||||
| 				WHERE parent = %s AND item_code = %s""", | ||||
| 			webnotes.conn.sql("""UPDATE `tabDelivery Note Item` | ||||
| 				SET packed_qty = %s WHERE parent = %s AND item_code = %s""", | ||||
| 				(new_packed_qty, self.doc.delivery_note, item['item_code'])) | ||||
| 			webnotes.conn.set_value("Delivery Note", self.doc.delivery_note, | ||||
| 				"modified", now()) | ||||
| 				 | ||||
| 			webnotes.conn.set_value("Delivery Note", self.doc.delivery_note, "modified", now()) | ||||
| 
 | ||||
| 
 | ||||
| 	def update_item_details(self): | ||||
| @ -191,8 +186,7 @@ class DocType: | ||||
| 
 | ||||
| 
 | ||||
| 	def set_item_details(self, row): | ||||
| 		res = webnotes.conn.sql("""\ | ||||
| 			SELECT item_name, SUM(IFNULL(qty, 0)) as total_qty, | ||||
| 		res = webnotes.conn.sql("""SELECT item_name, SUM(IFNULL(qty, 0)) as total_qty, | ||||
| 			IFNULL(packed_qty,	0) as packed_qty, stock_uom | ||||
| 			FROM `tabDelivery Note Item` | ||||
| 			WHERE parent=%s AND item_code=%s GROUP BY item_code""", | ||||
| @ -203,9 +197,8 @@ class DocType: | ||||
| 			if not row.qty: | ||||
| 				row.qty = qty >= 0 and qty or 0 | ||||
| 
 | ||||
| 		res = webnotes.conn.sql("""\ | ||||
| 			SELECT net_weight, weight_uom FROM `tabItem` | ||||
| 			WHERE name=%s""", self.doc.item_code, as_dict=1) | ||||
| 		res = webnotes.conn.sql("""SELECT net_weight, weight_uom FROM `tabItem` | ||||
| 			WHERE name=%s""", row.item_code, as_dict=1) | ||||
| 			 | ||||
| 		if res and len(res)>0: | ||||
| 			row.net_weight = res[0]["net_weight"] | ||||
| @ -217,8 +210,7 @@ class DocType: | ||||
| 			Returns the next case no. for a new packing slip for a delivery | ||||
| 			note | ||||
| 		""" | ||||
| 		recommended_case_no = webnotes.conn.sql("""\ | ||||
| 			SELECT MAX(to_case_no) FROM `tabPacking Slip` | ||||
| 		recommended_case_no = webnotes.conn.sql("""SELECT MAX(to_case_no) FROM `tabPacking Slip` | ||||
| 			WHERE delivery_note = %(delivery_note)s AND docstatus=1""", self.doc.fields) | ||||
| 
 | ||||
| 		return cint(recommended_case_no[0][0]) + 1 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user