mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-04 05:58:27 +00:00
[mappers] cleanup, remove dt_map, map_doclist and other such functions
This commit is contained in:
@@ -72,6 +72,13 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten
|
||||
return;
|
||||
},
|
||||
|
||||
pull_sales_order_details: function(doc) {
|
||||
wn.model.map_current_doc({
|
||||
method: "selling.doctype.sales_order.sales_order.make_material_request",
|
||||
source_name: cur_frm.doc.sales_order_no,
|
||||
});
|
||||
},
|
||||
|
||||
make_purchase_order: function() {
|
||||
wn.model.open_mapped_doc({
|
||||
method: "stock.doctype.material_request.material_request.make_purchase_order",
|
||||
|
||||
@@ -21,15 +21,6 @@ class DocType(BuyingController):
|
||||
def get_bin_details(self, arg = ''):
|
||||
return get_obj(dt='Purchase Common').get_bin_details(arg)
|
||||
|
||||
# Pull Sales Order Items
|
||||
# -------------------------
|
||||
def pull_so_details(self):
|
||||
self.check_if_already_pulled()
|
||||
if self.doc.sales_order_no:
|
||||
get_obj('DocType Mapper', 'Sales Order-Material Request', with_children=1).dt_map('Sales Order', 'Material Request', self.doc.sales_order_no, self.doc, self.doclist, "[['Sales Order', 'Material Request'],['Sales Order Item', 'Material Request Item']]")
|
||||
else:
|
||||
msgprint("Please select Sales Order whose details need to pull")
|
||||
|
||||
def check_if_already_pulled(self):
|
||||
pass#if self.[d.sales_order_no for d in getlist(self.doclist, 'indent_details')]
|
||||
|
||||
@@ -303,10 +294,10 @@ def make_supplier_quotation(source_name, target_doclist=None):
|
||||
def make_stock_entry(source_name, target_doclist=None):
|
||||
from webnotes.model.mapper import get_mapped_doclist
|
||||
|
||||
def set_purpose(source, target, source_parent):
|
||||
def set_purpose(source, target):
|
||||
target[0].purpose = "Material Transfer"
|
||||
|
||||
def update_item(source, target):
|
||||
def update_item(source, target, source_parent):
|
||||
target.conversion_factor = 1
|
||||
target.qty = flt(source.qty) - flt(source.ordered_qty)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-03-07 14:48:38",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-05 14:46:13",
|
||||
"modified": "2013-07-08 11:02:12",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@@ -134,8 +134,7 @@
|
||||
"doctype": "DocField",
|
||||
"fieldname": "pull_sales_order_details",
|
||||
"fieldtype": "Button",
|
||||
"label": "Pull Sales Order Items",
|
||||
"options": "pull_so_details"
|
||||
"label": "Pull Sales Order Items"
|
||||
},
|
||||
{
|
||||
"default": "Give additional details about the indent.",
|
||||
|
||||
@@ -116,17 +116,8 @@ class TestMaterialRequest(unittest.TestCase):
|
||||
self._test_requested_qty(54.0, 3.0)
|
||||
|
||||
# map a purchase order
|
||||
po_doclist = webnotes.map_doclist([["Material Request", "Purchase Order"],
|
||||
["Material Request Item", "Purchase Order Item"]], mr.doc.name)
|
||||
po_doclist[0].fields.update({
|
||||
"supplier": "_Test Supplier",
|
||||
"supplier_name": "_Test Supplier",
|
||||
"transaction_date": mr.doc.transaction_date,
|
||||
"fiscal_year": "_Test Fiscal Year 2013",
|
||||
"currency": "INR",
|
||||
"conversion_rate": 1.0,
|
||||
"grand_total_import": 0.0
|
||||
})
|
||||
from stock.doctype.material_request.material_request import make_purchase_order
|
||||
po_doclist = make_purchase_order(mr.doc.name)
|
||||
po_doclist[1].qty = 27.0
|
||||
po_doclist[2].qty = 1.5
|
||||
|
||||
@@ -167,22 +158,23 @@ class TestMaterialRequest(unittest.TestCase):
|
||||
self._test_expected(mr.doclist, [{"per_ordered": None}, {"ordered_qty": None}, {"ordered_qty": None}])
|
||||
|
||||
self._test_requested_qty(54.0, 3.0)
|
||||
|
||||
|
||||
from stock.doctype.material_request.material_request import make_stock_entry
|
||||
|
||||
# map a stock entry
|
||||
se_doclist = webnotes.map_doclist([["Material Request", "Stock Entry"],
|
||||
["Material Request Item", "Stock Entry Detail"]], mr.doc.name)
|
||||
se_doclist[0].fields.update({
|
||||
se_doclist = make_stock_entry(mr.doc.name)
|
||||
se_doclist[0].update({
|
||||
"posting_date": "2013-03-01",
|
||||
"posting_time": "01:00",
|
||||
"fiscal_year": "_Test Fiscal Year 2013",
|
||||
})
|
||||
se_doclist[1].fields.update({
|
||||
se_doclist[1].update({
|
||||
"qty": 27.0,
|
||||
"transfer_qty": 27.0,
|
||||
"s_warehouse": "_Test Warehouse 1",
|
||||
"incoming_rate": 1.0
|
||||
})
|
||||
se_doclist[2].fields.update({
|
||||
se_doclist[2].update({
|
||||
"qty": 1.5,
|
||||
"transfer_qty": 1.5,
|
||||
"s_warehouse": "_Test Warehouse 1",
|
||||
@@ -231,20 +223,21 @@ class TestMaterialRequest(unittest.TestCase):
|
||||
self._test_requested_qty(54.0, 3.0)
|
||||
|
||||
# map a stock entry
|
||||
se_doclist = webnotes.map_doclist([["Material Request", "Stock Entry"],
|
||||
["Material Request Item", "Stock Entry Detail"]], mr.doc.name)
|
||||
se_doclist[0].fields.update({
|
||||
from stock.doctype.material_request.material_request import make_stock_entry
|
||||
|
||||
se_doclist = make_stock_entry(mr.doc.name)
|
||||
se_doclist[0].update({
|
||||
"posting_date": "2013-03-01",
|
||||
"posting_time": "00:00",
|
||||
"fiscal_year": "_Test Fiscal Year 2013",
|
||||
})
|
||||
se_doclist[1].fields.update({
|
||||
se_doclist[1].update({
|
||||
"qty": 60.0,
|
||||
"transfer_qty": 60.0,
|
||||
"s_warehouse": "_Test Warehouse 1",
|
||||
"incoming_rate": 1.0
|
||||
})
|
||||
se_doclist[2].fields.update({
|
||||
se_doclist[2].update({
|
||||
"qty": 3.0,
|
||||
"transfer_qty": 3.0,
|
||||
"s_warehouse": "_Test Warehouse 1",
|
||||
@@ -285,21 +278,22 @@ class TestMaterialRequest(unittest.TestCase):
|
||||
mr.submit()
|
||||
|
||||
# map a stock entry
|
||||
se_doclist = webnotes.map_doclist([["Material Request", "Stock Entry"],
|
||||
["Material Request Item", "Stock Entry Detail"]], mr.doc.name)
|
||||
se_doclist[0].fields.update({
|
||||
from stock.doctype.material_request.material_request import make_stock_entry
|
||||
|
||||
se_doclist = make_stock_entry(mr.doc.name)
|
||||
se_doclist[0].update({
|
||||
"posting_date": "2013-03-01",
|
||||
"posting_time": "00:00",
|
||||
"fiscal_year": "_Test Fiscal Year 2013",
|
||||
})
|
||||
se_doclist[1].fields.update({
|
||||
se_doclist[1].update({
|
||||
"qty": 60.0,
|
||||
"transfer_qty": 60.0,
|
||||
"s_warehouse": "_Test Warehouse",
|
||||
"t_warehouse": "_Test Warehouse 1",
|
||||
"incoming_rate": 1.0
|
||||
})
|
||||
se_doclist[2].fields.update({
|
||||
se_doclist[2].update({
|
||||
"qty": 3.0,
|
||||
"transfer_qty": 3.0,
|
||||
"s_warehouse": "_Test Warehouse 1",
|
||||
|
||||
@@ -278,7 +278,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
self._insert_material_receipt()
|
||||
|
||||
from stock.doctype.delivery_note.test_delivery_note \
|
||||
import test_records as delivery_note_test_records
|
||||
import test_records as delivery_note_test_records, make_sales_invoice
|
||||
|
||||
actual_qty_0 = self._get_actual_qty()
|
||||
|
||||
@@ -292,11 +292,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
|
||||
self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1)
|
||||
|
||||
si_doclist = webnotes.map_doclist([
|
||||
["Delivery Note", "Sales Invoice"],
|
||||
["Delivery Note Item", "Sales Invoice Item"],
|
||||
["Sales Taxes and Charges", "Sales Taxes and Charges"],
|
||||
["Sales Team", "Sales Team"]], dn.doc.name)
|
||||
si_doclist = make_sales_invoice(dn.doc.name)
|
||||
|
||||
si = webnotes.bean(si_doclist)
|
||||
si.doc.posting_date = dn.doc.posting_date
|
||||
@@ -366,7 +362,8 @@ class TestStockEntry(unittest.TestCase):
|
||||
self._insert_material_receipt()
|
||||
|
||||
from selling.doctype.sales_order.test_sales_order \
|
||||
import test_records as sales_order_test_records
|
||||
import test_records as sales_order_test_records,
|
||||
make_sales_invoice, make_delivery_note
|
||||
|
||||
actual_qty_0 = self._get_actual_qty()
|
||||
|
||||
@@ -376,11 +373,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
so.insert()
|
||||
so.submit()
|
||||
|
||||
dn_doclist = webnotes.map_doclist([
|
||||
["Sales Order", "Delivery Note"],
|
||||
["Sales Order Item", "Delivery Note Item"],
|
||||
["Sales Taxes and Charges", "Sales Taxes and Charges"],
|
||||
["Sales Team", "Sales Team"]], so.doc.name)
|
||||
dn_doclist = make_delivery_note(so.doc.name)
|
||||
|
||||
dn = webnotes.bean(dn_doclist)
|
||||
dn.doc.status = "Draft"
|
||||
@@ -392,11 +385,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
|
||||
self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1)
|
||||
|
||||
si_doclist = webnotes.map_doclist([
|
||||
["Sales Order", "Sales Invoice"],
|
||||
["Sales Order Item", "Sales Invoice Item"],
|
||||
["Sales Taxes and Charges", "Sales Taxes and Charges"],
|
||||
["Sales Team", "Sales Team"]], so.doc.name)
|
||||
si_doclist = make_sales_invoice(so.doc.name)
|
||||
|
||||
si = webnotes.bean(si_doclist)
|
||||
si.doc.posting_date = dn.doc.posting_date
|
||||
@@ -429,7 +418,8 @@ class TestStockEntry(unittest.TestCase):
|
||||
actual_qty_0 = self._get_actual_qty()
|
||||
|
||||
from stock.doctype.purchase_receipt.test_purchase_receipt \
|
||||
import test_records as purchase_receipt_test_records
|
||||
import test_records as purchase_receipt_test_records,
|
||||
make_purchase_invoice
|
||||
|
||||
# submit purchase receipt
|
||||
pr = webnotes.bean(copy=purchase_receipt_test_records[0])
|
||||
@@ -440,10 +430,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
|
||||
self.assertEquals(actual_qty_0 + 10, actual_qty_1)
|
||||
|
||||
pi_doclist = webnotes.map_doclist([
|
||||
["Purchase Receipt", "Purchase Invoice"],
|
||||
["Purchase Receipt Item", "Purchase Invoice Item"],
|
||||
["Purchase Taxes and Charges", "Purchase Taxes and Charges"]], pr.doc.name)
|
||||
pi_doclist = make_purchase_invoice(pr.doc.name)
|
||||
|
||||
pi = webnotes.bean(pi_doclist)
|
||||
pi.doc.posting_date = pr.doc.posting_date
|
||||
@@ -519,7 +506,8 @@ class TestStockEntry(unittest.TestCase):
|
||||
actual_qty_0 = self._get_actual_qty()
|
||||
|
||||
from buying.doctype.purchase_order.test_purchase_order \
|
||||
import test_records as purchase_order_test_records
|
||||
import test_records as purchase_order_test_records,
|
||||
make_purchase_receipt, make_purchase_invoice
|
||||
|
||||
# submit purchase receipt
|
||||
po = webnotes.bean(copy=purchase_order_test_records[0])
|
||||
@@ -529,10 +517,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
po.insert()
|
||||
po.submit()
|
||||
|
||||
pr_doclist = webnotes.map_doclist([
|
||||
["Purchase Order", "Purchase Receipt"],
|
||||
["Purchase Order Item", "Purchase Receipt Item"],
|
||||
["Purchase Taxes and Charges", "Purchase Taxes and Charges"]], po.doc.name)
|
||||
pr_doclist = make_purchase_receipt(po.doc.name)
|
||||
|
||||
pr = webnotes.bean(pr_doclist)
|
||||
pr.doc.posting_date = po.doc.transaction_date
|
||||
@@ -543,10 +528,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
|
||||
self.assertEquals(actual_qty_0 + 10, actual_qty_1)
|
||||
|
||||
pi_doclist = webnotes.map_doclist([
|
||||
["Purchase Order", "Purchase Invoice"],
|
||||
["Purchase Order Item", "Purchase Invoice Item"],
|
||||
["Purchase Taxes and Charges", "Purchase Taxes and Charges"]], po.doc.name)
|
||||
pi_doclist = make_purchase_invoice(po.doc.name)
|
||||
|
||||
pi = webnotes.bean(pi_doclist)
|
||||
pi.doc.posting_date = pr.doc.posting_date
|
||||
|
||||
Reference in New Issue
Block a user