fix to packing slip (validation)
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.js b/erpnext/stock/doctype/packing_slip/packing_slip.js
index 2f0bd81..acdd27e 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.js
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.js
@@ -8,7 +8,7 @@
 }
 
 
-cur_frm.fields_dict['item_details'].grid.get_field('item_code').get_query = 
+cur_frm.fields_dict['item_details'].grid.get_field('item_code').get_query =
 		function(doc, cdt, cdn) {
 			return {
 				query: "erpnext.stock.doctype.packing_slip.packing_slip.item_details",
@@ -53,7 +53,7 @@
 	} else if(cint(doc.to_case_no) < cint(doc.from_case_no)) {
 		msgprint(__("'To Case No.' cannot be less than 'From Case No.'"));
 		validated = false;
-	}	
+	}
 }
 
 
@@ -88,7 +88,7 @@
 // Calculate Net Weight of Package
 cur_frm.cscript.calc_net_total_pkg = function(doc, ps_detail) {
 	var net_weight_pkg = 0;
-	doc.net_weight_uom = ps_detail?ps_detail[0].weight_uom:'';
+	doc.net_weight_uom = (ps_detail && ps_detail.length) ? ps_detail[0].weight_uom : '';
 	doc.gross_weight_uom = doc.net_weight_uom;
 
 	for(var i=0; i<ps_detail.length; i++) {
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.json b/erpnext/stock/doctype/packing_slip/packing_slip.json
index 5cb6343..ec8cd9b 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.json
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.json
@@ -1,262 +1,262 @@
 {
- "autoname": "PS.#######",
- "creation": "2013-04-11 15:32:24",
- "description": "Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Transaction",
+ "autoname": "PS.#######", 
+ "creation": "2013-04-11 15:32:24", 
+ "description": "Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.", 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Transaction", 
  "fields": [
   {
-   "fieldname": "packing_slip_details",
-   "fieldtype": "Section Break",
-   "label": "Packing Slip Items",
-   "permlevel": 0,
+   "fieldname": "packing_slip_details", 
+   "fieldtype": "Section Break", 
+   "label": "Packing Slip Items", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "column_break0",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break0", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "description": "Indicates that the package is a part of this delivery",
-   "fieldname": "delivery_note",
-   "fieldtype": "Link",
-   "in_list_view": 1,
-   "label": "Delivery Note",
-   "options": "Delivery Note",
-   "permlevel": 0,
-   "read_only": 0,
+   "description": "Indicates that the package is a part of this delivery (Only Draft)", 
+   "fieldname": "delivery_note", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Delivery Note", 
+   "options": "Delivery Note", 
+   "permlevel": 0, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break1", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "naming_series",
-   "fieldtype": "Select",
-   "label": "Series",
-   "no_copy": 0,
-   "options": "PS-",
-   "permlevel": 0,
-   "print_hide": 1,
-   "read_only": 0,
+   "fieldname": "naming_series", 
+   "fieldtype": "Select", 
+   "label": "Series", 
+   "no_copy": 0, 
+   "options": "PS-", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "read_only": 0, 
    "reqd": 1
-  },
+  }, 
   {
-   "fieldname": "section_break0",
-   "fieldtype": "Section Break",
-   "permlevel": 0,
+   "fieldname": "section_break0", 
+   "fieldtype": "Section Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break2", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "description": "Identification of the package for the delivery (for print)",
-   "fieldname": "from_case_no",
-   "fieldtype": "Data",
-   "label": "From Package No.",
-   "in_list_view": 1,
-   "no_copy": 1,
-   "permlevel": 0,
-   "read_only": 0,
-   "reqd": 1,
+   "description": "Identification of the package for the delivery (for print)", 
+   "fieldname": "from_case_no", 
+   "fieldtype": "Data", 
+   "in_list_view": 1, 
+   "label": "From Package No.", 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "read_only": 0, 
+   "reqd": 1, 
    "width": "50px"
-  },
+  }, 
   {
-   "fieldname": "column_break3",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break3", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "description": "If more than one package of the same type (for print)",
-   "fieldname": "to_case_no",
-   "fieldtype": "Data",
-   "label": "To Package No.",
-   "in_list_view": 1,
-   "no_copy": 1,
-   "permlevel": 0,
-   "read_only": 0,
+   "description": "If more than one package of the same type (for print)", 
+   "fieldname": "to_case_no", 
+   "fieldtype": "Data", 
+   "in_list_view": 1, 
+   "label": "To Package No.", 
+   "no_copy": 1, 
+   "permlevel": 0, 
+   "read_only": 0, 
    "width": "50px"
-  },
+  }, 
   {
-   "fieldname": "package_item_details",
-   "fieldtype": "Section Break",
-   "label": "Package Item Details",
-   "permlevel": 0,
+   "fieldname": "package_item_details", 
+   "fieldtype": "Section Break", 
+   "label": "Package Item Details", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "get_items",
-   "fieldtype": "Button",
-   "label": "Get Items",
+   "fieldname": "get_items", 
+   "fieldtype": "Button", 
+   "label": "Get Items", 
    "permlevel": 0
-  },
+  }, 
   {
-   "fieldname": "item_details",
-   "fieldtype": "Table",
-   "label": "Items",
-   "options": "Packing Slip Item",
-   "permlevel": 0,
+   "fieldname": "item_details", 
+   "fieldtype": "Table", 
+   "label": "Items", 
+   "options": "Packing Slip Item", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "package_weight_details",
-   "fieldtype": "Section Break",
-   "label": "Package Weight Details",
-   "permlevel": 0,
+   "fieldname": "package_weight_details", 
+   "fieldtype": "Section Break", 
+   "label": "Package Weight Details", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "description": "The net weight of this package. (calculated automatically as sum of net weight of items)",
-   "fieldname": "net_weight_pkg",
-   "fieldtype": "Float",
-   "label": "Net Weight",
-   "no_copy": 1,
-   "permlevel": 0,
+   "description": "The net weight of this package. (calculated automatically as sum of net weight of items)", 
+   "fieldname": "net_weight_pkg", 
+   "fieldtype": "Float", 
+   "label": "Net Weight", 
+   "no_copy": 1, 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "net_weight_uom",
-   "fieldtype": "Link",
-   "label": "Net Weight UOM",
-   "no_copy": 1,
-   "options": "UOM",
-   "permlevel": 0,
+   "fieldname": "net_weight_uom", 
+   "fieldtype": "Link", 
+   "label": "Net Weight UOM", 
+   "no_copy": 1, 
+   "options": "UOM", 
+   "permlevel": 0, 
    "read_only": 1
-  },
+  }, 
   {
-   "fieldname": "column_break4",
-   "fieldtype": "Column Break",
-   "permlevel": 0,
+   "fieldname": "column_break4", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "description": "The gross weight of the package. Usually net weight + packaging material weight. (for print)",
-   "fieldname": "gross_weight_pkg",
-   "fieldtype": "Float",
-   "label": "Gross Weight",
-   "no_copy": 1,
-   "permlevel": 0,
+   "description": "The gross weight of the package. Usually net weight + packaging material weight. (for print)", 
+   "fieldname": "gross_weight_pkg", 
+   "fieldtype": "Float", 
+   "label": "Gross Weight", 
+   "no_copy": 1, 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "gross_weight_uom",
-   "fieldtype": "Link",
-   "label": "Gross Weight UOM",
-   "no_copy": 1,
-   "options": "UOM",
-   "permlevel": 0,
+   "fieldname": "gross_weight_uom", 
+   "fieldtype": "Link", 
+   "label": "Gross Weight UOM", 
+   "no_copy": 1, 
+   "options": "UOM", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "misc_details",
-   "fieldtype": "Section Break",
-   "label": "Misc Details",
-   "permlevel": 0,
+   "fieldname": "misc_details", 
+   "fieldtype": "Section Break", 
+   "label": "Misc Details", 
+   "permlevel": 0, 
    "read_only": 0
-  },
+  }, 
   {
-   "fieldname": "amended_from",
-   "fieldtype": "Link",
-   "ignore_restrictions": 1,
-   "label": "Amended From",
-   "no_copy": 1,
-   "options": "Packing Slip",
-   "permlevel": 0,
-   "print_hide": 1,
+   "fieldname": "amended_from", 
+   "fieldtype": "Link", 
+   "ignore_restrictions": 1, 
+   "label": "Amended From", 
+   "no_copy": 1, 
+   "options": "Packing Slip", 
+   "permlevel": 0, 
+   "print_hide": 1, 
    "read_only": 1
   }
