From 539f352318af8afeed26f6e4ed147a56d91c1e13 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 16 Jun 2014 15:03:02 +0530 Subject: [PATCH] Delivery note to packing slip mapping --- .../stock/doctype/delivery_note/delivery_note.js | 8 ++++---- .../stock/doctype/delivery_note/delivery_note.py | 16 ++++++++++++++++ .../doctype/material_request/material_request.py | 2 +- .../stock/doctype/packing_slip/packing_slip.js | 2 +- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js index fb94b88809..10fe6503e6 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.js +++ b/erpnext/stock/doctype/delivery_note/delivery_note.js @@ -118,10 +118,10 @@ cur_frm.fields_dict['transporter_name'].get_query = function(doc) { } cur_frm.cscript['Make Packing Slip'] = function() { - n = frappe.model.make_new_doc_and_get_name('Packing Slip'); - ps = locals["Packing Slip"][n]; - ps.delivery_note = cur_frm.doc.name; - loaddoc('Packing Slip', n); + frappe.model.open_mapped_doc({ + method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip", + frm: cur_frm + }) } var set_print_hide= function(doc, cdt, cdn){ diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index da7dd7af56..1600950fc5 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -346,3 +346,19 @@ def make_installation_note(source_name, target_doc=None): }, target_doc) return doclist + +@frappe.whitelist() +def make_packing_slip(source_name, target_doc=None): + doclist = get_mapped_doc("Delivery Note", source_name, { + "Delivery Note": { + "doctype": "Packing Slip", + "field_map": { + "name": "delivery_note" + }, + "validation": { + "docstatus": ["=", 0] + } + } + }, target_doc) + + return doclist diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index f8f0d097ff..9951fc88c2 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -48,7 +48,7 @@ class MaterialRequest(BuyingController): def validate_schedule_date(self): for d in self.get('indent_details'): - if d.schedule_date < self.transaction_date: + if d.schedule_date and d.schedule_date < self.transaction_date: frappe.throw(_("Expected Date cannot be before Material Request Date")) # Validate diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.js b/erpnext/stock/doctype/packing_slip/packing_slip.js index acdd27e1ab..9788290a1b 100644 --- a/erpnext/stock/doctype/packing_slip/packing_slip.js +++ b/erpnext/stock/doctype/packing_slip/packing_slip.js @@ -18,7 +18,7 @@ cur_frm.fields_dict['item_details'].grid.get_field('item_code').get_query = cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { if(doc.delivery_note && doc.__islocal) { - cur_frm.cscript.get_items(doc, cdt, cdn); + cur_frm.cscript.get_items(doc, cdt, cdn); } }