Merge pull request #1686 from rmehta/develop
Fixes
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.js b/erpnext/setup/doctype/sales_partner/sales_partner.js
index 8f12aa9..b12c01b 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.js
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.js
@@ -7,8 +7,8 @@
}
-cur_frm.cscript.refresh = function(doc,dt,dn){
-
+cur_frm.cscript.refresh = function(doc,dt,dn){
+
if(doc.__islocal){
hide_field(['address_html', 'contact_html']);
}
@@ -34,20 +34,13 @@
address.address_title = cur_frm.doc.name;
address.address_type = "Office";
frappe.set_route("Form", "Address", address.name);
- },
+ },
get_query: function() {
return "select name, address_type, address_line1, address_line2, city, state, country, pincode, fax, email_id, phone, is_primary_address, is_shipping_address from tabAddress where sales_partner='"+cur_frm.docname+"' and docstatus != 2 order by is_primary_address desc"
},
as_dict: 1,
no_results_message: __('No addresses created'),
- render_row: function(wrapper, data) {
- $(wrapper).css('padding','5px 0px');
- var link = $ln(wrapper,cstr(data.name), function() { loaddoc("Address", this.dn); }, {fontWeight:'bold'});
- link.dn = data.name
-
- $a(wrapper,'span','',{marginLeft:'5px', color: '#666'},(data.is_primary_address ? '[Primary]' : '') + (data.is_shipping_address ? '[Shipping]' : ''));
- $a(wrapper,'div','',{marginTop:'5px', color:'#555'}, data.address_line1 + '<br />' + (data.address_line2 ? data.address_line2 + '<br />' : '') + data.city + '<br />' + (data.state ? data.state + ', ' : '') + data.country + '<br />' + (data.pincode ? 'Pincode: ' + data.pincode + '<br />' : '') + (data.phone ? 'Tel: ' + data.phone + '<br />' : '') + (data.fax ? 'Fax: ' + data.fax + '<br />' : '') + (data.email_id ? 'Email: ' + data.email_id + '<br />' : ''));
- }
+ render_row: cur_frm.cscript.render_address_row,
});
}
cur_frm.address_list.run();
@@ -70,14 +63,7 @@
},
as_dict: 1,
no_results_message: __('No contacts created'),
- render_row: function(wrapper, data) {
- $(wrapper).css('padding', '5px 0px');
- var link = $ln(wrapper, cstr(data.name), function() { loaddoc("Contact", this.dn); }, {fontWeight:'bold'});
- link.dn = data.name
-
- $a(wrapper,'span','',{marginLeft:'5px', color: '#666'},(data.is_primary_contact ? '[Primary]' : ''));
- $a(wrapper,'div', '',{marginTop:'5px', color:'#555'}, data.first_name + (data.last_name ? ' ' + data.last_name + '<br />' : '<br>') + (data.phone ? 'Tel: ' + data.phone + '<br />' : '') + (data.mobile_no ? 'Mobile: ' + data.mobile_no + '<br />' : '') + (data.email_id ? 'Email: ' + data.email_id + '<br />' : '') + (data.department ? 'Department: ' + data.department + '<br />' : '') + (data.designation ? 'Designation: ' + data.designation + '<br />' : ''));
- }
+ render_row: cur_frm.cscript.render_contact_row,
});
}
cur_frm.contact_list.run();
@@ -87,4 +73,4 @@
return{
filters:{ 'is_group': "No" }
}
-}
\ No newline at end of file
+}
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..e3d0199 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})
if res:
frappe.throw(_("""Case No(s) already in use. Try from Case No {0}""").format(self.get_recommended_case_no()))