- ],
- "icon": "icon-suitcase",
- "idx": 1,
- "is_submittable": 1,
- "modified": "2014-05-06 08:20:35.134198",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Packing Slip",
- "owner": "Administrator",
+ ], 
+ "icon": "icon-suitcase", 
+ "idx": 1, 
+ "is_submittable": 1, 
+ "modified": "2014-05-26 03:19:59.409839", 
+ "modified_by": "Administrator", 
+ "module": "Stock", 
+ "name": "Packing Slip", 
+ "owner": "Administrator", 
  "permissions": [
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Material User",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Material User", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales User",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Material Master Manager",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Material Master Manager", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Material Manager",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Material Manager", 
+   "submit": 1, 
    "write": 1
-  },
+  }, 
   {
-   "amend": 1,
-   "cancel": 1,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales Manager",
-   "submit": 1,
+   "amend": 1, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales Manager", 
+   "submit": 1, 
    "write": 1
   }
- ],
- "read_only_onload": 1,
+ ], 
+ "read_only_onload": 1, 
  "search_fields": "delivery_note"
-}
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py
index e1a8f44..0b12588 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.py
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.py
@@ -54,10 +54,12 @@
 
 		res = frappe.db.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 %(from_case_no)s BETWEEN from_case_no AND to_case_no)
-			""", self.as_dict())
+			((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 (%(from_case_no)s BETWEEN from_case_no AND to_case_no))
+			""", {"delivery_note":self.delivery_note,
+				"from_case_no":self.from_case_no,
+				"to_case_no":self.to_case_no}, debug=1)
 
 		if res:
 			frappe.throw(_("""Case No(s) already in use. Try from Case No {0}""").format(self.get_recommended_case_no()))