From bb03ec103b736ffd12148520d884609ca1be2ca9 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 01/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- .../doctype/purchase_order/purchase_order.js | 42 ++++++++++++++----- .../purchase_order/purchase_order.json | 33 ++++++++++++++- .../tests/test_purchase_order.js | 18 +++++++- .../purchase_order_item.json | 2 +- 4 files changed, 82 insertions(+), 13 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index 8134e7e701..2e5c74094e 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -1,4 +1,3 @@ - // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt @@ -16,6 +15,8 @@ frappe.ui.form.on("Purchase Order", { }, onload: function(frm) { + set_schedule_date(frm); + erpnext.queries.setup_queries(frm, "Warehouse", function() { return erpnext.queries.warehouse(frm.doc); }); @@ -120,12 +121,7 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( }, validate: function() { - // set default schedule date as today if missing. - (this.frm.doc.items || []).forEach(function(d) { - if(!d.schedule_date) { - d.schedule_date = frappe.datetime.nowdate(); - } - }) + set_schedule_date(cur_frm); }, make_stock_entry: function() { @@ -214,7 +210,10 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( items_add: function(doc, cdt, cdn) { var row = frappe.get_doc(cdt, cdn); - this.frm.script_manager.copy_from_first_row("items", row, ["schedule_date"]); + if(doc.schedule_date) { + row.schedule_date = doc.schedule_date; + refresh_field("schedule_date", cdn, "items"); + } }, unclose_purchase_order: function(){ @@ -227,7 +226,20 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( delivered_by_supplier: function(){ cur_frm.cscript.update_status('Deliver', 'Delivered') - } + }, + + get_last_purchase_rate: function() { + frappe.call({ + "method": "get_last_purchase_rate", + "doc": cur_frm.doc, + callback: function(r, rt) { + cur_frm.dirty(); + cur_frm.cscript.calculate_taxes_and_totals(); + } + }) + }, + + items_on_form_rendered: set_schedule_date(cur_frm), }); @@ -270,8 +282,18 @@ cur_frm.cscript.on_submit = function(doc, cdt, cdn) { } } +function set_schedule_date(frm) { + if(!frm.doc.schedule_date){ + frm.doc.schedule_date = frappe.datetime.add_days(frappe.datetime.now_date(), 1); + } + erpnext.utils.copy_value_in_all_row(frm.doc, frm.doc.doctype, frm.doc.name, "items", "schedule_date"); +} + cur_frm.cscript.schedule_date = function(doc, cdt, cdn) { - erpnext.utils.copy_value_in_all_row(doc, cdt, cdn, "items", "schedule_date"); + var row = frappe.get_doc(cdt, cdn); + if(row.schedule_date){ + set_schedule_date(cur_frm); + } } frappe.provide("erpnext.buying"); diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 07a80b87bd..43b4a55dbd 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -291,7 +291,38 @@ "search_index": 1, "set_only_once": 0, "unique": 0 - }, + }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 1, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "Today", + "fieldname": "schedule_date", + "fieldtype": "Date", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Reqd By Date", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index e6529e60db..a818992db3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,12 +13,21 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} + ], + [ + {"item_code": 'Test Product 1'}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, + {"qty": 2}, + {"uom": 'Unit'}, + {"rate": 100}, + {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ] ]}, @@ -30,12 +39,19 @@ QUnit.test("test: purchase order", function(assert) { () => { // Get supplier details assert.ok(cur_frm.doc.supplier_name == 'Test Supplier', "Supplier name correct"); + assert.ok(cur_frm.doc.schedule_date == frappe.datetime.add_days(frappe.datetime.now_date(), 1), "Schedule Date correct"); assert.ok($('div.control-value.like-disabled-input.for-description').text().includes('Contact 3'), "Contact display correct"); assert.ok(cur_frm.doc.contact_email == 'test@supplier.com', "Contact email correct"); // Get item details assert.ok(cur_frm.doc.items[0].item_name == 'Test Product 4', "Item name correct"); assert.ok(cur_frm.doc.items[0].description == 'Test Product 4', "Description correct"); assert.ok(cur_frm.doc.items[0].qty == 5, "Quantity correct"); + assert.ok(cur_frm.doc.items[0].schedule_date == frappe.datetime.add_days(frappe.datetime.now_date(), 2), "Schedule Date correct"); + + assert.ok(cur_frm.doc.items[1].item_name == 'Test Product 1', "Item name correct"); + assert.ok(cur_frm.doc.items[1].description == 'Test Product 1', "Description correct"); + assert.ok(cur_frm.doc.items[1].qty == 2, "Quantity correct"); + assert.ok(cur_frm.doc.items[1].schedule_date == cur_frm.doc.schedule_date, "Schedule Date correct"); // Calculate total assert.ok(cur_frm.doc.total == 500, "Total correct"); // Get terms diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json index 1ddce628a2..45a6c7296a 100755 --- a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json +++ b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json @@ -148,7 +148,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_global_search": 0, - "in_list_view": 0, + "in_list_view": 1, "in_standard_filter": 0, "label": "Reqd By Date", "length": 0, From 9d497a984bd282e11be0d4061a072a126485657c Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 02/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index a818992db3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 9da25f568d1a3db829a6a3c92e83ff0131b66951 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 11:05:36 +0800 Subject: [PATCH 03/28] Set PO Reqd By Date default in code, to next date --- erpnext/buying/doctype/purchase_order/purchase_order.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 43b4a55dbd..83bd323733 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -298,7 +298,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "default": "Today", + "default": "", "fieldname": "schedule_date", "fieldtype": "Date", "hidden": 0, From 2315a79b5f02fa7d7a7e69809f656d60277b939a Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 04/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- erpnext/buying/doctype/purchase_order/purchase_order.json | 2 +- .../doctype/purchase_order/tests/test_purchase_order.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 83bd323733..2abd5c3fcb 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -324,7 +324,7 @@ "unique": 0 }, { - "allow_bulk_edit": 0, + "allow_bulk_edit": 0, "allow_on_submit": 0, "bold": 0, "collapsible": 0, diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 6605a65170..966238cb87 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,14 +13,14 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From c429a6e688e060109ea5b49a3ef90273cdeac49d Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 05/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 966238cb87..ffc6874de3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 9626ed79fa8834c7f2e91ca22b657137ce1c0f78 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 14:28:42 +0800 Subject: [PATCH 06/28] Add patch to update schedule date of submitted Purchase Orders --- erpnext/patches/v8_11/__init__.py | 0 .../set_schedule_date_for_purchase_order.py | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 erpnext/patches/v8_11/__init__.py create mode 100644 erpnext/patches/v8_11/set_schedule_date_for_purchase_order.py diff --git a/erpnext/patches/v8_11/__init__.py b/erpnext/patches/v8_11/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/erpnext/patches/v8_11/set_schedule_date_for_purchase_order.py b/erpnext/patches/v8_11/set_schedule_date_for_purchase_order.py new file mode 100644 index 0000000000..3c733b1a16 --- /dev/null +++ b/erpnext/patches/v8_11/set_schedule_date_for_purchase_order.py @@ -0,0 +1,20 @@ +# Copyright (c) 2017, Frappe and Contributors +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals +import frappe + +def execute(): + frappe.reload_doctype("Purchase Order") + frappe.reload_doctype("Purchase Order Item") + + if not frappe.db.has_column("Purchase Order", "schedule_date"): + return + + #Update only submitted PO + for po in frappe.get_all("Purchase Order", filters= [["docstatus", "=", 1]], fields=["name"]): + purchase_order = frappe.get_doc("Purchase Order", po) + if purchase_order.items: + if not purchase_order.schedule_date: + purchase_order.schedule_date = purchase_order.items[0].schedule_date + purchase_order.save() \ No newline at end of file From e3ed8b7cb32f3bc3807505e2a945eb6308225ef8 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 14:54:50 +0800 Subject: [PATCH 07/28] [fix] tests --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index ffc6874de3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,7 +13,7 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, From f29969a5cc674d7302ff549b6d1cdfb1c74d9121 Mon Sep 17 00:00:00 2001 From: schilgod Date: Mon, 25 Sep 2017 21:21:56 +0800 Subject: [PATCH 08/28] update test records --- erpnext/buying/doctype/purchase_order/test_records.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/test_records.json b/erpnext/buying/doctype/purchase_order/test_records.json index 2c2e792176..74b8f1b429 100644 --- a/erpnext/buying/doctype/purchase_order/test_records.json +++ b/erpnext/buying/doctype/purchase_order/test_records.json @@ -30,7 +30,8 @@ ], "supplier": "_Test Supplier", "supplier_name": "_Test Supplier", - "transaction_date": "2013-02-12" + "transaction_date": "2013-02-12", + "schedule_date": "2013-02-13" }, { "advance_paid": 0.0, @@ -63,6 +64,7 @@ ], "supplier": "_Test Supplier", "supplier_name": "_Test Supplier", - "transaction_date": "2013-02-12" + "transaction_date": "2013-02-12", + "schedule_date": "2013-02-13" } ] From 69e88ffa39881e0f9741860fe475575a6284ddd9 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 09/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- erpnext/buying/doctype/purchase_order/purchase_order.json | 2 +- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 2abd5c3fcb..dedac4241b 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -298,7 +298,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "default": "", + "default": "Today", "fieldname": "schedule_date", "fieldtype": "Date", "hidden": 0, diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 6605a65170..a818992db3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 0f73f90fa2b7b6fbbb70faf827f4155f2f34ecca Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 10/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index a818992db3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 962cef470a6fcba7f52bf35f39303bb60bb073f4 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 11:05:36 +0800 Subject: [PATCH 11/28] Set PO Reqd By Date default in code, to next date --- erpnext/buying/doctype/purchase_order/purchase_order.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index dedac4241b..2abd5c3fcb 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -298,7 +298,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "default": "Today", + "default": "", "fieldname": "schedule_date", "fieldtype": "Date", "hidden": 0, From 122981d465378a455f7b72e5a66bf20ddc4068c2 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 12/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- .../doctype/purchase_order/tests/test_purchase_order.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 6605a65170..966238cb87 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,14 +13,14 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From bd121486a8d726510bbe30597f8b51aa519357b6 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 13/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 966238cb87..ffc6874de3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From f07e53b7a8cf9cc6d49312d5e2a287e6fd624a44 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 14:54:50 +0800 Subject: [PATCH 14/28] [fix] tests --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index ffc6874de3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,7 +13,7 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, From 3a22fd15353c036006c84f1f1bc52f3e68866eb3 Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 26 Sep 2017 12:21:41 +0800 Subject: [PATCH 15/28] Add schedule_date when creating Purchase Order --- erpnext/buying/doctype/purchase_order/test_purchase_order.py | 1 + erpnext/demo/user/purchase.py | 1 + 2 files changed, 2 insertions(+) diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index 17786aa443..500fc37966 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -149,6 +149,7 @@ def create_purchase_order(**args): if args.transaction_date: po.transaction_date = args.transaction_date + po.schedule_date = add_days(nowdate(), 1) po.company = args.company or "_Test Company" po.supplier = args.customer or "_Test Supplier" po.is_subcontracted = args.is_subcontracted or "No" diff --git a/erpnext/demo/user/purchase.py b/erpnext/demo/user/purchase.py index 960a3169cf..6129bf9f51 100644 --- a/erpnext/demo/user/purchase.py +++ b/erpnext/demo/user/purchase.py @@ -128,6 +128,7 @@ def make_subcontract(): po = frappe.new_doc("Purchase Order") po.is_subcontracted = "Yes" po.supplier = get_random("Supplier") + po.schedule_date = frappe.utils.add_days(frappe.flags.current_date, 7) item_code = get_random("Item", {"is_sub_contracted_item": 1}) From f2e2e23b6b293f3de24333bb90d6394e07a6ea64 Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 26 Sep 2017 13:35:04 +0800 Subject: [PATCH 16/28] [fix] tests --- .../tests/test_purchase_order_with_taxes_and_charges.js | 1 + erpnext/stock/doctype/material_request/test_material_request.py | 1 + 2 files changed, 2 insertions(+) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_taxes_and_charges.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_taxes_and_charges.js index 9d87af2342..27129fb3b8 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_taxes_and_charges.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_taxes_and_charges.js @@ -11,6 +11,7 @@ QUnit.test("test: purchase order with taxes and charges", function(assert) { {is_subcontracted: 'No'}, {buying_price_list: 'Test-Buying-USD'}, {currency: 'USD'}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {items: [ [ {"item_code": 'Test Product 4'}, diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index 1531f4096e..709b8c720c 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -206,6 +206,7 @@ class TestMaterialRequest(unittest.TestCase): po_doc = make_purchase_order(mr.name) po_doc.supplier = "_Test Supplier" po_doc.transaction_date = "2013-07-07" + po_doc.schedule_date = "2013-07-09" po_doc.get("items")[0].qty = 27.0 po_doc.get("items")[1].qty = 1.5 po_doc.get("items")[0].schedule_date = "2013-07-09" From 869b878286cf26937124d8640103a54572bd744d Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 26 Sep 2017 14:42:49 +0800 Subject: [PATCH 17/28] set schedule_Date when creating po --- erpnext/buying/doctype/purchase_order/purchase_order.json | 2 +- erpnext/buying/doctype/purchase_order/test_purchase_order.py | 1 + .../buying/doctype/supplier_quotation/supplier_quotation.py | 3 ++- erpnext/selling/doctype/sales_order/sales_order.py | 3 ++- erpnext/stock/doctype/material_request/material_request.py | 4 +++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 2abd5c3fcb..3afbb33d76 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -3458,7 +3458,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2017-09-22 16:11:49.856808", + "modified": "2017-09-26 14:19:04.102534", "modified_by": "Administrator", "module": "Buying", "name": "Purchase Order", diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index 500fc37966..175fb931bc 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -118,6 +118,7 @@ class TestPurchaseOrder(unittest.TestCase): "company": "_Test Company", "supplier" : "_Test Supplier", "is_subcontracted" : "No", + "schedule_Date": add_days(nowdate(), 1), "currency" : frappe.db.get_value("Company", "_Test Company", "default_currency"), "conversion_factor" : 1, "items" : get_same_items(), diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py index b3d92be4b6..055ac0bab6 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import frappe from frappe import _ -from frappe.utils import flt +from frappe.utils import flt, nowdate, add_days from frappe.model.mapper import get_mapped_doc from erpnext.controllers.buying_controller import BuyingController @@ -104,6 +104,7 @@ def get_list_context(context=None): def make_purchase_order(source_name, target_doc=None): def set_missing_values(source, target): target.ignore_pricing_rule = 1 + target.schedule_Date = add_days(nowdate(), 1) target.run_method("set_missing_values") target.run_method("get_schedule_dates") target.run_method("calculate_taxes_and_totals") diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 8720482549..219462f9c9 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import frappe import json import frappe.utils -from frappe.utils import cstr, flt, getdate, comma_and, cint +from frappe.utils import cstr, flt, getdate, comma_and, cint, nowdate, add_days from frappe import _ from frappe.model.utils import get_fetch_values from frappe.model.mapper import get_mapped_doc @@ -658,6 +658,7 @@ def make_purchase_order_for_drop_shipment(source_name, for_supplier, target_doc= target.apply_discount_on = "" target.additional_discount_percentage = 0.0 target.discount_amount = 0.0 + target.schedule_date = add_days(nowdate(), 1) default_price_list = frappe.get_value("Supplier", for_supplier, "default_price_list") if default_price_list: diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 65263a0694..3d0a086308 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -7,7 +7,7 @@ from __future__ import unicode_literals import frappe -from frappe.utils import cstr, flt, getdate, new_line_sep +from frappe.utils import cstr, flt, getdate, new_line_sep, nowdate, add_days from frappe import msgprint, _ from frappe.model.mapper import get_mapped_doc from erpnext.stock.stock_balance import update_bin_qty, get_indented_qty @@ -228,6 +228,7 @@ def update_item(obj, target, source_parent): @frappe.whitelist() def make_purchase_order(source_name, target_doc=None): def postprocess(source, target_doc): + target_doc.schedule_Date = add_days(nowdate(), 1) set_missing_values(source, target_doc) doclist = get_mapped_doc("Material Request", source_name, { @@ -287,6 +288,7 @@ def make_purchase_order_based_on_supplier(source_name, target_doc=None): def postprocess(source, target_doc): target_doc.supplier = source_name + target_doc.schedule_Date = add_days(nowdate(), 1) target_doc.set("items", [d for d in target_doc.get("items") if d.get("item_code") in supplier_items and d.get("qty") > 0]) From 47eac28f0a1d030c8deea085e004e2d00e12452e Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 18/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- erpnext/buying/doctype/purchase_order/purchase_order.json | 2 +- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 3afbb33d76..067640360d 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -3458,7 +3458,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2017-09-26 14:19:04.102534", + "modified": "2017-09-26 14:19:04.102534", "modified_by": "Administrator", "module": "Buying", "name": "Purchase Order", diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 6605a65170..a818992db3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 34a8fb410063475c011171ea894a0b11e2ab7288 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 19/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index a818992db3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From c2befc59d19e68dbf9f81ea28d5d125342dee193 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 20/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- .../doctype/purchase_order/tests/test_purchase_order.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 6605a65170..966238cb87 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,14 +13,14 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 9ded8a7290068e064dc96f19fb6e0cfcb23db98e Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 21/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 966238cb87..ffc6874de3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From 73f4eef40ff493b8635b9a31891ede6015ef1159 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 14:54:50 +0800 Subject: [PATCH 22/28] [fix] tests --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index ffc6874de3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,7 +13,7 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, From 0f2b21f88bf32256e7b022f24df389da596eab4b Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 01:03:12 +0800 Subject: [PATCH 23/28] Add Purchase Order schedule_date field, similar to delivery_date in Sales Order --- .../doctype/purchase_order/tests/test_purchase_order.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 6605a65170..966238cb87 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,14 +13,14 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From a456901e9fa210ac2f5352da379f096725fd42dc Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 10:54:45 +0800 Subject: [PATCH 24/28] [fix] Codacy errors --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index 966238cb87..ffc6874de3 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -20,7 +20,7 @@ QUnit.test("test: purchase order", function(assert) { {"rate": 100}, {"warehouse": 'Stores - '+frappe.get_abbr(frappe.defaults.get_default("Company"))} ], - [ + [ {"item_code": 'Test Product 1'}, {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, From b387b3cca0a665784a848929971c4533958bf502 Mon Sep 17 00:00:00 2001 From: Sunny Date: Mon, 25 Sep 2017 14:54:50 +0800 Subject: [PATCH 25/28] [fix] tests --- .../buying/doctype/purchase_order/tests/test_purchase_order.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js index ffc6874de3..6605a65170 100644 --- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order.js @@ -13,7 +13,7 @@ QUnit.test("test: purchase order", function(assert) { {items: [ [ {"item_code": 'Test Product 4'}, - {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 2)}, {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, {"qty": 5}, {"uom": 'Unit'}, From c6f25ba996e941f9e6e165904fab63ab2a53c5ef Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 26 Sep 2017 17:03:37 +0800 Subject: [PATCH 26/28] correct field name --- erpnext/buying/doctype/purchase_order/test_purchase_order.py | 2 +- .../buying/doctype/supplier_quotation/supplier_quotation.py | 2 +- erpnext/stock/doctype/material_request/material_request.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index 175fb931bc..2af55825d4 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -118,7 +118,7 @@ class TestPurchaseOrder(unittest.TestCase): "company": "_Test Company", "supplier" : "_Test Supplier", "is_subcontracted" : "No", - "schedule_Date": add_days(nowdate(), 1), + "schedule_date": add_days(nowdate(), 1), "currency" : frappe.db.get_value("Company", "_Test Company", "default_currency"), "conversion_factor" : 1, "items" : get_same_items(), diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py index 055ac0bab6..e93622338f 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py @@ -104,7 +104,7 @@ def get_list_context(context=None): def make_purchase_order(source_name, target_doc=None): def set_missing_values(source, target): target.ignore_pricing_rule = 1 - target.schedule_Date = add_days(nowdate(), 1) + target.schedule_date = add_days(nowdate(), 1) target.run_method("set_missing_values") target.run_method("get_schedule_dates") target.run_method("calculate_taxes_and_totals") diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 3d0a086308..5719378c2b 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -228,7 +228,7 @@ def update_item(obj, target, source_parent): @frappe.whitelist() def make_purchase_order(source_name, target_doc=None): def postprocess(source, target_doc): - target_doc.schedule_Date = add_days(nowdate(), 1) + target_doc.schedule_date = add_days(nowdate(), 1) set_missing_values(source, target_doc) doclist = get_mapped_doc("Material Request", source_name, { @@ -288,7 +288,7 @@ def make_purchase_order_based_on_supplier(source_name, target_doc=None): def postprocess(source, target_doc): target_doc.supplier = source_name - target_doc.schedule_Date = add_days(nowdate(), 1) + target_doc.schedule_date = add_days(nowdate(), 1) target_doc.set("items", [d for d in target_doc.get("items") if d.get("item_code") in supplier_items and d.get("qty") > 0]) From 42c74a63655ba9d2a027dca6ed780b146e8ee7e2 Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 26 Sep 2017 17:47:23 +0800 Subject: [PATCH 27/28] set schedule_date when creating po --- erpnext/stock/doctype/material_request/material_request.py | 1 - 1 file changed, 1 deletion(-) diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 5719378c2b..4792fca2b4 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -288,7 +288,6 @@ def make_purchase_order_based_on_supplier(source_name, target_doc=None): def postprocess(source, target_doc): target_doc.supplier = source_name - target_doc.schedule_date = add_days(nowdate(), 1) target_doc.set("items", [d for d in target_doc.get("items") if d.get("item_code") in supplier_items and d.get("qty") > 0]) From 38647ed832384273717491753bc08dd6a2bbcdcd Mon Sep 17 00:00:00 2001 From: Sunny Date: Thu, 28 Sep 2017 15:03:05 +0800 Subject: [PATCH 28/28] move Purchase Order patch to v9 --- erpnext/patches.txt | 1 + erpnext/patches/v8_11/__init__.py | 0 .../{v8_11 => v9_0}/set_schedule_date_for_purchase_order.py | 0 erpnext/stock/doctype/material_request/material_request.py | 2 +- 4 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 erpnext/patches/v8_11/__init__.py rename erpnext/patches/{v8_11 => v9_0}/set_schedule_date_for_purchase_order.py (100%) diff --git a/erpnext/patches.txt b/erpnext/patches.txt index e75c490a36..f14980447c 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -448,3 +448,4 @@ erpnext.patches.v8_9.remove_employee_from_salary_structure_parent erpnext.patches.v8_9.delete_gst_doctypes_for_outside_india_accounts erpnext.patches.v8_9.set_default_fields_in_variant_settings erpnext.patches.v8_9.update_billing_gstin_for_indian_account +erpnext.patches.v9_0.set_schedule_date_for_purchase_order \ No newline at end of file diff --git a/erpnext/patches/v8_11/__init__.py b/erpnext/patches/v8_11/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/patches/v8_11/set_schedule_date_for_purchase_order.py b/erpnext/patches/v9_0/set_schedule_date_for_purchase_order.py similarity index 100% rename from erpnext/patches/v8_11/set_schedule_date_for_purchase_order.py rename to erpnext/patches/v9_0/set_schedule_date_for_purchase_order.py diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 4792fca2b4..f8985128b6 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -288,7 +288,7 @@ def make_purchase_order_based_on_supplier(source_name, target_doc=None): def postprocess(source, target_doc): target_doc.supplier = source_name - + target_doc.schedule_date = add_days(nowdate(), 1) target_doc.set("items", [d for d in target_doc.get("items") if d.get("item_code") in supplier_items and d.get("qty") > 0])