refactor: use mapper paths directly, drop re-export shims

Repoint all JS method strings and Python imports for mapper functions
across 18 doctypes from the doctype module to its mapper module, and
remove the now-unused re-export shims from each doctype file (keeping
only names used internally).
This commit is contained in:
Nabin Hait
2026-06-01 18:17:56 +05:30
parent 498cd2b371
commit 530e587bf2
113 changed files with 394 additions and 484 deletions

View File

@@ -60,7 +60,7 @@ frappe.ui.form.on("Dunning", {
if (frm.doc.docstatus === 0) { if (frm.doc.docstatus === 0) {
frm.add_custom_button(__("Fetch Overdue Payments"), () => { frm.add_custom_button(__("Fetch Overdue Payments"), () => {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.create_dunning", method: "erpnext.accounts.doctype.sales_invoice.mapper.create_dunning",
source_doctype: "Sales Invoice", source_doctype: "Sales Invoice",
date_field: "due_date", date_field: "due_date",
target: frm, target: frm,

View File

@@ -8,7 +8,7 @@ from frappe.utils import add_days, nowdate, today
from erpnext import get_default_cost_center from erpnext import get_default_cost_center
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( from erpnext.accounts.doctype.sales_invoice.mapper import (
create_dunning as create_dunning_from_sales_invoice, create_dunning as create_dunning_from_sales_invoice,
) )
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import ( from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import (
@@ -73,7 +73,7 @@ class TestDunning(ERPNextTestSuite):
dunning = create_dunning_from_sales_invoice(si1.name) dunning = create_dunning_from_sales_invoice(si1.name)
dunning.overdue_payments = [] dunning.overdue_payments = []
method = "erpnext.accounts.doctype.sales_invoice.sales_invoice.create_dunning" method = "erpnext.accounts.doctype.sales_invoice.mapper.create_dunning"
updated_dunning = mapper.map_docs(method, json.dumps([si1.name, si2.name]), dunning) updated_dunning = mapper.map_docs(method, json.dumps([si1.name, si2.name]), dunning)
self.assertEqual(len(updated_dunning.overdue_payments), 2) self.assertEqual(len(updated_dunning.overdue_payments), 2)

View File

@@ -196,7 +196,7 @@ class TestPaymentEntry(ERPNextTestSuite):
self.assertEqual(outstanding_amount, 100) self.assertEqual(outstanding_amount, 100)
def test_reference_outstanding_amount_on_advance_pull(self): def test_reference_outstanding_amount_on_advance_pull(self):
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
so = make_sales_order(qty=1, rate=1000) so = make_sales_order(qty=1, rate=1000)
pe = get_payment_entry("Sales Order", so.name, bank_account="_Test Cash - _TC") pe = get_payment_entry("Sales Order", so.name, bank_account="_Test Cash - _TC")
@@ -1567,7 +1567,7 @@ class TestPaymentEntry(ERPNextTestSuite):
self.check_pl_entries() self.check_pl_entries()
def test_advance_as_liability_against_order(self): def test_advance_as_liability_against_order(self):
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_invoice as _make_purchase_invoice, make_purchase_invoice as _make_purchase_invoice,
) )
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order

View File

@@ -443,7 +443,7 @@ class PaymentRequest(Document):
self.update_reference_advance_payment_status() self.update_reference_advance_payment_status()
def make_invoice(self): def make_invoice(self):
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
si = make_sales_invoice(self.reference_name, ignore_permissions=True) si = make_sales_invoice(self.reference_name, ignore_permissions=True)
si.allocate_advances_automatically = True si.allocate_advances_automatically = True

View File

@@ -330,7 +330,7 @@ class TestPOSClosingEntry(ERPNextTestSuite):
""" """
Test Sales Invoice and Return Sales Invoice creation during POS Invoice mode. Test Sales Invoice and Return Sales Invoice creation during POS Invoice mode.
""" """
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
test_user, pos_profile = init_user_and_profile() test_user, pos_profile = init_user_and_profile()

View File

@@ -39,7 +39,7 @@ def make_stock_entry(source_name: str, target_doc: str | Document | None = None)
@frappe.whitelist() @frappe.whitelist()
def make_inter_company_sales_invoice(source_name: str, target_doc: Document | None = None): def make_inter_company_sales_invoice(source_name: str, target_doc: Document | None = None):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_transaction from erpnext.accounts.doctype.sales_invoice.mapper import make_inter_company_transaction
return make_inter_company_transaction("Purchase Invoice", source_name, target_doc) return make_inter_company_transaction("Purchase Invoice", source_name, target_doc)

View File

@@ -156,7 +156,7 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
__("Purchase Order"), __("Purchase Order"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice", method: "erpnext.buying.doctype.purchase_order.mapper.make_purchase_invoice",
source_doctype: "Purchase Order", source_doctype: "Purchase Order",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -181,7 +181,7 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
__("Purchase Receipt"), __("Purchase Receipt"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_purchase_invoice",
source_doctype: "Purchase Receipt", source_doctype: "Purchase Receipt",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -414,7 +414,7 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
make_inter_company_invoice(frm) { make_inter_company_invoice(frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_inter_company_sales_invoice", method: "erpnext.accounts.doctype.purchase_invoice.mapper.make_inter_company_sales_invoice",
frm: frm, frm: frm,
}); });
} }
@@ -474,7 +474,7 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
make_debit_note() { make_debit_note() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_debit_note", method: "erpnext.accounts.doctype.purchase_invoice.mapper.make_debit_note",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -701,7 +701,7 @@ frappe.ui.form.on("Purchase Invoice", {
make_purchase_receipt: function (frm) { make_purchase_receipt: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_purchase_receipt", method: "erpnext.accounts.doctype.purchase_invoice.mapper.make_purchase_receipt",
frm: frm, frm: frm,
freeze_message: __("Creating Purchase Receipt ..."), freeze_message: __("Creating Purchase Receipt ..."),
}); });

View File

@@ -40,8 +40,6 @@ from erpnext.stock.doctype.purchase_receipt.purchase_receipt import (
update_billed_amount_based_on_po, update_billed_amount_based_on_po,
) )
from .mapper import make_debit_note, make_inter_company_sales_invoice, make_purchase_receipt, make_stock_entry
class WarehouseMissingError(frappe.ValidationError): class WarehouseMissingError(frappe.ValidationError):
pass pass

View File

@@ -8,8 +8,8 @@ from frappe.utils import add_days, cint, flt, getdate, nowdate, today
import erpnext import erpnext
from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
from erpnext.buying.doctype.purchase_order.purchase_order import get_mapped_purchase_invoice from erpnext.buying.doctype.purchase_order.mapper import get_mapped_purchase_invoice
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice as make_pi_from_po from erpnext.buying.doctype.purchase_order.mapper import make_purchase_invoice as make_pi_from_po
from erpnext.buying.doctype.purchase_order.test_purchase_order import ( from erpnext.buying.doctype.purchase_order.test_purchase_order import (
create_pr_against_po, create_pr_against_po,
create_purchase_order, create_purchase_order,
@@ -20,9 +20,9 @@ from erpnext.controllers.buying_controller import QtyMismatchError
from erpnext.exceptions import InvalidCurrency from erpnext.exceptions import InvalidCurrency
from erpnext.projects.doctype.project.test_project import make_project from erpnext.projects.doctype.project.test_project import make_project
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
from erpnext.stock.doctype.material_request.test_material_request import make_material_request from erpnext.stock.doctype.material_request.test_material_request import make_material_request
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as create_purchase_invoice_from_receipt, make_purchase_invoice as create_purchase_invoice_from_receipt,
) )
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import (
@@ -80,7 +80,7 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
pi.delete() pi.delete()
def test_update_received_qty_in_material_request(self): def test_update_received_qty_in_material_request(self):
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice from erpnext.buying.doctype.purchase_order.mapper import make_purchase_invoice
""" """
Test if the received_qty in Material Request is updated correctly when Test if the received_qty in Material Request is updated correctly when
@@ -346,7 +346,7 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
"Accounts Settings", {"allow_multi_currency_invoices_against_single_party_account": 1} "Accounts Settings", {"allow_multi_currency_invoices_against_single_party_account": 1}
) )
def test_purchase_invoice_with_exchange_rate_difference(self): def test_purchase_invoice_with_exchange_rate_difference(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as create_purchase_invoice, make_purchase_invoice as create_purchase_invoice,
) )
@@ -388,7 +388,7 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
) )
def test_purchase_invoice_with_exchange_rate_difference_for_non_stock_item(self): def test_purchase_invoice_with_exchange_rate_difference_for_non_stock_item(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as create_purchase_invoice, make_purchase_invoice as create_purchase_invoice,
) )
@@ -2162,7 +2162,7 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
create_pr_against_po, create_pr_against_po,
create_purchase_order, create_purchase_order,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as make_pi_from_pr, make_purchase_invoice as make_pi_from_pr,
) )
@@ -2748,10 +2748,10 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
def test_invoice_against_returned_pr(self): def test_invoice_against_returned_pr(self):
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as make_purchase_invoice_from_pr, make_purchase_invoice as make_purchase_invoice_from_pr,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return_against_rejected_warehouse, make_purchase_return_against_rejected_warehouse,
) )
@@ -2892,7 +2892,7 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
self.assertEqual(invoice.grand_total, 300) self.assertEqual(invoice.grand_total, 300)
def test_pr_pi_over_billing(self): def test_pr_pi_over_billing(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as make_purchase_invoice_from_pr, make_purchase_invoice as make_purchase_invoice_from_pr,
) )
@@ -2940,7 +2940,7 @@ class TestPurchaseInvoice(ERPNextTestSuite, StockTestMixin):
self.assertEqual(pi.discount_amount, discount_amount) self.assertEqual(pi.discount_amount, discount_amount)
def test_returned_item_purchase_receipt(self): def test_returned_item_purchase_receipt(self):
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import ( from erpnext.accounts.doctype.purchase_invoice.mapper import (
make_purchase_receipt as make_purchase_receipt_from_pi, make_purchase_receipt as make_purchase_receipt_from_pi,
) )

View File

@@ -197,21 +197,21 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
make_invoice_discounting() { make_invoice_discounting() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.create_invoice_discounting", method: "erpnext.accounts.doctype.sales_invoice.mapper.create_invoice_discounting",
frm: this.frm, frm: this.frm,
}); });
} }
make_dunning() { make_dunning() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.create_dunning", method: "erpnext.accounts.doctype.sales_invoice.mapper.create_dunning",
frm: this.frm, frm: this.frm,
}); });
} }
make_maintenance_schedule() { make_maintenance_schedule() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_maintenance_schedule", method: "erpnext.accounts.doctype.sales_invoice.mapper.make_maintenance_schedule",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -361,7 +361,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
__("Sales Order"), __("Sales Order"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice", method: "erpnext.selling.doctype.sales_order.mapper.make_sales_invoice",
source_doctype: "Sales Order", source_doctype: "Sales Order",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -383,7 +383,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
__("Quotation"), __("Quotation"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.quotation.quotation.make_sales_invoice", method: "erpnext.selling.doctype.quotation.mapper.make_sales_invoice",
source_doctype: "Quotation", source_doctype: "Quotation",
target: me.frm, target: me.frm,
setters: [ setters: [
@@ -421,7 +421,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
}); });
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice", method: "erpnext.stock.doctype.delivery_note.mapper.make_sales_invoice",
source_doctype: "Delivery Note", source_doctype: "Delivery Note",
target: me.frm, target: me.frm,
date_field: "posting_date", date_field: "posting_date",
@@ -501,7 +501,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
make_inter_company_invoice() { make_inter_company_invoice() {
let me = this; let me = this;
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_inter_company_purchase_invoice", method: "erpnext.accounts.doctype.sales_invoice.mapper.make_inter_company_purchase_invoice",
frm: me.frm, frm: me.frm,
}); });
} }
@@ -579,7 +579,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
make_sales_return() { make_sales_return() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_sales_return", method: "erpnext.accounts.doctype.sales_invoice.mapper.make_sales_return",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -712,7 +712,7 @@ extend_cscript(cur_frm.cscript, new erpnext.accounts.SalesInvoiceController({ fr
cur_frm.cscript["Make Delivery Note"] = function () { cur_frm.cscript["Make Delivery Note"] = function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_delivery_note", method: "erpnext.accounts.doctype.sales_invoice.mapper.make_delivery_note",
frm: cur_frm, frm: cur_frm,
}); });
}; };

View File

@@ -28,20 +28,6 @@ from erpnext.controllers.selling_controller import SellingController
from erpnext.setup.doctype.company.company import update_company_current_month_sales from erpnext.setup.doctype.company.company import update_company_current_month_sales
from erpnext.stock.doctype.delivery_note.delivery_note import update_billed_amount_based_on_so from erpnext.stock.doctype.delivery_note.delivery_note import update_billed_amount_based_on_so
from .mapper import (
create_dunning,
create_invoice_discounting,
get_inter_company_details,
make_delivery_note,
make_inter_company_purchase_invoice,
make_inter_company_transaction,
make_maintenance_schedule,
make_sales_return,
set_purchase_references,
update_address,
update_taxes,
validate_inter_company_transaction,
)
from .services.fixed_assets import FixedAssetService from .services.fixed_assets import FixedAssetService
from .services.inter_company import ( from .services.inter_company import (
unlink_inter_company_doc, unlink_inter_company_doc,

View File

@@ -7,12 +7,12 @@ import frappe
from frappe import _ from frappe import _
from frappe.utils import flt, get_link_to_form from frappe.utils import flt, get_link_to_form
from erpnext.assets.doctype.asset.asset import split_asset
from erpnext.assets.doctype.asset.depreciation import ( from erpnext.assets.doctype.asset.depreciation import (
depreciate_asset, depreciate_asset,
reset_depreciation_schedule, reset_depreciation_schedule,
reverse_depreciation_entry_made_on_disposal, reverse_depreciation_entry_made_on_disposal,
) )
from erpnext.assets.doctype.asset.mapper import split_asset
from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity

View File

@@ -19,7 +19,7 @@ from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import Warehouse
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import (
unlink_payment_on_cancel_of_invoice, unlink_payment_on_cancel_of_invoice,
) )
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_transaction from erpnext.accounts.doctype.sales_invoice.mapper import make_inter_company_transaction
from erpnext.accounts.utils import PaymentEntryUnlinkError from erpnext.accounts.utils import PaymentEntryUnlinkError
from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries
from erpnext.assets.doctype.asset.test_asset import create_asset from erpnext.assets.doctype.asset.test_asset import create_asset
@@ -30,7 +30,7 @@ from erpnext.controllers.accounts_controller import InvalidQtyError, update_invo
from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_data from erpnext.controllers.taxes_and_totals import get_itemised_tax_breakup_data
from erpnext.exceptions import InvalidAccountCurrency, InvalidCurrency from erpnext.exceptions import InvalidAccountCurrency, InvalidCurrency
from erpnext.selling.doctype.customer.test_customer import get_customer_dict from erpnext.selling.doctype.customer.test_customer import get_customer_dict
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice from erpnext.stock.doctype.delivery_note.mapper import make_sales_invoice
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt
from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import (
@@ -78,7 +78,7 @@ class TestSalesInvoice(ERPNextTestSuite):
def test_invalid_rate_without_override(self): def test_invalid_rate_without_override(self):
from frappe import ValidationError from frappe import ValidationError
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_purchase_invoice from erpnext.accounts.doctype.sales_invoice.mapper import make_inter_company_purchase_invoice
si = create_sales_invoice( si = create_sales_invoice(
customer="_Test Internal Customer 3", company="_Test Company", is_internal_customer=1, rate=100 customer="_Test Internal Customer 3", company="_Test Company", is_internal_customer=1, rate=100
@@ -1022,7 +1022,7 @@ class TestSalesInvoice(ERPNextTestSuite):
self.validate_pos_gl_entry(si, pos, 50) self.validate_pos_gl_entry(si, pos, 50)
def test_pos_returns_with_repayment(self): def test_pos_returns_with_repayment(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
pos_profile = make_pos_profile() pos_profile = make_pos_profile()
@@ -1141,7 +1141,7 @@ class TestSalesInvoice(ERPNextTestSuite):
self.assertEqual(pos.outstanding_amount, 0.0) self.assertEqual(pos.outstanding_amount, 0.0)
self.assertEqual(pos.status, "Paid") self.assertEqual(pos.status, "Paid")
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
pos_return = make_sales_return(pos.name) pos_return = make_sales_return(pos.name)
pos_return.save().submit() pos_return.save().submit()
@@ -3926,7 +3926,7 @@ class TestSalesInvoice(ERPNextTestSuite):
from erpnext.accounts.doctype.loyalty_program.test_loyalty_program import ( from erpnext.accounts.doctype.loyalty_program.test_loyalty_program import (
create_sales_invoice_record, create_sales_invoice_record,
) )
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
# Set up loyalty program # Set up loyalty program
@@ -4064,7 +4064,7 @@ class TestSalesInvoice(ERPNextTestSuite):
from frappe.model.mapper import map_docs from frappe.model.mapper import map_docs
map_docs( map_docs(
method="erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice", method="erpnext.stock.doctype.delivery_note.mapper.make_sales_invoice",
source_names=json.dumps([dn1.name, dn2.name]), source_names=json.dumps([dn1.name, dn2.name]),
target_doc=si, target_doc=si,
args=json.dumps({"customer": dn1.customer, "merge_taxes": 1, "filtered_children": []}), args=json.dumps({"customer": dn1.customer, "merge_taxes": 1, "filtered_children": []}),
@@ -4107,7 +4107,7 @@ class TestSalesInvoice(ERPNextTestSuite):
self.assertEqual(expected, actual) self.assertEqual(expected, actual)
def test_pos_returns_without_update_outstanding_for_self(self): def test_pos_returns_without_update_outstanding_for_self(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
pos_profile = make_pos_profile() pos_profile = make_pos_profile()
pos_profile.payments = [] pos_profile.payments = []
@@ -4477,7 +4477,7 @@ class TestSalesInvoice(ERPNextTestSuite):
self.assertEqual(project.total_billed_amount, 300) self.assertEqual(project.total_billed_amount, 300)
def test_pos_returns_with_party_account_currency(self): def test_pos_returns_with_party_account_currency(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
pos_profile = make_pos_profile() pos_profile = make_pos_profile()
pos_profile.payments = [] pos_profile.payments = []

View File

@@ -4,7 +4,7 @@
import frappe import frappe
from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule, get_tax_template from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule, get_tax_template
from erpnext.crm.doctype.opportunity.opportunity import make_quotation from erpnext.crm.doctype.opportunity.mapper import make_quotation
from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -9,7 +9,7 @@ from frappe.utils import add_days, add_months, getdate, today
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
from erpnext.accounts.utils import get_fiscal_year from erpnext.accounts.utils import get_fiscal_year
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice from erpnext.buying.doctype.purchase_order.mapper import make_purchase_invoice
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -9,7 +9,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
from erpnext.accounts.party import get_party_account from erpnext.accounts.party import get_party_account
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -2,10 +2,10 @@ import frappe
from frappe import qb from frappe import qb
from frappe.utils import add_days, flt, get_first_day, get_last_day, nowdate from frappe.utils import add_days, flt, get_first_day, get_last_day, nowdate
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_delivery_note, make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_delivery_note, make_sales_return
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.accounts.report.gross_profit.gross_profit import execute from erpnext.accounts.report.gross_profit.gross_profit import execute
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice from erpnext.stock.doctype.delivery_note.mapper import make_sales_invoice
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
@@ -354,7 +354,7 @@ class TestGrossProfit(ERPNextTestSuite):
do_not_submit=False, do_not_submit=False,
) )
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_delivery_note, make_delivery_note,
make_sales_invoice, make_sales_invoice,
) )
@@ -522,7 +522,7 @@ class TestGrossProfit(ERPNextTestSuite):
do_not_submit=False, do_not_submit=False,
) )
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_delivery_note, make_delivery_note,
make_sales_invoice, make_sales_invoice,
) )
@@ -732,8 +732,8 @@ class TestGrossProfit(ERPNextTestSuite):
self.assertEqual(total[8], 100.0) self.assertEqual(total[8], 100.0)
def test_drop_ship(self): def test_drop_ship(self):
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice from erpnext.buying.doctype.purchase_order.mapper import make_purchase_invoice
from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order, make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_purchase_order, make_sales_invoice
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item

View File

@@ -33,7 +33,7 @@ class ChildItemUpdater:
def update(self, trans_items: str) -> None: def update(self, trans_items: str) -> None:
"""Process item additions, edits, and deletions from trans_items JSON.""" """Process item additions, edits, and deletions from trans_items JSON."""
from erpnext.buying.doctype.supplier_quotation.supplier_quotation import get_purchased_items from erpnext.buying.doctype.supplier_quotation.supplier_quotation import get_purchased_items
from erpnext.selling.doctype.quotation.quotation import get_ordered_items from erpnext.selling.doctype.quotation.mapper import get_ordered_items
data = frappe.parse_json(trans_items) data = frappe.parse_json(trans_items)
any_qty_changed = False any_qty_changed = False

View File

@@ -21,9 +21,9 @@ from erpnext.accounts.doctype.mode_of_payment.test_mode_of_payment import (
set_default_account_for_mode_of_payment, set_default_account_for_mode_of_payment,
) )
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import make_debit_note from erpnext.accounts.doctype.purchase_invoice.mapper import make_debit_note
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.accounts.gl_snapshot import assert_gl_snapshot from erpnext.accounts.gl_snapshot import assert_gl_snapshot
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt
@@ -471,7 +471,7 @@ class TestGLCharacterization(IntegrationTestCase):
qty=5, qty=5,
rate=100, rate=100,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_return from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_return
ret = make_purchase_return(original.name) ret = make_purchase_return(original.name)
ret.posting_date = POSTING_DATE ret.posting_date = POSTING_DATE

View File

@@ -333,7 +333,7 @@ frappe.ui.form.on("Asset", {
make_journal_entry: function (frm) { make_journal_entry: function (frm) {
frappe.call({ frappe.call({
method: "erpnext.assets.doctype.asset.asset.make_journal_entry", method: "erpnext.assets.doctype.asset.mapper.make_journal_entry",
args: { args: {
asset_name: frm.doc.name, asset_name: frm.doc.name,
}, },
@@ -570,7 +570,7 @@ frappe.ui.form.on("Asset", {
asset_category: frm.doc.asset_category, asset_category: frm.doc.asset_category,
company: frm.doc.company, company: frm.doc.company,
}, },
method: "erpnext.assets.doctype.asset.asset.create_asset_maintenance", method: "erpnext.assets.doctype.asset.mapper.create_asset_maintenance",
callback: function (r) { callback: function (r) {
var doclist = frappe.model.sync(r.message); var doclist = frappe.model.sync(r.message);
frappe.set_route("Form", doclist[0].doctype, doclist[0].name); frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
@@ -585,7 +585,7 @@ frappe.ui.form.on("Asset", {
asset: frm.doc.name, asset: frm.doc.name,
asset_name: frm.doc.asset_name, asset_name: frm.doc.asset_name,
}, },
method: "erpnext.assets.doctype.asset.asset.create_asset_repair", method: "erpnext.assets.doctype.asset.mapper.create_asset_repair",
callback: function (r) { callback: function (r) {
var doclist = frappe.model.sync(r.message); var doclist = frappe.model.sync(r.message);
frappe.set_route("Form", doclist[0].doctype, doclist[0].name); frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
@@ -601,7 +601,7 @@ frappe.ui.form.on("Asset", {
asset_name: frm.doc.asset_name, asset_name: frm.doc.asset_name,
item_code: frm.doc.item_code, item_code: frm.doc.item_code,
}, },
method: "erpnext.assets.doctype.asset.asset.create_asset_capitalization", method: "erpnext.assets.doctype.asset.mapper.create_asset_capitalization",
callback: function (r) { callback: function (r) {
var doclist = frappe.model.sync(r.message); var doclist = frappe.model.sync(r.message);
frappe.set_route("Form", doclist[0].doctype, doclist[0].name); frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
@@ -612,7 +612,7 @@ frappe.ui.form.on("Asset", {
sell_asset: function (frm) { sell_asset: function (frm) {
const make_sales_invoice = (sell_qty) => { const make_sales_invoice = (sell_qty) => {
frappe.call({ frappe.call({
method: "erpnext.assets.doctype.asset.asset.make_sales_invoice", method: "erpnext.assets.doctype.asset.mapper.make_sales_invoice",
args: { args: {
asset: frm.doc.name, asset: frm.doc.name,
item_code: frm.doc.item_code, item_code: frm.doc.item_code,
@@ -696,7 +696,7 @@ frappe.ui.form.on("Asset", {
asset_name: frm.doc.name, asset_name: frm.doc.name,
split_qty: cint(dialog_data.split_qty), split_qty: cint(dialog_data.split_qty),
}, },
method: "erpnext.assets.doctype.asset.asset.split_asset", method: "erpnext.assets.doctype.asset.mapper.split_asset",
callback: function (r) { callback: function (r) {
let doclist = frappe.model.sync(r.message); let doclist = frappe.model.sync(r.message);
frappe.set_route("Form", doclist[0].doctype, doclist[0].name); frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
@@ -716,7 +716,7 @@ frappe.ui.form.on("Asset", {
asset_category: frm.doc.asset_category, asset_category: frm.doc.asset_category,
company: frm.doc.company, company: frm.doc.company,
}, },
method: "erpnext.assets.doctype.asset.asset.create_asset_value_adjustment", method: "erpnext.assets.doctype.asset.mapper.create_asset_value_adjustment",
freeze: 1, freeze: 1,
callback: function (r) { callback: function (r) {
var doclist = frappe.model.sync(r.message); var doclist = frappe.model.sync(r.message);

View File

@@ -37,16 +37,6 @@ from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_sched
) )
from erpnext.controllers.accounts_controller import AccountsController from erpnext.controllers.accounts_controller import AccountsController
from .mapper import (
create_asset_capitalization,
create_asset_maintenance,
create_asset_repair,
create_asset_value_adjustment,
make_journal_entry,
make_sales_invoice,
split_asset,
)
class Asset(AccountsController): class Asset(AccountsController):
# begin: auto-generated types # begin: auto-generated types

View File

@@ -18,8 +18,6 @@ from frappe.utils.data import add_to_date
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
from erpnext.assets.doctype.asset.asset import ( from erpnext.assets.doctype.asset.asset import (
make_sales_invoice,
split_asset,
update_maintenance_status, update_maintenance_status,
) )
from erpnext.assets.doctype.asset.depreciation import ( from erpnext.assets.doctype.asset.depreciation import (
@@ -27,11 +25,15 @@ from erpnext.assets.doctype.asset.depreciation import (
restore_asset, restore_asset,
scrap_asset, scrap_asset,
) )
from erpnext.assets.doctype.asset.mapper import (
make_sales_invoice,
split_asset,
)
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import ( from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
get_asset_depr_schedule_doc, get_asset_depr_schedule_doc,
get_depr_schedule, get_depr_schedule,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as make_invoice, make_purchase_invoice as make_invoice,
) )
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt

View File

@@ -9,6 +9,8 @@ from frappe.utils import add_days, add_months, flt, get_first_day, nowdate, nowt
from erpnext.assets.doctype.asset.asset import ( from erpnext.assets.doctype.asset.asset import (
get_asset_account, get_asset_account,
get_asset_value_after_depreciation, get_asset_value_after_depreciation,
)
from erpnext.assets.doctype.asset.mapper import (
make_sales_invoice, make_sales_invoice,
) )
from erpnext.assets.doctype.asset.test_asset import ( from erpnext.assets.doctype.asset.test_asset import (

View File

@@ -199,7 +199,7 @@ def get_mapped_purchase_invoice(source_name, target_doc=None, ignore_permissions
@frappe.whitelist() @frappe.whitelist()
def make_inter_company_sales_order(source_name: str, target_doc: str | Document | None = None): def make_inter_company_sales_order(source_name: str, target_doc: str | Document | None = None):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_transaction from erpnext.accounts.doctype.sales_invoice.mapper import make_inter_company_transaction
return make_inter_company_transaction("Purchase Order", source_name, target_doc) return make_inter_company_transaction("Purchase Order", source_name, target_doc)

View File

@@ -458,14 +458,14 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
make_inter_company_order(frm) { make_inter_company_order(frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_inter_company_sales_order", method: "erpnext.buying.doctype.purchase_order.mapper.make_inter_company_sales_order",
frm: frm, frm: frm,
}); });
} }
make_purchase_receipt() { make_purchase_receipt() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt", method: "erpnext.buying.doctype.purchase_order.mapper.make_purchase_receipt",
frm: this.frm, frm: this.frm,
freeze_message: __("Creating Purchase Receipt ..."), freeze_message: __("Creating Purchase Receipt ..."),
}); });
@@ -473,14 +473,14 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
make_purchase_invoice() { make_purchase_invoice() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice", method: "erpnext.buying.doctype.purchase_order.mapper.make_purchase_invoice",
frm: this.frm, frm: this.frm,
}); });
} }
make_subcontracting_order() { make_subcontracting_order() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_subcontracting_order", method: "erpnext.buying.doctype.purchase_order.mapper.make_subcontracting_order",
frm: this.frm, frm: this.frm,
freeze_message: __("Creating Subcontracting Order ..."), freeze_message: __("Creating Subcontracting Order ..."),
}); });
@@ -492,7 +492,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
__("Material Request"), __("Material Request"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order", method: "erpnext.stock.doctype.material_request.mapper.make_purchase_order",
source_doctype: "Material Request", source_doctype: "Material Request",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -517,7 +517,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
__("Supplier Quotation"), __("Supplier Quotation"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", method: "erpnext.buying.doctype.supplier_quotation.mapper.make_purchase_order",
source_doctype: "Supplier Quotation", source_doctype: "Supplier Quotation",
target: me.frm, target: me.frm,
setters: { setters: {

View File

@@ -29,12 +29,6 @@ from erpnext.subcontracting.doctype.subcontracting_bom.subcontracting_bom import
) )
from .mapper import ( from .mapper import (
get_mapped_purchase_invoice,
get_mapped_subcontracting_order,
make_inter_company_sales_order,
make_purchase_invoice,
make_purchase_invoice_from_portal,
make_purchase_receipt,
make_subcontracting_order, make_subcontracting_order,
) )

View File

@@ -11,19 +11,19 @@ from frappe.utils.data import today
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
from erpnext.accounts.party import get_due_date_from_template from erpnext.accounts.party import get_due_date_from_template
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_inter_company_sales_order, make_inter_company_sales_order,
make_purchase_receipt, make_purchase_receipt,
) )
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_invoice as make_pi_from_po, make_purchase_invoice as make_pi_from_po,
) )
from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate
from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
from erpnext.stock.doctype.material_request.test_material_request import make_material_request from erpnext.stock.doctype.material_request.test_material_request import make_material_request
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as make_pi_from_pr, make_purchase_invoice as make_pi_from_pr,
) )
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite
@@ -519,7 +519,7 @@ class TestPurchaseOrder(ERPNextTestSuite):
self.assertEqual(po.get("items")[0].received_qty, 5) self.assertEqual(po.get("items")[0].received_qty, 5)
def test_purchase_order_invoice_receipt_workflow(self): def test_purchase_order_invoice_receipt_workflow(self):
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import make_purchase_receipt from erpnext.accounts.doctype.purchase_invoice.mapper import make_purchase_receipt
po = create_purchase_order() po = create_purchase_order()
pi = make_pi_from_po(po.name) pi = make_pi_from_po(po.name)
@@ -958,14 +958,14 @@ class TestPurchaseOrder(ERPNextTestSuite):
def test_internal_transfer_flow(self): def test_internal_transfer_flow(self):
from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center
from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( from erpnext.accounts.doctype.sales_invoice.mapper import (
make_inter_company_purchase_invoice, make_inter_company_purchase_invoice,
) )
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_delivery_note, make_delivery_note,
make_sales_invoice, make_sales_invoice,
) )
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
frappe.db.set_single_value("Selling Settings", "maintain_same_sales_rate", 1) frappe.db.set_single_value("Selling Settings", "maintain_same_sales_rate", 1)
frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1) frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
@@ -1106,7 +1106,7 @@ class TestPurchaseOrder(ERPNextTestSuite):
self.assertEqual(po.items[0].fg_item_qty, 30) self.assertEqual(po.items[0].fg_item_qty, 30)
def test_new_sc_flow(self): def test_new_sc_flow(self):
from erpnext.buying.doctype.purchase_order.purchase_order import make_subcontracting_order from erpnext.buying.doctype.purchase_order.mapper import make_subcontracting_order
po = create_po_for_sc_testing() po = create_po_for_sc_testing()
sco = make_subcontracting_order(po.name) sco = make_subcontracting_order(po.name)
@@ -1234,7 +1234,7 @@ class TestPurchaseOrder(ERPNextTestSuite):
self.assertEqual(frappe.db.get_value(po.doctype, po.name, "advance_payment_status"), "Not Initiated") self.assertEqual(frappe.db.get_value(po.doctype, po.name, "advance_payment_status"), "Not Initiated")
def test_po_billed_amount_against_return_entry(self): def test_po_billed_amount_against_return_entry(self):
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import make_debit_note from erpnext.accounts.doctype.purchase_invoice.mapper import make_debit_note
# Create a Purchase Order and Fully Bill it # Create a Purchase Order and Fully Bill it
po = create_purchase_order() po = create_purchase_order()

View File

@@ -9,7 +9,7 @@ from frappe.model.document import Document
from frappe.model.mapper import get_mapped_doc from frappe.model.mapper import get_mapped_doc
from erpnext.accounts.party import get_party_account_currency, get_party_details from erpnext.accounts.party import get_party_account_currency, get_party_details
from erpnext.stock.doctype.material_request.material_request import set_missing_values from erpnext.stock.doctype.material_request.mapper import set_missing_values
@frappe.whitelist() @frappe.whitelist()

View File

@@ -209,7 +209,7 @@ frappe.ui.form.on("Request for Quotation", {
return frappe.call({ return frappe.call({
type: "GET", type: "GET",
method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.make_supplier_quotation_from_rfq", method: "erpnext.buying.doctype.request_for_quotation.mapper.make_supplier_quotation_from_rfq",
args: { args: {
source_name: doc.name, source_name: doc.name,
for_supplier: args.supplier, for_supplier: args.supplier,
@@ -361,7 +361,7 @@ erpnext.buying.RequestforQuotationController = class RequestforQuotationControll
__("Material Request"), __("Material Request"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_request_for_quotation", method: "erpnext.stock.doctype.material_request.mapper.make_request_for_quotation",
source_doctype: "Material Request", source_doctype: "Material Request",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -385,7 +385,7 @@ erpnext.buying.RequestforQuotationController = class RequestforQuotationControll
__("Opportunity"), __("Opportunity"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_request_for_quotation", method: "erpnext.crm.doctype.opportunity.mapper.make_request_for_quotation",
source_doctype: "Opportunity", source_doctype: "Opportunity",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -425,7 +425,7 @@ erpnext.buying.RequestforQuotationController = class RequestforQuotationControll
dialog.hide(); dialog.hide();
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.get_item_from_material_requests_based_on_supplier", method: "erpnext.buying.doctype.request_for_quotation.mapper.get_item_from_material_requests_based_on_supplier",
source_name: args.supplier, source_name: args.supplier,
target: me.frm, target: me.frm,
setters: { setters: {

View File

@@ -15,12 +15,6 @@ from frappe.utils.user import get_user_fullname
from erpnext.buying.utils import validate_for_items from erpnext.buying.utils import validate_for_items
from erpnext.controllers.buying_controller import BuyingController from erpnext.controllers.buying_controller import BuyingController
from .mapper import (
create_supplier_quotation,
get_item_from_material_requests_based_on_supplier,
make_supplier_quotation_from_rfq,
)
STANDARD_USERS = ("Guest", "Administrator") STANDARD_USERS = ("Guest", "Administrator")

View File

@@ -8,13 +8,15 @@ import frappe
from frappe.tests import change_settings from frappe.tests import change_settings
from frappe.utils import nowdate from frappe.utils import nowdate
from erpnext.buying.doctype.request_for_quotation.request_for_quotation import ( from erpnext.buying.doctype.request_for_quotation.mapper import (
create_supplier_quotation, create_supplier_quotation,
get_pdf,
make_supplier_quotation_from_rfq, make_supplier_quotation_from_rfq,
) )
from erpnext.buying.doctype.request_for_quotation.request_for_quotation import (
get_pdf,
)
from erpnext.controllers.accounts_controller import InvalidQtyError from erpnext.controllers.accounts_controller import InvalidQtyError
from erpnext.crm.doctype.opportunity.opportunity import make_request_for_quotation as make_rfq from erpnext.crm.doctype.opportunity.mapper import make_request_for_quotation as make_rfq
from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.templates.pages.rfq import check_supplier_has_docname_access from erpnext.templates.pages.rfq import check_supplier_has_docname_access

View File

@@ -184,7 +184,7 @@ class Supplier(TransactionBase):
) )
def create_primary_contact(self): def create_primary_contact(self):
from erpnext.selling.doctype.customer.customer import make_contact from erpnext.selling.doctype.customer.mapper import make_contact
if not self.supplier_primary_contact: if not self.supplier_primary_contact:
if self.mobile_no or self.email_id: if self.mobile_no or self.email_id:
@@ -196,7 +196,7 @@ class Supplier(TransactionBase):
def create_primary_address(self): def create_primary_address(self):
from frappe.contacts.doctype.address.address import get_address_display from frappe.contacts.doctype.address.address import get_address_display
from erpnext.selling.doctype.customer.customer import make_address from erpnext.selling.doctype.customer.mapper import make_address
if self.flags.is_new_doc and self.get("address_line1"): if self.flags.is_new_doc and self.get("address_line1"):
address = make_address(self) address = make_address(self)

View File

@@ -56,7 +56,7 @@ erpnext.buying.SupplierQuotationController = class SupplierQuotationController e
__("Material Request"), __("Material Request"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_supplier_quotation", method: "erpnext.stock.doctype.material_request.mapper.make_supplier_quotation",
source_doctype: "Material Request", source_doctype: "Material Request",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -91,7 +91,7 @@ erpnext.buying.SupplierQuotationController = class SupplierQuotationController e
frappe.throw({ message: __("Please select a Supplier"), title: __("Mandatory") }); frappe.throw({ message: __("Please select a Supplier"), title: __("Mandatory") });
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.make_supplier_quotation_from_rfq", method: "erpnext.buying.doctype.request_for_quotation.mapper.make_supplier_quotation_from_rfq",
source_doctype: "Request for Quotation", source_doctype: "Request for Quotation",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -112,13 +112,13 @@ erpnext.buying.SupplierQuotationController = class SupplierQuotationController e
make_purchase_order() { make_purchase_order() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order", method: "erpnext.buying.doctype.supplier_quotation.mapper.make_purchase_order",
frm: this.frm, frm: this.frm,
}); });
} }
make_quotation() { make_quotation() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_quotation", method: "erpnext.buying.doctype.supplier_quotation.mapper.make_quotation",
frm: this.frm, frm: this.frm,
}); });
} }

View File

@@ -10,8 +10,6 @@ from frappe.utils import getdate, nowdate
from erpnext.buying.utils import validate_for_items from erpnext.buying.utils import validate_for_items
from erpnext.controllers.buying_controller import BuyingController from erpnext.controllers.buying_controller import BuyingController
from .mapper import make_purchase_invoice, make_purchase_order, make_quotation
form_grid_templates = {"items": "templates/form_grid/item_grid.html"} form_grid_templates = {"items": "templates/form_grid/item_grid.html"}

View File

@@ -8,7 +8,7 @@ import frappe
from frappe.tests import change_settings from frappe.tests import change_settings
from frappe.utils import add_days, today from frappe.utils import add_days, today
from erpnext.buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order from erpnext.buying.doctype.supplier_quotation.mapper import make_purchase_order
from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -4,12 +4,12 @@
import frappe import frappe
from frappe.utils import add_days, today from frappe.utils import add_days, today
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.mapper import make_purchase_receipt
from erpnext.buying.report.requested_items_to_order_and_receive.requested_items_to_order_and_receive import ( from erpnext.buying.report.requested_items_to_order_and_receive.requested_items_to_order_and_receive import (
get_data, get_data,
) )
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -810,7 +810,7 @@ class TestAccountsController(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Stock Settings", {"allow_internal_transfer_at_arms_length_price": 1}) @ERPNextTestSuite.change_settings("Stock Settings", {"allow_internal_transfer_at_arms_length_price": 1})
def test_16_internal_transfer_at_arms_length_price(self): def test_16_internal_transfer_at_arms_length_price(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_purchase_invoice from erpnext.accounts.doctype.sales_invoice.mapper import make_inter_company_purchase_invoice
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -2247,7 +2247,7 @@ class TestAccountsController(ERPNextTestSuite):
Test that additional discount amount is not copied repeatedly Test that additional discount amount is not copied repeatedly
when creating multiple delivery notes from a single sales order with discount_amount set when creating multiple delivery notes from a single sales order with discount_amount set
""" """
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
# Create a sales order with discount amount # Create a sales order with discount amount
@@ -2283,7 +2283,7 @@ class TestAccountsController(ERPNextTestSuite):
Test that additional discount amount is not copied repeatedly Test that additional discount amount is not copied repeatedly
when creating multiple purchase receipts from a single purchase order with discount_amount set when creating multiple purchase receipts from a single purchase order with discount_amount set
""" """
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.mapper import make_purchase_receipt
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
# Create a purchase order with discount amount # Create a purchase order with discount amount
@@ -2319,7 +2319,7 @@ class TestAccountsController(ERPNextTestSuite):
Test that discount amount is partially applied when some discount Test that discount amount is partially applied when some discount
has already been used in previous mapped transactions has already been used in previous mapped transactions
""" """
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
# Create a sales order with discount amount # Create a sales order with discount amount
@@ -2357,7 +2357,7 @@ class TestAccountsController(ERPNextTestSuite):
Test that discount amount is not adjusted when additional_discount_percentage Test that discount amount is not adjusted when additional_discount_percentage
is set in the source document (as it will be recalculated based on percentage) is set in the source document (as it will be recalculated based on percentage)
""" """
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
# Create a sales order with discount percentage instead of amount # Create a sales order with discount percentage instead of amount
@@ -2385,7 +2385,7 @@ class TestAccountsController(ERPNextTestSuite):
Test that discount amount is correctly adjusted when multiple return invoices Test that discount amount is correctly adjusted when multiple return invoices
are created against the same original invoice to prevent over-returning discount are created against the same original invoice to prevent over-returning discount
""" """
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
# Create original sales invoice with discount # Create original sales invoice with discount
si = create_sales_invoice(qty=10, rate=100, do_not_submit=True) si = create_sales_invoice(qty=10, rate=100, do_not_submit=True)

View File

@@ -6,8 +6,8 @@ import frappe
from frappe.utils import add_days, today from frappe.utils import add_days, today
from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
from erpnext.manufacturing.doctype.work_order.mapper import make_stock_entry
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt

View File

@@ -23,7 +23,7 @@ class TestMapper(ERPNextTestSuite):
so, item_list_3 = self.make_sales_order() so, item_list_3 = self.make_sales_order()
# Map source docs to target with corresponding mapper method # Map source docs to target with corresponding mapper method
method = "erpnext.selling.doctype.quotation.quotation.make_sales_order" method = "erpnext.selling.doctype.quotation.mapper.make_sales_order"
updated_so = mapper.map_docs(method, json.dumps([qtn1.name, qtn2.name]), so) updated_so = mapper.map_docs(method, json.dumps([qtn1.name, qtn2.name]), so)
# Assert that all inserted items are present in updated sales order # Assert that all inserted items are present in updated sales order

View File

@@ -88,14 +88,14 @@ erpnext.LeadController = class LeadController extends frappe.ui.form.Controller
make_customer() { make_customer() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.lead.lead.make_customer", method: "erpnext.crm.doctype.lead.mapper.make_customer",
frm: this.frm, frm: this.frm,
}); });
} }
make_quotation() { make_quotation() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.lead.lead.make_quotation", method: "erpnext.crm.doctype.lead.mapper.make_quotation",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -171,7 +171,7 @@ erpnext.LeadController = class LeadController extends frappe.ui.form.Controller
callback: function (r) { callback: function (r) {
if (!r.exc) { if (!r.exc) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.lead.lead.make_opportunity", method: "erpnext.crm.doctype.lead.mapper.make_opportunity",
frm: frm, frm: frm,
}); });
} }
@@ -184,7 +184,7 @@ erpnext.LeadController = class LeadController extends frappe.ui.form.Controller
d.show(); d.show();
} else { } else {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.lead.lead.make_opportunity", method: "erpnext.crm.doctype.lead.mapper.make_opportunity",
frm: frm, frm: frm,
}); });
} }

View File

@@ -14,9 +14,7 @@ from frappe.utils.data import DateTimeLikeObject
from erpnext.accounts.party import set_taxes from erpnext.accounts.party import set_taxes
from erpnext.controllers.selling_controller import SellingController from erpnext.controllers.selling_controller import SellingController
from erpnext.crm.utils import CRMNote, copy_comments, link_communications, link_open_events from erpnext.crm.utils import CRMNote, copy_comments, link_communications, link_open_events
from erpnext.selling.doctype.customer.customer import parse_full_name from erpnext.selling.doctype.customer.mapper import parse_full_name
from .mapper import make_customer, make_lead_from_communication, make_opportunity, make_quotation
class Lead(SellingController, CRMNote): class Lead(SellingController, CRMNote):

View File

@@ -4,14 +4,14 @@
import frappe import frappe
from frappe.utils import random_string, today from frappe.utils import random_string, today
from erpnext.crm.doctype.lead.lead import make_opportunity from erpnext.crm.doctype.lead.mapper import make_opportunity
from erpnext.crm.utils import get_linked_prospect from erpnext.crm.utils import get_linked_prospect
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite
class TestLead(ERPNextTestSuite): class TestLead(ERPNextTestSuite):
def test_make_customer(self): def test_make_customer(self):
from erpnext.crm.doctype.lead.lead import make_customer from erpnext.crm.doctype.lead.mapper import make_customer
lead = frappe.db.get_all("Lead", {"lead_name": "_Test Lead"})[0].name lead = frappe.db.get_all("Lead", {"lead_name": "_Test Lead"})[0].name
@@ -41,7 +41,7 @@ class TestLead(ERPNextTestSuite):
self.assertEqual(contact_doc.has_link(customer.doctype, customer.name), True) self.assertEqual(contact_doc.has_link(customer.doctype, customer.name), True)
def test_make_customer_from_organization(self): def test_make_customer_from_organization(self):
from erpnext.crm.doctype.lead.lead import make_customer from erpnext.crm.doctype.lead.mapper import make_customer
lead = frappe.db.get_all("Lead", {"lead_name": "_Test Lead 1"})[0].name lead = frappe.db.get_all("Lead", {"lead_name": "_Test Lead 1"})[0].name
customer = make_customer(lead) customer = make_customer(lead)

View File

@@ -128,7 +128,7 @@ def make_supplier_quotation(source_name: str, target_doc: str | Document | None
def make_opportunity_from_communication( def make_opportunity_from_communication(
communication: str, company: str, ignore_communication_links: bool = False communication: str, company: str, ignore_communication_links: bool = False
): ):
from erpnext.crm.doctype.lead.lead import make_lead_from_communication from erpnext.crm.doctype.lead.mapper import make_lead_from_communication
doc = frappe.get_doc("Communication", communication) doc = frappe.get_doc("Communication", communication)

View File

@@ -40,7 +40,7 @@ frappe.ui.form.on("Opportunity", {
erpnext.utils.get_party_details(frm); erpnext.utils.get_party_details(frm);
} else if (frm.doc.opportunity_from == "Lead") { } else if (frm.doc.opportunity_from == "Lead") {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.crm.doctype.lead.lead.make_opportunity", method: "erpnext.crm.doctype.lead.mapper.make_opportunity",
source_name: frm.doc.party_name, source_name: frm.doc.party_name,
frm: frm, frm: frm,
}); });
@@ -204,14 +204,14 @@ frappe.ui.form.on("Opportunity", {
make_supplier_quotation: function (frm) { make_supplier_quotation: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_supplier_quotation", method: "erpnext.crm.doctype.opportunity.mapper.make_supplier_quotation",
frm: frm, frm: frm,
}); });
}, },
make_request_for_quotation: function (frm) { make_request_for_quotation: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_request_for_quotation", method: "erpnext.crm.doctype.opportunity.mapper.make_request_for_quotation",
frm: frm, frm: frm,
}); });
}, },
@@ -341,14 +341,14 @@ erpnext.crm.Opportunity = class Opportunity extends frappe.ui.form.Controller {
create_quotation() { create_quotation() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_quotation", method: "erpnext.crm.doctype.opportunity.mapper.make_quotation",
frm: this.frm, frm: this.frm,
}); });
} }
make_customer() { make_customer() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_customer", method: "erpnext.crm.doctype.opportunity.mapper.make_customer",
frm: this.frm, frm: this.frm,
}); });
} }

View File

@@ -22,14 +22,6 @@ from erpnext.crm.utils import (
from erpnext.setup.utils import get_exchange_rate from erpnext.setup.utils import get_exchange_rate
from erpnext.utilities.transaction_base import TransactionBase from erpnext.utilities.transaction_base import TransactionBase
from .mapper import (
make_customer,
make_opportunity_from_communication,
make_quotation,
make_request_for_quotation,
make_supplier_quotation,
)
class Opportunity(TransactionBase, CRMNote): class Opportunity(TransactionBase, CRMNote):
# begin: auto-generated types # begin: auto-generated types

View File

@@ -4,9 +4,9 @@
import frappe import frappe
from frappe.utils import now_datetime, random_string, today from frappe.utils import now_datetime, random_string, today
from erpnext.crm.doctype.lead.lead import make_customer from erpnext.crm.doctype.lead.mapper import make_customer
from erpnext.crm.doctype.lead.test_lead import make_lead from erpnext.crm.doctype.lead.test_lead import make_lead
from erpnext.crm.doctype.opportunity.opportunity import make_quotation from erpnext.crm.doctype.opportunity.mapper import make_quotation
from erpnext.crm.utils import get_linked_communication_list from erpnext.crm.utils import get_linked_communication_list
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -65,7 +65,7 @@ erpnext.maintenance.MaintenanceSchedule = class MaintenanceSchedule extends frap
__("Sales Order"), __("Sales Order"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule", method: "erpnext.selling.doctype.sales_order.mapper.make_maintenance_schedule",
source_doctype: "Sales Order", source_doctype: "Sales Order",
target: me.frm, target: me.frm,
setters: { setters: {

View File

@@ -126,7 +126,7 @@ erpnext.maintenance.MaintenanceVisit = class MaintenanceVisit extends frappe.ui.
return; return;
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit", method: "erpnext.selling.doctype.sales_order.mapper.make_maintenance_visit",
source_doctype: "Sales Order", source_doctype: "Sales Order",
target: me.frm, target: me.frm,
setters: { setters: {

View File

@@ -368,7 +368,7 @@ frappe.ui.form.on("Job Card", {
if (frm.doc.docstatus === 1 && frm.doc.for_quantity > frm.doc.manufactured_qty) { if (frm.doc.docstatus === 1 && frm.doc.for_quantity > frm.doc.manufactured_qty) {
frm.add_custom_button(__("Make Subcontracting PO"), () => { frm.add_custom_button(__("Make Subcontracting PO"), () => {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.manufacturing.doctype.job_card.job_card.make_subcontracting_po", method: "erpnext.manufacturing.doctype.job_card.mapper.make_subcontracting_po",
frm: frm, frm: frm,
}); });
}).addClass("btn-primary"); }).addClass("btn-primary");
@@ -483,7 +483,7 @@ frappe.ui.form.on("Job Card", {
make_corrective_job_card(frm, operation, for_operation) { make_corrective_job_card(frm, operation, for_operation) {
frappe.call({ frappe.call({
method: "erpnext.manufacturing.doctype.job_card.job_card.make_corrective_job_card", method: "erpnext.manufacturing.doctype.job_card.mapper.make_corrective_job_card",
args: { args: {
source_name: frm.doc.name, source_name: frm.doc.name,
operation: operation, operation: operation,
@@ -816,7 +816,7 @@ frappe.ui.form.on("Job Card", {
make_material_request(frm) { make_material_request(frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.manufacturing.doctype.job_card.job_card.make_material_request", method: "erpnext.manufacturing.doctype.job_card.mapper.make_material_request",
frm: frm, frm: frm,
run_link_triggers: true, run_link_triggers: true,
}); });
@@ -824,7 +824,7 @@ frappe.ui.form.on("Job Card", {
make_stock_entry(frm) { make_stock_entry(frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.manufacturing.doctype.job_card.job_card.make_stock_entry", method: "erpnext.manufacturing.doctype.job_card.mapper.make_stock_entry",
frm: frm, frm: frm,
run_link_triggers: true, run_link_triggers: true,
}); });

View File

@@ -36,7 +36,9 @@ from erpnext.subcontracting.doctype.subcontracting_bom.subcontracting_bom import
get_subcontracting_boms_for_finished_goods, get_subcontracting_boms_for_finished_goods,
) )
from .mapper import make_corrective_job_card, make_material_request, make_stock_entry, make_subcontracting_po from .mapper import (
make_stock_entry,
)
class OverlapError(frappe.ValidationError): class OverlapError(frappe.ValidationError):

View File

@@ -12,10 +12,12 @@ from erpnext.manufacturing.doctype.job_card.job_card import (
JobCardOverTransferError, JobCardOverTransferError,
OperationMismatchError, OperationMismatchError,
OverlapError, OverlapError,
)
from erpnext.manufacturing.doctype.job_card.mapper import (
make_corrective_job_card, make_corrective_job_card,
make_material_request, make_material_request,
) )
from erpnext.manufacturing.doctype.job_card.job_card import ( from erpnext.manufacturing.doctype.job_card.mapper import (
make_stock_entry as make_stock_entry_from_jc, make_stock_entry as make_stock_entry_from_jc,
) )
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
@@ -552,7 +554,7 @@ class TestJobCard(ERPNextTestSuite):
corrective_job_card.submit() corrective_job_card.submit()
wo.reload() wo.reload()
from erpnext.manufacturing.doctype.work_order.work_order import ( from erpnext.manufacturing.doctype.work_order.mapper import (
make_stock_entry as make_stock_entry_for_wo, make_stock_entry as make_stock_entry_for_wo,
) )
@@ -623,7 +625,7 @@ class TestJobCard(ERPNextTestSuite):
assertStatus("Cancelled") assertStatus("Cancelled")
def test_job_card_material_request_and_bom_details(self): def test_job_card_material_request_and_bom_details(self):
from erpnext.stock.doctype.material_request.material_request import make_stock_entry from erpnext.stock.doctype.material_request.mapper import make_stock_entry
create_bom_with_multiple_operations() create_bom_with_multiple_operations()
work_order = make_wo_with_transfer_against_jc() work_order = make_wo_with_transfer_against_jc()
@@ -647,7 +649,7 @@ class TestJobCard(ERPNextTestSuite):
setup_bom, setup_bom,
setup_operations, setup_operations,
) )
from erpnext.manufacturing.doctype.work_order.work_order import ( from erpnext.manufacturing.doctype.work_order.mapper import (
make_stock_entry as make_stock_entry_for_wo, make_stock_entry as make_stock_entry_for_wo,
) )
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
@@ -788,10 +790,10 @@ class TestJobCard(ERPNextTestSuite):
setup_bom, setup_bom,
setup_operations, setup_operations,
) )
from erpnext.manufacturing.doctype.work_order.work_order import make_job_card from erpnext.manufacturing.doctype.work_order.mapper import (
from erpnext.manufacturing.doctype.work_order.work_order import (
make_stock_entry as make_stock_entry_for_wo, make_stock_entry as make_stock_entry_for_wo,
) )
from erpnext.manufacturing.doctype.work_order.work_order import make_job_card
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
@@ -1072,7 +1074,7 @@ class TestJobCard(ERPNextTestSuite):
job_card.save() job_card.save()
job_card.submit() job_card.submit()
from erpnext.manufacturing.doctype.work_order.work_order import ( from erpnext.manufacturing.doctype.work_order.mapper import (
make_stock_entry as make_stock_entry_for_wo, make_stock_entry as make_stock_entry_for_wo,
) )
@@ -1091,10 +1093,10 @@ class TestJobCard(ERPNextTestSuite):
setup_bom, setup_bom,
setup_operations, setup_operations,
) )
from erpnext.manufacturing.doctype.work_order.work_order import make_job_card from erpnext.manufacturing.doctype.work_order.mapper import (
from erpnext.manufacturing.doctype.work_order.work_order import (
make_stock_entry as make_stock_entry_for_wo, make_stock_entry as make_stock_entry_for_wo,
) )
from erpnext.manufacturing.doctype.work_order.work_order import make_job_card
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse

View File

@@ -10,9 +10,9 @@ from erpnext.manufacturing.doctype.production_plan.production_plan import (
get_sales_orders, get_sales_orders,
get_warehouse_list, get_warehouse_list,
) )
from erpnext.manufacturing.doctype.work_order.mapper import make_stock_entry as make_se_from_wo
from erpnext.manufacturing.doctype.work_order.work_order import OverProductionError from erpnext.manufacturing.doctype.work_order.work_order import OverProductionError
from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry as make_se_from_wo from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.stock.doctype.item.test_item import create_item, make_item from erpnext.stock.doctype.item.test_item import create_item, make_item
from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import (
@@ -523,13 +523,13 @@ class TestProductionPlan(ERPNextTestSuite):
) )
def make_purchase_receipt_from_po(po_doc): def make_purchase_receipt_from_po(po_doc):
from erpnext.buying.doctype.purchase_order.purchase_order import make_subcontracting_order from erpnext.buying.doctype.purchase_order.mapper import make_subcontracting_order
from erpnext.controllers.subcontracting_controller import make_rm_stock_entry from erpnext.controllers.subcontracting_controller import make_rm_stock_entry
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt
from erpnext.subcontracting.doctype.subcontracting_order.subcontracting_order import ( from erpnext.subcontracting.doctype.subcontracting_order.subcontracting_order import (
make_subcontracting_receipt, make_subcontracting_receipt,
) )
from erpnext.subcontracting.doctype.subcontracting_receipt.subcontracting_receipt import ( from erpnext.subcontracting.doctype.subcontracting_receipt.mapper import (
make_purchase_receipt as scr_make_purchase_receipt, make_purchase_receipt as scr_make_purchase_receipt,
) )
@@ -2210,9 +2210,9 @@ class TestProductionPlan(ERPNextTestSuite):
self.assertEqual(mr_items_dict["RM Item 2"], 80) self.assertEqual(mr_items_dict["RM Item 2"], 80)
def test_stock_reservation_against_production_plan(self): def test_stock_reservation_against_production_plan(self):
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.mapper import make_purchase_receipt
from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1) frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1)
@@ -2322,9 +2322,9 @@ class TestProductionPlan(ERPNextTestSuite):
frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 0) frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 0)
def test_stock_reservation_of_serial_nos_against_production_plan(self): def test_stock_reservation_of_serial_nos_against_production_plan(self):
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.mapper import make_purchase_receipt
from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1) frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1)
@@ -2469,9 +2469,9 @@ class TestProductionPlan(ERPNextTestSuite):
frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 0) frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 0)
def test_stock_reservation_of_batch_nos_against_production_plan(self): def test_stock_reservation_of_batch_nos_against_production_plan(self):
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.mapper import make_purchase_receipt
from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1) frappe.db.set_single_value("Stock Settings", "enable_stock_reservation", 1)

View File

@@ -9,8 +9,12 @@ from frappe.tests import timeout
from frappe.utils import add_days, add_months, add_to_date, cint, flt, now, nowdate, nowtime, today from frappe.utils import add_days, add_months, add_to_date, cint, flt, now, nowdate, nowtime, today
from erpnext.manufacturing.doctype.job_card.job_card import JobCardCancelError from erpnext.manufacturing.doctype.job_card.job_card import JobCardCancelError
from erpnext.manufacturing.doctype.job_card.job_card import make_stock_entry as make_stock_entry_from_jc from erpnext.manufacturing.doctype.job_card.mapper import make_stock_entry as make_stock_entry_from_jc
from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
from erpnext.manufacturing.doctype.work_order.mapper import (
make_stock_entry,
make_stock_return_entry,
)
from erpnext.manufacturing.doctype.work_order.work_order import ( from erpnext.manufacturing.doctype.work_order.work_order import (
CapacityError, CapacityError,
ItemHasVariantError, ItemHasVariantError,
@@ -18,8 +22,6 @@ from erpnext.manufacturing.doctype.work_order.work_order import (
StockOverProductionError, StockOverProductionError,
close_work_order, close_work_order,
make_job_card, make_job_card,
make_stock_entry,
make_stock_return_entry,
stop_unstop, stop_unstop,
) )
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order

View File

@@ -289,7 +289,7 @@ frappe.ui.form.on("Work Order", {
create_stock_return_entry: function (frm) { create_stock_return_entry: function (frm) {
frappe.call({ frappe.call({
method: "erpnext.manufacturing.doctype.work_order.work_order.make_stock_return_entry", method: "erpnext.manufacturing.doctype.work_order.mapper.make_stock_return_entry",
args: { args: {
work_order: frm.doc.name, work_order: frm.doc.name,
}, },
@@ -445,7 +445,7 @@ frappe.ui.form.on("Work Order", {
frappe.msgprint(__("Disassemble Qty cannot be less than or equal to <b>0</b>.")); frappe.msgprint(__("Disassemble Qty cannot be less than or equal to <b>0</b>."));
return; return;
} }
return frappe.xcall("erpnext.manufacturing.doctype.work_order.work_order.make_stock_entry", { return frappe.xcall("erpnext.manufacturing.doctype.work_order.mapper.make_stock_entry", {
work_order_id: frm.doc.name, work_order_id: frm.doc.name,
purpose: "Disassemble", purpose: "Disassemble",
qty: data.qty, qty: data.qty,
@@ -822,7 +822,7 @@ erpnext.work_order = {
.show_prompt_for_qty_input(frm, purpose, qty, 1) .show_prompt_for_qty_input(frm, purpose, qty, 1)
.then((data) => { .then((data) => {
return frappe.xcall( return frappe.xcall(
"erpnext.manufacturing.doctype.work_order.work_order.make_stock_entry", "erpnext.manufacturing.doctype.work_order.mapper.make_stock_entry",
{ {
work_order_id: frm.doc.name, work_order_id: frm.doc.name,
purpose: purpose, purpose: purpose,
@@ -1110,7 +1110,7 @@ erpnext.work_order = {
make_se: function (frm, purpose, qty, is_additional_transfer_entry) { make_se: function (frm, purpose, qty, is_additional_transfer_entry) {
if (qty) { if (qty) {
frappe frappe
.xcall("erpnext.manufacturing.doctype.work_order.work_order.make_stock_entry", { .xcall("erpnext.manufacturing.doctype.work_order.mapper.make_stock_entry", {
work_order_id: frm.doc.name, work_order_id: frm.doc.name,
purpose: purpose, purpose: purpose,
qty: qty, qty: qty,
@@ -1123,14 +1123,11 @@ erpnext.work_order = {
} else { } else {
this.show_prompt_for_qty_input(frm, purpose) this.show_prompt_for_qty_input(frm, purpose)
.then((data) => { .then((data) => {
return frappe.xcall( return frappe.xcall("erpnext.manufacturing.doctype.work_order.mapper.make_stock_entry", {
"erpnext.manufacturing.doctype.work_order.work_order.make_stock_entry", work_order_id: frm.doc.name,
{ purpose: purpose,
work_order_id: frm.doc.name, qty: data.qty,
purpose: purpose, });
qty: data.qty,
}
);
}) })
.then((stock_entry) => { .then((stock_entry) => {
frappe.model.sync(stock_entry); frappe.model.sync(stock_entry);
@@ -1142,7 +1139,7 @@ erpnext.work_order = {
create_pick_list: function (frm, purpose = "Material Transfer for Manufacture") { create_pick_list: function (frm, purpose = "Material Transfer for Manufacture") {
this.show_prompt_for_qty_input(frm, purpose) this.show_prompt_for_qty_input(frm, purpose)
.then((data) => { .then((data) => {
return frappe.xcall("erpnext.manufacturing.doctype.work_order.work_order.create_pick_list", { return frappe.xcall("erpnext.manufacturing.doctype.work_order.mapper.create_pick_list", {
source_name: frm.doc.name, source_name: frm.doc.name,
for_qty: data.qty, for_qty: data.qty,
}); });
@@ -1166,7 +1163,7 @@ erpnext.work_order = {
} }
frappe.call({ frappe.call({
method: "erpnext.manufacturing.doctype.work_order.work_order.make_stock_entry", method: "erpnext.manufacturing.doctype.work_order.mapper.make_stock_entry",
args: { args: {
work_order_id: frm.doc.name, work_order_id: frm.doc.name,
purpose: "Material Consumption for Manufacture", purpose: "Material Consumption for Manufacture",

View File

@@ -40,8 +40,6 @@ from erpnext.stock.stock_balance import get_planned_qty, update_bin_qty
from erpnext.stock.utils import get_bin, get_latest_stock_qty, validate_warehouse_company from erpnext.stock.utils import get_bin, get_latest_stock_qty, validate_warehouse_company
from erpnext.utilities.transaction_base import validate_uom_is_integer from erpnext.utilities.transaction_base import validate_uom_is_integer
from .mapper import create_pick_list, make_stock_entry, make_stock_return_entry
class OverProductionError(frappe.ValidationError): class OverProductionError(frappe.ValidationError):
pass pass

View File

@@ -402,7 +402,7 @@ class WorkstationDashboard {
if (r.message) { if (r.message) {
me.prepare_materials_modal(r.message, job_card, (job_card) => { me.prepare_materials_modal(r.message, job_card, (job_card) => {
frappe.call({ frappe.call({
method: "erpnext.manufacturing.doctype.job_card.job_card.make_stock_entry", method: "erpnext.manufacturing.doctype.job_card.mapper.make_stock_entry",
args: { args: {
source_name: job_card, source_name: job_card,
}, },

View File

@@ -6,7 +6,7 @@ from frappe.utils import add_days, getdate, nowdate
from erpnext.projects.doctype.project_template.test_project_template import make_project_template from erpnext.projects.doctype.project_template.test_project_template import make_project_template
from erpnext.projects.doctype.task.test_task import create_task from erpnext.projects.doctype.task.test_task import create_task
from erpnext.selling.doctype.sales_order.sales_order import make_project as make_project_from_so from erpnext.selling.doctype.sales_order.mapper import make_project as make_project_from_so
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -5,7 +5,7 @@ import datetime
import frappe import frappe
from frappe.utils import add_to_date, now_datetime, nowdate from frappe.utils import add_to_date, now_datetime, nowdate
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.projects.doctype.task.test_task import create_task from erpnext.projects.doctype.task.test_task import create_task
from erpnext.projects.doctype.timesheet.timesheet import OverlapError, make_sales_invoice from erpnext.projects.doctype.timesheet.timesheet import OverlapError, make_sales_invoice

View File

@@ -45,7 +45,7 @@ frappe.ui.form.on("Communication", {
make_lead_from_communication: (frm) => { make_lead_from_communication: (frm) => {
return frappe.call({ return frappe.call({
method: "erpnext.crm.doctype.lead.lead.make_lead_from_communication", method: "erpnext.crm.doctype.lead.mapper.make_lead_from_communication",
args: { args: {
communication: frm.doc.name, communication: frm.doc.name,
}, },
@@ -89,7 +89,7 @@ frappe.ui.form.on("Communication", {
fields, fields,
(data) => { (data) => {
frappe.call({ frappe.call({
method: "erpnext.crm.doctype.opportunity.opportunity.make_opportunity_from_communication", method: "erpnext.crm.doctype.opportunity.mapper.make_opportunity_from_communication",
args: { args: {
communication: frm.doc.name, communication: frm.doc.name,
company: data.company, company: data.company,

View File

@@ -13,7 +13,7 @@ frappe.ui.form.on("Customer", {
frm.make_methods = { frm.make_methods = {
Quotation: () => Quotation: () =>
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.customer.customer.make_quotation", method: "erpnext.selling.doctype.customer.mapper.make_quotation",
frm: frm, frm: frm,
}), }),
"Sales Order": () => "Sales Order": () =>
@@ -24,12 +24,12 @@ frappe.ui.form.on("Customer", {
}), }),
Opportunity: () => Opportunity: () =>
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.customer.customer.make_opportunity", method: "erpnext.selling.doctype.customer.mapper.make_opportunity",
frm: frm, frm: frm,
}), }),
"Payment Entry": () => "Payment Entry": () =>
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.customer.customer.make_payment_entry", method: "erpnext.selling.doctype.customer.mapper.make_payment_entry",
frm: frm, frm: frm,
}), }),
"Pricing Rule": () => frm.trigger("make_pricing_rule"), "Pricing Rule": () => frm.trigger("make_pricing_rule"),

View File

@@ -30,10 +30,6 @@ from erpnext.utilities.transaction_base import TransactionBase
from .mapper import ( from .mapper import (
make_address, make_address,
make_contact, make_contact,
make_opportunity,
make_payment_entry,
make_quotation,
parse_full_name,
) )

View File

@@ -12,6 +12,8 @@ from erpnext.exceptions import PartyDisabled, PartyFrozen
from erpnext.selling.doctype.customer.customer import ( from erpnext.selling.doctype.customer.customer import (
get_credit_limit, get_credit_limit,
get_customer_outstanding, get_customer_outstanding,
)
from erpnext.selling.doctype.customer.mapper import (
parse_full_name, parse_full_name,
) )
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -59,7 +59,7 @@ erpnext.selling.InstallationNote = class InstallationNote extends frappe.ui.form
__("From Delivery Note"), __("From Delivery Note"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_installation_note", method: "erpnext.stock.doctype.delivery_note.mapper.make_installation_note",
source_doctype: "Delivery Note", source_doctype: "Delivery Note",
target: me.frm, target: me.frm,
date_field: "posting_date", date_field: "posting_date",

View File

@@ -154,7 +154,7 @@ erpnext.selling.QuotationController = class QuotationController extends erpnext.
__("Opportunity"), __("Opportunity"),
function () { function () {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_quotation", method: "erpnext.crm.doctype.opportunity.mapper.make_quotation",
source_doctype: "Opportunity", source_doctype: "Opportunity",
target: me.frm, target: me.frm,
setters: [ setters: [
@@ -195,7 +195,7 @@ erpnext.selling.QuotationController = class QuotationController extends erpnext.
this.show_alternative_items_dialog(); this.show_alternative_items_dialog();
} else { } else {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.quotation.quotation.make_sales_order", method: "erpnext.selling.doctype.quotation.mapper.make_sales_order",
frm: me.frm, frm: me.frm,
}); });
} }
@@ -362,7 +362,7 @@ erpnext.selling.QuotationController = class QuotationController extends erpnext.
], ],
primary_action: function () { primary_action: function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.quotation.quotation.make_sales_order", method: "erpnext.selling.doctype.quotation.mapper.make_sales_order",
frm: me.frm, frm: me.frm,
args: { args: {
selected_items: dialog.fields_dict.alternative_items.grid.get_selected_children(), selected_items: dialog.fields_dict.alternative_items.grid.get_selected_children(),

View File

@@ -10,12 +10,7 @@ from frappe.utils import getdate, nowdate
from erpnext.controllers.selling_controller import SellingController from erpnext.controllers.selling_controller import SellingController
from .mapper import ( from .mapper import (
_make_sales_order,
create_customer_from_lead,
create_customer_from_prospect,
get_ordered_items, get_ordered_items,
make_sales_invoice,
make_sales_order,
) )
form_grid_templates = {"items": "templates/form_grid/item_grid.html"} form_grid_templates = {"items": "templates/form_grid/item_grid.html"}

View File

@@ -8,7 +8,7 @@ from frappe.tests import change_settings
from frappe.utils import add_days, add_months, flt, getdate, nowdate from frappe.utils import add_days, add_months, flt, getdate, nowdate
from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite
@@ -243,7 +243,7 @@ class TestQuotation(ERPNextTestSuite):
{"automatically_fetch_payment_terms": 1}, {"automatically_fetch_payment_terms": 1},
) )
def test_make_sales_order_terms_copied(self): def test_make_sales_order_terms_copied(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0]) quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0])
quotation.transaction_date = nowdate() quotation.transaction_date = nowdate()
@@ -256,7 +256,7 @@ class TestQuotation(ERPNextTestSuite):
self.assertTrue(sales_order.get("payment_schedule")) self.assertTrue(sales_order.get("payment_schedule"))
def test_do_not_add_ordered_items_in_new_sales_order(self): def test_do_not_add_ordered_items_in_new_sales_order(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
item = make_item("_Test Item for Quotation for SO", {"is_stock_item": 1}) item = make_item("_Test Item for Quotation for SO", {"is_stock_item": 1})
@@ -321,7 +321,7 @@ class TestQuotation(ERPNextTestSuite):
frappe.db.set_single_value("Stock Settings", "auto_insert_price_list_rate_if_missing", 0) frappe.db.set_single_value("Stock Settings", "auto_insert_price_list_rate_if_missing", 0)
def test_maintain_rate_in_sales_cycle_is_enforced(self): def test_maintain_rate_in_sales_cycle_is_enforced(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
maintain_rate = frappe.db.get_single_value("Selling Settings", "maintain_same_sales_rate") maintain_rate = frappe.db.get_single_value("Selling Settings", "maintain_same_sales_rate")
frappe.db.set_single_value("Selling Settings", "maintain_same_sales_rate", 1) frappe.db.set_single_value("Selling Settings", "maintain_same_sales_rate", 1)
@@ -339,7 +339,7 @@ class TestQuotation(ERPNextTestSuite):
frappe.db.set_single_value("Selling Settings", "maintain_same_sales_rate", maintain_rate) frappe.db.set_single_value("Selling Settings", "maintain_same_sales_rate", maintain_rate)
def test_make_sales_order_with_different_currency(self): def test_make_sales_order_with_different_currency(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0]) quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0])
quotation.transaction_date = nowdate() quotation.transaction_date = nowdate()
@@ -359,7 +359,7 @@ class TestQuotation(ERPNextTestSuite):
self.assertNotEqual(sales_order.currency, quotation.currency) self.assertNotEqual(sales_order.currency, quotation.currency)
def test_make_sales_order(self): def test_make_sales_order(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0]) quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0])
quotation.transaction_date = nowdate() quotation.transaction_date = nowdate()
@@ -391,7 +391,7 @@ class TestQuotation(ERPNextTestSuite):
}, },
) )
def test_make_sales_order_with_terms(self): def test_make_sales_order_with_terms(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0]) quotation = frappe.copy_doc(self.globalTestRecords["Quotation"][0])
quotation.transaction_date = nowdate() quotation.transaction_date = nowdate()
@@ -441,7 +441,7 @@ class TestQuotation(ERPNextTestSuite):
self.assertRaises(frappe.ValidationError, quotation.validate) self.assertRaises(frappe.ValidationError, quotation.validate)
def test_so_from_expired_quotation(self): def test_so_from_expired_quotation(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
frappe.db.set_single_value("Selling Settings", "allow_sales_order_creation_for_expired_quotation", 0) frappe.db.set_single_value("Selling Settings", "allow_sales_order_creation_for_expired_quotation", 0)
@@ -457,8 +457,8 @@ class TestQuotation(ERPNextTestSuite):
make_sales_order(quotation.name) make_sales_order(quotation.name)
def test_create_quotation_with_margin(self): def test_create_quotation_with_margin(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_delivery_note, make_delivery_note,
make_sales_invoice, make_sales_invoice,
) )
@@ -550,7 +550,7 @@ class TestQuotation(ERPNextTestSuite):
def test_product_bundle_mapping_on_creating_so(self): def test_product_bundle_mapping_on_creating_so(self):
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
make_item("_Test Product Bundle", {"is_stock_item": 0}) make_item("_Test Product Bundle", {"is_stock_item": 0})
@@ -877,7 +877,7 @@ class TestQuotation(ERPNextTestSuite):
self.assertEqual(quotation.items[1].amount, 240) self.assertEqual(quotation.items[1].amount, 240)
def test_alternative_items_sales_order_mapping_with_stock_items(self): def test_alternative_items_sales_order_mapping_with_stock_items(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
frappe.flags.args = frappe._dict() frappe.flags.args = frappe._dict()
@@ -1002,7 +1002,7 @@ class TestQuotation(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Selling Settings", {"allow_zero_qty_in_quotation": 1}) @ERPNextTestSuite.change_settings("Selling Settings", {"allow_zero_qty_in_quotation": 1})
def test_so_from_zero_qty_quotation(self): def test_so_from_zero_qty_quotation(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
make_item("_Test Item 2", {"is_stock_item": 1}) make_item("_Test Item 2", {"is_stock_item": 1})
@@ -1035,7 +1035,7 @@ class TestQuotation(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1}) @ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1})
def test_duplicate_items_in_quotation(self): def test_duplicate_items_in_quotation(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
# item code same but description different # item code same but description different
@@ -1138,7 +1138,7 @@ class TestQuotation(ERPNextTestSuite):
{"automatically_fetch_payment_terms": 1}, {"automatically_fetch_payment_terms": 1},
) )
def test_make_sales_order_with_payment_terms(self): def test_make_sales_order_with_payment_terms(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order from erpnext.selling.doctype.quotation.mapper import make_sales_order
template = frappe.get_doc( template = frappe.get_doc(
{ {

View File

@@ -948,7 +948,7 @@ def make_raw_material_request(
@frappe.whitelist() @frappe.whitelist()
def make_inter_company_purchase_order(source_name: str, target_doc: str | Document | None = None): def make_inter_company_purchase_order(source_name: str, target_doc: str | Document | None = None):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_transaction from erpnext.accounts.doctype.sales_invoice.mapper import make_inter_company_transaction
return make_inter_company_transaction("Sales Order", source_name, target_doc) return make_inter_company_transaction("Sales Order", source_name, target_doc)

View File

@@ -179,7 +179,7 @@ frappe.ui.form.on("Sales Order", {
__("Purchase Order"), __("Purchase Order"),
() => { () => {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_inter_company_sales_order", method: "erpnext.buying.doctype.purchase_order.mapper.make_inter_company_sales_order",
source_doctype: "Purchase Order", source_doctype: "Purchase Order",
target: frm, target: frm,
setters: [ setters: [
@@ -1229,7 +1229,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
__("Quotation"), __("Quotation"),
function () { function () {
let d = erpnext.utils.map_current_doc({ let d = erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.quotation.quotation.make_sales_order", method: "erpnext.selling.doctype.quotation.mapper.make_sales_order",
source_doctype: "Quotation", source_doctype: "Quotation",
target: me.frm, target: me.frm,
setters: [ setters: [
@@ -1278,7 +1278,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
create_pick_list() { create_pick_list() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.create_pick_list", method: "erpnext.selling.doctype.sales_order.mapper.create_pick_list",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -1406,7 +1406,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
make_production_plan() { make_production_plan() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_production_plan", method: "erpnext.selling.doctype.sales_order.mapper.make_production_plan",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -1421,7 +1421,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
make_material_request() { make_material_request() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request", method: "erpnext.selling.doctype.sales_order.mapper.make_material_request",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -1519,7 +1519,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
primary_action: function () { primary_action: function () {
var data = d.get_values(); var data = d.get_values();
me.frm.call({ me.frm.call({
method: "erpnext.selling.doctype.sales_order.sales_order.make_raw_material_request", method: "erpnext.selling.doctype.sales_order.mapper.make_raw_material_request",
args: { args: {
items: data, items: data,
company: me.frm.doc.company, company: me.frm.doc.company,
@@ -1614,7 +1614,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
make_delivery_note(delivery_dates, for_reserved_stock = false) { make_delivery_note(delivery_dates, for_reserved_stock = false) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note", method: "erpnext.selling.doctype.sales_order.mapper.make_delivery_note",
frm: this.frm, frm: this.frm,
args: { args: {
delivery_dates, delivery_dates,
@@ -1627,35 +1627,35 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
make_sales_invoice() { make_sales_invoice() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice", method: "erpnext.selling.doctype.sales_order.mapper.make_sales_invoice",
frm: this.frm, frm: this.frm,
}); });
} }
make_maintenance_schedule() { make_maintenance_schedule() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule", method: "erpnext.selling.doctype.sales_order.mapper.make_maintenance_schedule",
frm: this.frm, frm: this.frm,
}); });
} }
make_project() { make_project() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_project", method: "erpnext.selling.doctype.sales_order.mapper.make_project",
frm: this.frm, frm: this.frm,
}); });
} }
make_inter_company_order() { make_inter_company_order() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_inter_company_purchase_order", method: "erpnext.selling.doctype.sales_order.mapper.make_inter_company_purchase_order",
frm: this.frm, frm: this.frm,
}); });
} }
make_maintenance_visit() { make_maintenance_visit() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit", method: "erpnext.selling.doctype.sales_order.mapper.make_maintenance_visit",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -1769,7 +1769,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
dialog.hide(); dialog.hide();
return frappe.call({ return frappe.call({
method: "erpnext.selling.doctype.sales_order.sales_order.make_purchase_order", method: "erpnext.selling.doctype.sales_order.mapper.make_purchase_order",
freeze_message: __("Creating Purchase Order ..."), freeze_message: __("Creating Purchase Order ..."),
args: { args: {
source_name: me.frm.doc.name, source_name: me.frm.doc.name,
@@ -1889,7 +1889,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex
make_subcontracting_inward_order() { make_subcontracting_inward_order() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_subcontracting_inward_order", method: "erpnext.selling.doctype.sales_order.mapper.make_subcontracting_inward_order",
frm: this.frm, frm: this.frm,
freeze_message: __("Creating Subcontracting Inward Order ..."), freeze_message: __("Creating Subcontracting Inward Order ..."),
}); });

View File

@@ -31,22 +31,6 @@ from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry impor
from erpnext.stock.get_item_details import get_default_bom from erpnext.stock.get_item_details import get_default_bom
from erpnext.stock.stock_balance import get_reserved_qty, update_bin_qty from erpnext.stock.stock_balance import get_reserved_qty, update_bin_qty
from .mapper import (
create_pick_list,
make_delivery_note,
make_inter_company_purchase_order,
make_maintenance_schedule,
make_maintenance_visit,
make_material_request,
make_production_plan,
make_project,
make_purchase_order,
make_raw_material_request,
make_sales_invoice,
make_subcontracting_inward_order,
make_work_orders,
)
form_grid_templates = {"items": "templates/form_grid/item_grid.html"} form_grid_templates = {"items": "templates/form_grid/item_grid.html"}

View File

@@ -19,8 +19,7 @@ from erpnext.maintenance.doctype.maintenance_visit.test_maintenance_visit import
) )
from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order from erpnext.manufacturing.doctype.blanket_order.test_blanket_order import make_blanket_order
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
WarehouseRequired,
create_pick_list, create_pick_list,
make_delivery_note, make_delivery_note,
make_material_request, make_material_request,
@@ -29,6 +28,9 @@ from erpnext.selling.doctype.sales_order.sales_order import (
make_sales_invoice, make_sales_invoice,
make_work_orders, make_work_orders,
) )
from erpnext.selling.doctype.sales_order.sales_order import (
WarehouseRequired,
)
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
from erpnext.stock.get_item_details import get_bin_details from erpnext.stock.get_item_details import get_bin_details
@@ -252,7 +254,7 @@ class TestSalesOrder(ERPNextTestSuite):
self.assertEqual(len(si1.get("items")), 0) self.assertEqual(len(si1.get("items")), 0)
def test_so_billed_amount_against_return_entry(self): def test_so_billed_amount_against_return_entry(self):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.mapper import make_sales_return
so = make_sales_order(do_not_submit=True) so = make_sales_order(do_not_submit=True)
so.submit() so.submit()
@@ -1163,7 +1165,7 @@ class TestSalesOrder(ERPNextTestSuite):
def test_drop_shipping(self): def test_drop_shipping(self):
from erpnext.buying.doctype.purchase_order.purchase_order import update_status from erpnext.buying.doctype.purchase_order.purchase_order import update_status
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_purchase_order, make_purchase_order,
) )
from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status
@@ -1259,7 +1261,7 @@ class TestSalesOrder(ERPNextTestSuite):
so.cancel() so.cancel()
def test_drop_shipping_partial_order(self): def test_drop_shipping_partial_order(self):
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_purchase_order, make_purchase_order,
) )
from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status
@@ -1319,7 +1321,7 @@ class TestSalesOrder(ERPNextTestSuite):
def test_drop_shipping_full_for_default_suppliers(self): def test_drop_shipping_full_for_default_suppliers(self):
"""Test if multiple POs are generated in one go against different default suppliers.""" """Test if multiple POs are generated in one go against different default suppliers."""
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_purchase_order, make_purchase_order,
) )
@@ -1363,7 +1365,7 @@ class TestSalesOrder(ERPNextTestSuite):
Tests if the the Product Bundles in the Items table of Sales Orders are replaced with Tests if the the Product Bundles in the Items table of Sales Orders are replaced with
their child items(from the Packed Items table) on creating a Purchase Order from it. their child items(from the Packed Items table) on creating a Purchase Order from it.
""" """
from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order from erpnext.selling.doctype.sales_order.mapper import make_purchase_order
product_bundle = make_item("_Test Product Bundle", {"is_stock_item": 0}) product_bundle = make_item("_Test Product Bundle", {"is_stock_item": 0})
make_item("_Test Bundle Item 1", {"is_stock_item": 1}) make_item("_Test Bundle Item 1", {"is_stock_item": 1})
@@ -1393,7 +1395,7 @@ class TestSalesOrder(ERPNextTestSuite):
""" """
Tests if the packed item's `ordered_qty` is updated with the quantity of the Purchase Order Tests if the packed item's `ordered_qty` is updated with the quantity of the Purchase Order
""" """
from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order from erpnext.selling.doctype.sales_order.mapper import make_purchase_order
product_bundle = make_item("_Test Product Bundle", {"is_stock_item": 0}) product_bundle = make_item("_Test Product Bundle", {"is_stock_item": 0})
make_item("_Test Bundle Item 1", {"is_stock_item": 1}) make_item("_Test Bundle Item 1", {"is_stock_item": 1})
@@ -1915,7 +1917,7 @@ class TestSalesOrder(ERPNextTestSuite):
def test_so_back_updated_from_wo_via_mr(self): def test_so_back_updated_from_wo_via_mr(self):
"SO -> MR (Manufacture) -> WO. Test if WO Qty is updated in SO." "SO -> MR (Manufacture) -> WO. Test if WO Qty is updated in SO."
from erpnext.manufacturing.doctype.work_order.work_order import ( from erpnext.manufacturing.doctype.work_order.mapper import (
make_stock_entry as make_se_from_wo, make_stock_entry as make_se_from_wo,
) )
from erpnext.stock.doctype.material_request.material_request import raise_work_orders from erpnext.stock.doctype.material_request.material_request import raise_work_orders
@@ -2346,7 +2348,7 @@ class TestSalesOrder(ERPNextTestSuite):
self.assertTrue(row.warehouse == warehouse) self.assertTrue(row.warehouse == warehouse)
def test_pick_list_for_batch(self): def test_pick_list_for_batch(self):
from erpnext.stock.doctype.pick_list.pick_list import create_delivery_note from erpnext.stock.doctype.pick_list.mapper import create_delivery_note
batch_item = make_item( batch_item = make_item(
"_Test Batch Item for Pick LIST", "_Test Batch Item for Pick LIST",
@@ -2664,7 +2666,7 @@ class TestSalesOrder(ERPNextTestSuite):
self.assertEqual(so.status, "To Deliver and Bill") self.assertEqual(so.status, "To Deliver and Bill")
def test_item_tax_transfer_from_sales_to_purchase(self): def test_item_tax_transfer_from_sales_to_purchase(self):
from erpnext.selling.doctype.sales_order.sales_order import make_purchase_order from erpnext.selling.doctype.sales_order.mapper import make_purchase_order
item_tax = frappe.new_doc("Item Tax Template") item_tax = frappe.new_doc("Item Tax Template")
item_tax.title = "Test Item Tax Template" item_tax.title = "Test Item Tax Template"

View File

@@ -617,7 +617,7 @@ erpnext.PointOfSale.Controller = class {
method: method:
doc.doctype == "POS Invoice" doc.doctype == "POS Invoice"
? "erpnext.accounts.doctype.pos_invoice.pos_invoice.make_sales_return" ? "erpnext.accounts.doctype.pos_invoice.pos_invoice.make_sales_return"
: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_sales_return", : "erpnext.accounts.doctype.sales_invoice.mapper.make_sales_return",
args: { args: {
source_name: doc.name, source_name: doc.name,
target_doc: this.frm.doc, target_doc: this.frm.doc,

View File

@@ -3,7 +3,7 @@ import datetime
import frappe import frappe
from frappe.utils import add_days, add_months, nowdate from frappe.utils import add_days, add_months, nowdate
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.selling.report.payment_terms_status_for_sales_order.payment_terms_status_for_sales_order import ( from erpnext.selling.report.payment_terms_status_for_sales_order.payment_terms_status_for_sales_order import (
execute, execute,

View File

@@ -4,7 +4,7 @@
from frappe.utils import add_months, nowdate from frappe.utils import add_months, nowdate
from erpnext.selling.doctype.sales_order.sales_order import make_material_request from erpnext.selling.doctype.sales_order.mapper import make_material_request
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.selling.report.pending_so_items_for_purchase_request.pending_so_items_for_purchase_request import ( from erpnext.selling.report.pending_so_items_for_purchase_request.pending_so_items_for_purchase_request import (
execute, execute,

View File

@@ -1,7 +1,7 @@
import frappe import frappe
from frappe.utils import add_days from frappe.utils import add_days
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note, make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_delivery_note, make_sales_invoice
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.selling.report.sales_order_analysis.sales_order_analysis import execute from erpnext.selling.report.sales_order_analysis.sales_order_analysis import execute
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item

View File

@@ -11,8 +11,8 @@ from frappe.utils import add_days, get_url_to_form, getdate
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
from erpnext.accounts.utils import get_fiscal_year from erpnext.accounts.utils import get_fiscal_year
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice from erpnext.buying.doctype.purchase_order.mapper import make_purchase_invoice
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
from erpnext.setup.setup_wizard.operations.install_fixtures import create_bank_account from erpnext.setup.setup_wizard.operations.install_fixtures import create_bank_account

View File

@@ -387,7 +387,7 @@ class TestBatch(ERPNextTestSuite):
self.assertEqual(get_batch_qty("batch a", "_Test Warehouse - _TC"), 90) self.assertEqual(get_batch_qty("batch a", "_Test Warehouse - _TC"), 90)
def test_ignore_reserved_qty(self): def test_ignore_reserved_qty(self):
from erpnext.selling.doctype.sales_order.sales_order import create_pick_list from erpnext.selling.doctype.sales_order.mapper import create_pick_list
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
batch_item_name = "Reserve Batch Item" batch_item_name = "Reserve Batch Item"

View File

@@ -89,7 +89,7 @@ frappe.ui.form.on("Delivery Note", {
__("Credit Note"), __("Credit Note"),
function () { function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice", method: "erpnext.stock.doctype.delivery_note.mapper.make_sales_invoice",
frm: cur_frm, frm: cur_frm,
}); });
}, },
@@ -114,7 +114,7 @@ frappe.ui.form.on("Delivery Note", {
__(button_label), __(button_label),
function () { function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_inter_company_purchase_receipt", method: "erpnext.stock.doctype.delivery_note.mapper.make_inter_company_purchase_receipt",
frm: frm, frm: frm,
}); });
}, },
@@ -163,7 +163,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends (
}); });
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note", method: "erpnext.selling.doctype.sales_order.mapper.make_delivery_note",
args: { args: {
for_reserved_stock: 1, for_reserved_stock: 1,
}, },
@@ -205,7 +205,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends (
}); });
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.pick_list.pick_list.create_dn_for_pick_lists", method: "erpnext.stock.doctype.pick_list.mapper.create_dn_for_pick_lists",
source_doctype: "Pick List", source_doctype: "Pick List",
target: me.frm, target: me.frm,
setters: [ setters: [
@@ -296,7 +296,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends (
__("Packing Slip"), __("Packing Slip"),
function () { function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip", method: "erpnext.stock.doctype.delivery_note.mapper.make_packing_slip",
frm: me.frm, frm: me.frm,
}); });
}, },
@@ -367,7 +367,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends (
make_shipment() { make_shipment() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_shipment", method: "erpnext.stock.doctype.delivery_note.mapper.make_shipment",
frm: this.frm, frm: this.frm,
}); });
} }
@@ -383,28 +383,28 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends (
make_sales_invoice() { make_sales_invoice() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice", method: "erpnext.stock.doctype.delivery_note.mapper.make_sales_invoice",
frm: this.frm, frm: this.frm,
}); });
} }
make_installation_note() { make_installation_note() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_installation_note", method: "erpnext.stock.doctype.delivery_note.mapper.make_installation_note",
frm: this.frm, frm: this.frm,
}); });
} }
make_sales_return() { make_sales_return() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_return", method: "erpnext.stock.doctype.delivery_note.mapper.make_sales_return",
frm: this.frm, frm: this.frm,
}); });
} }
make_delivery_trip() { make_delivery_trip() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_delivery_trip", method: "erpnext.stock.doctype.delivery_note.mapper.make_delivery_trip",
frm: cur_frm, frm: cur_frm,
}); });
} }

View File

@@ -14,14 +14,7 @@ from erpnext.controllers.selling_controller import SellingController
from erpnext.stock.doctype.packed_item.packed_item import make_packing_list from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
from .mapper import ( from .mapper import (
make_delivery_trip,
make_installation_note,
make_inter_company_purchase_receipt,
make_inter_company_transaction,
make_packing_slip,
make_sales_invoice, make_sales_invoice,
make_sales_return,
make_shipment,
) )
form_grid_templates = {"items": "templates/form_grid/item_grid.html"} form_grid_templates = {"items": "templates/form_grid/item_grid.html"}

View File

@@ -43,7 +43,7 @@ frappe.listview_settings["Delivery Note"] = {
type: "POST", type: "POST",
method: "frappe.model.mapper.map_docs", method: "frappe.model.mapper.map_docs",
args: { args: {
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_delivery_trip", method: "erpnext.stock.doctype.delivery_note.mapper.make_delivery_trip",
source_names: docnames, source_names: docnames,
target_doc: cur_frm.doc, target_doc: cur_frm.doc,
}, },

View File

@@ -406,7 +406,7 @@ def make_inter_company_purchase_receipt(source_name: str, target_doc: str | Docu
def make_inter_company_transaction(doctype: str, source_name: str, target_doc=None): def make_inter_company_transaction(doctype: str, source_name: str, target_doc=None):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( from erpnext.accounts.doctype.sales_invoice.mapper import (
get_inter_company_details, get_inter_company_details,
set_purchase_references, set_purchase_references,
update_address, update_address,

View File

@@ -19,7 +19,7 @@ from erpnext.selling.doctype.sales_order.test_sales_order import (
create_dn_against_so, create_dn_against_so,
make_sales_order, make_sales_order,
) )
from erpnext.stock.doctype.delivery_note.delivery_note import ( from erpnext.stock.doctype.delivery_note.mapper import (
make_delivery_trip, make_delivery_trip,
make_sales_invoice, make_sales_invoice,
) )
@@ -218,7 +218,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(cstr(serial_no.get(field)), value) self.assertEqual(cstr(serial_no.get(field)), value)
def test_delivery_note_return_against_denormalized_serial_no(self): def test_delivery_note_return_against_denormalized_serial_no(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
frappe.flags.ignore_serial_batch_bundle_validation = True frappe.flags.ignore_serial_batch_bundle_validation = True
@@ -1012,7 +1012,7 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_dn_billing_status_case2(self): def test_dn_billing_status_case2(self):
# SO -> SI and SO -> DN1, DN2 # SO -> SI and SO -> DN1, DN2
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_delivery_note, make_delivery_note,
make_sales_invoice, make_sales_invoice,
) )
@@ -1054,7 +1054,7 @@ class TestDeliveryNote(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Accounts Settings", {"delete_linked_ledger_entries": True}) @ERPNextTestSuite.change_settings("Accounts Settings", {"delete_linked_ledger_entries": True})
def test_sales_invoice_qty_after_return(self): def test_sales_invoice_qty_after_return(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item = make_item( item = make_item(
"Test Sales Invoice Qty After Return", "Test Sales Invoice Qty After Return",
@@ -1085,8 +1085,8 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_dn_billing_status_case3(self): def test_dn_billing_status_case3(self):
# SO -> DN1 -> SI and SO -> SI and SO -> DN2 # SO -> DN1 -> SI and SO -> SI and SO -> DN2
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_sales_invoice as make_sales_invoice_from_so, make_sales_invoice as make_sales_invoice_from_so,
) )
@@ -1136,8 +1136,8 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_dn_billing_status_case4(self): def test_dn_billing_status_case4(self):
# SO -> SI -> DN # SO -> SI -> DN
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_delivery_note from erpnext.accounts.doctype.sales_invoice.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
so = make_sales_order(po_no="12345") so = make_sales_order(po_no="12345")
@@ -1160,7 +1160,7 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_dn_billing_status_case5(self): def test_dn_billing_status_case5(self):
# SO -> SI(with update stock partial invoice) # SO -> SI(with update stock partial invoice)
# SO -> DN # SO -> DN
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note, make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_delivery_note, make_sales_invoice
so = make_sales_order(po_no="12345") so = make_sales_order(po_no="12345")
@@ -1260,8 +1260,8 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(expected_values[gle.account]["cost_center"], gle.cost_center) self.assertEqual(expected_values[gle.account]["cost_center"], gle.cost_center)
def test_make_sales_invoice_from_dn_for_returned_qty(self): def test_make_sales_invoice_from_dn_for_returned_qty(self):
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice from erpnext.stock.doctype.delivery_note.mapper import make_sales_invoice
so = make_sales_order(qty=2) so = make_sales_order(qty=2)
so.submit() so.submit()
@@ -1280,7 +1280,7 @@ class TestDeliveryNote(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1}) @ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1})
def test_make_sales_invoice_from_dn_with_returned_qty_duplicate_items(self): def test_make_sales_invoice_from_dn_with_returned_qty_duplicate_items(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice from erpnext.stock.doctype.delivery_note.mapper import make_sales_invoice
dn = create_delivery_note(qty=8, do_not_submit=True) dn = create_delivery_note(qty=8, do_not_submit=True)
dn.append( dn.append(
@@ -1387,8 +1387,8 @@ class TestDeliveryNote(ERPNextTestSuite):
# | # |
# |---> DN(Partial Sales Return) ---> SI(Credit Note) # |---> DN(Partial Sales Return) ---> SI(Credit Note)
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_delivery_note from erpnext.accounts.doctype.sales_invoice.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice from erpnext.selling.doctype.sales_order.mapper import make_sales_invoice
so = make_sales_order(qty=10) so = make_sales_order(qty=10)
si = make_sales_invoice(so.name) si = make_sales_invoice(so.name)
@@ -1400,7 +1400,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(dn.items[0].returned_qty, 0) self.assertEqual(dn.items[0].returned_qty, 0)
self.assertEqual(dn.per_billed, 100) self.assertEqual(dn.per_billed, 100)
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice from erpnext.stock.doctype.delivery_note.mapper import make_sales_invoice
dn1 = create_delivery_note(is_return=1, return_against=dn.name, qty=-3) dn1 = create_delivery_note(is_return=1, return_against=dn.name, qty=-3)
si1 = make_sales_invoice(dn1.name) si1 = make_sales_invoice(dn1.name)
@@ -1569,7 +1569,7 @@ class TestDeliveryNote(ERPNextTestSuite):
def reserved_qty_check(self): def reserved_qty_check(self):
from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.controllers.sales_and_purchase_return import make_return_doc
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.stock.stock_balance import get_reserved_qty from erpnext.stock.stock_balance import get_reserved_qty
dont_reserve_qty = frappe.db.get_single_value( dont_reserve_qty = frappe.db.get_single_value(
@@ -1776,7 +1776,7 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_internal_transfer_for_non_stock_item(self): def test_internal_transfer_for_non_stock_item(self):
from erpnext.selling.doctype.customer.test_customer import create_internal_customer from erpnext.selling.doctype.customer.test_customer import create_internal_customer
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
item = make_item(properties={"is_stock_item": 0}).name item = make_item(properties={"is_stock_item": 0}).name
warehouse = "_Test Warehouse - _TC" warehouse = "_Test Warehouse - _TC"
@@ -1965,7 +1965,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(sle_data.stock_value_difference, 200.0 * -1) self.assertEqual(sle_data.stock_value_difference, 200.0 * -1)
def test_sales_return_batch_no_for_batched_item_in_dn(self): def test_sales_return_batch_no_for_batched_item_in_dn(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item_code = make_item( item_code = make_item(
"Test Batched Item for Sales Return 11", "Test Batched Item for Sales Return 11",
@@ -1994,7 +1994,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(batch_no, returned_batch_no) self.assertEqual(batch_no, returned_batch_no)
def test_partial_sales_return_batch_no_for_batched_item_in_dn(self): def test_partial_sales_return_batch_no_for_batched_item_in_dn(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item_code = make_item( item_code = make_item(
"Test Partial Batched Item for Sales Return 11", "Test Partial Batched Item for Sales Return 11",
@@ -2041,7 +2041,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(sabb_qty, 2) self.assertEqual(sabb_qty, 2)
def test_sales_return_serial_no_for_serial_item_in_dn(self): def test_sales_return_serial_no_for_serial_item_in_dn(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item_code = make_item( item_code = make_item(
"Test Serial Item for Sales Return 11", "Test Serial Item for Sales Return 11",
@@ -2190,7 +2190,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(sn.warranty_period, 100) self.assertEqual(sn.warranty_period, 100)
def test_batch_return_dn(self): def test_batch_return_dn(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item_code = make_item( item_code = make_item(
"Test Batch Return DN Item 1", "Test Batch Return DN Item 1",
@@ -2231,7 +2231,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(stock_value_difference, 100.0 * 5) self.assertEqual(stock_value_difference, 100.0 * 5)
def test_delivery_note_return_valuation_without_use_serial_batch_field(self): def test_delivery_note_return_valuation_without_use_serial_batch_field(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
batch_item = make_item( batch_item = make_item(
"_Test Delivery Note Return Valuation Batch Item", "_Test Delivery Note Return Valuation Batch Item",
@@ -2351,7 +2351,7 @@ class TestDeliveryNote(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1}) @ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1})
def test_delivery_note_return_valuation_with_use_serial_batch_field(self): def test_delivery_note_return_valuation_with_use_serial_batch_field(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
batch_item = make_item( batch_item = make_item(
"_Test Delivery Note Return Valuation WITH Batch Item", "_Test Delivery Note Return Valuation WITH Batch Item",
@@ -2561,7 +2561,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertTrue(row.serial_no) self.assertTrue(row.serial_no)
def test_delivery_note_return_for_batch_item_with_different_warehouse(self): def test_delivery_note_return_for_batch_item_with_different_warehouse(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
batch_item = make_item( batch_item = make_item(
@@ -2631,7 +2631,7 @@ class TestDeliveryNote(ERPNextTestSuite):
self.assertEqual(d.incoming_rate, batch_no_valuation[d.batch_no]) self.assertEqual(d.incoming_rate, batch_no_valuation[d.batch_no])
def test_delivery_note_per_billed_after_return(self): def test_delivery_note_per_billed_after_return(self):
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
so = make_sales_order(qty=2) so = make_sales_order(qty=2)
dn = make_delivery_note(so.name) dn = make_delivery_note(so.name)
@@ -2699,7 +2699,7 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_sales_return_for_product_bundle(self): def test_sales_return_for_product_bundle(self):
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
rm_items = [] rm_items = []
@@ -3150,7 +3150,7 @@ class TestDeliveryNote(ERPNextTestSuite):
def test_sdbnb_skip_for_dn_against_sales_invoice(self): def test_sdbnb_skip_for_dn_against_sales_invoice(self):
"""Test that DN items with against_sales_invoice reference skips SDBNB account assignment.""" """Test that DN items with against_sales_invoice reference skips SDBNB account assignment."""
from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( from erpnext.accounts.doctype.sales_invoice.mapper import (
make_delivery_note as make_dn_from_si, make_delivery_note as make_dn_from_si,
) )

View File

@@ -54,7 +54,7 @@ frappe.ui.form.on("Delivery Trip", {
__("Delivery Note"), __("Delivery Note"),
() => { () => {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_delivery_trip", method: "erpnext.stock.doctype.delivery_note.mapper.make_delivery_trip",
source_doctype: "Delivery Note", source_doctype: "Delivery Note",
target: frm, target: frm,
date_field: "posting_date", date_field: "posting_date",

View File

@@ -364,7 +364,7 @@ class TestInventoryDimension(ERPNextTestSuite):
def test_inter_transfer_return_against_inventory_dimension(self): def test_inter_transfer_return_against_inventory_dimension(self):
from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.controllers.sales_and_purchase_return import make_return_doc
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
data = prepare_data_for_internal_transfer() data = prepare_data_for_internal_transfer()

View File

@@ -11,8 +11,8 @@ from erpnext.controllers.tests.test_subcontracting_controller import (
set_backflush_based_on, set_backflush_based_on,
) )
from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
from erpnext.manufacturing.doctype.work_order.mapper import make_stock_entry
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import ( from erpnext.stock.doctype.stock_reconciliation.stock_reconciliation import (
EmptyStockReconciliationItemsError, EmptyStockReconciliationItemsError,

View File

@@ -1130,10 +1130,10 @@ class TestLandedCostVoucher(ERPNextTestSuite):
make_stock_transfer_entry, make_stock_transfer_entry,
) )
from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record from erpnext.manufacturing.doctype.work_order.mapper import (
from erpnext.manufacturing.doctype.work_order.work_order import (
make_stock_entry as make_stock_entry_for_wo, make_stock_entry as make_stock_entry_for_wo,
) )
from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
from erpnext.subcontracting.doctype.subcontracting_order.subcontracting_order import ( from erpnext.subcontracting.doctype.subcontracting_order.subcontracting_order import (

View File

@@ -258,7 +258,7 @@ frappe.ui.form.on("Material Request", {
get_items_from_sales_order: function (frm) { get_items_from_sales_order: function (frm) {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request", method: "erpnext.selling.doctype.sales_order.mapper.make_material_request",
source_doctype: "Sales Order", source_doctype: "Sales Order",
target: frm, target: frm,
setters: { setters: {
@@ -411,7 +411,7 @@ frappe.ui.form.on("Material Request", {
make_purchase_order: function (frm) { make_purchase_order: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order", method: "erpnext.stock.doctype.material_request.mapper.make_purchase_order",
frm: frm, frm: frm,
run_link_triggers: true, run_link_triggers: true,
}); });
@@ -419,7 +419,7 @@ frappe.ui.form.on("Material Request", {
make_request_for_quotation: function (frm) { make_request_for_quotation: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_request_for_quotation", method: "erpnext.stock.doctype.material_request.mapper.make_request_for_quotation",
frm: frm, frm: frm,
run_link_triggers: true, run_link_triggers: true,
}); });
@@ -427,14 +427,14 @@ frappe.ui.form.on("Material Request", {
make_supplier_quotation: function (frm) { make_supplier_quotation: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_supplier_quotation", method: "erpnext.stock.doctype.material_request.mapper.make_supplier_quotation",
frm: frm, frm: frm,
}); });
}, },
make_stock_entry: function (frm) { make_stock_entry: function (frm) {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.material_request.material_request.make_stock_entry", method: "erpnext.stock.doctype.material_request.mapper.make_stock_entry",
frm: frm, frm: frm,
}); });
}, },
@@ -461,7 +461,7 @@ frappe.ui.form.on("Material Request", {
], ],
(values) => { (values) => {
frappe.call({ frappe.call({
method: "erpnext.stock.doctype.material_request.material_request.make_in_transit_stock_entry", method: "erpnext.stock.doctype.material_request.mapper.make_in_transit_stock_entry",
args: { args: {
source_name: frm.doc.name, source_name: frm.doc.name,
in_transit_warehouse: values.in_transit_warehouse, in_transit_warehouse: values.in_transit_warehouse,
@@ -481,7 +481,7 @@ frappe.ui.form.on("Material Request", {
create_pick_list: (frm) => { create_pick_list: (frm) => {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.material_request.material_request.create_pick_list", method: "erpnext.stock.doctype.material_request.mapper.create_pick_list",
frm: frm, frm: frm,
}); });
}, },

View File

@@ -21,15 +21,7 @@ from erpnext.manufacturing.doctype.work_order.work_order import get_item_details
from erpnext.stock.stock_balance import get_indented_qty, update_bin_qty from erpnext.stock.stock_balance import get_indented_qty, update_bin_qty
from .mapper import ( from .mapper import (
create_pick_list,
get_items_based_on_default_supplier, get_items_based_on_default_supplier,
make_in_transit_stock_entry,
make_purchase_order,
make_purchase_order_based_on_supplier,
make_request_for_quotation,
make_stock_entry,
make_supplier_quotation,
set_missing_values,
) )
form_grid_templates = {"items": "templates/form_grid/material_request_grid.html"} form_grid_templates = {"items": "templates/form_grid/material_request_grid.html"}

View File

@@ -10,12 +10,14 @@ from frappe.utils import flt, today
from erpnext.controllers.accounts_controller import InvalidQtyError from erpnext.controllers.accounts_controller import InvalidQtyError
from erpnext.stock.doctype.item.test_item import create_item from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.material_request.material_request import ( from erpnext.stock.doctype.material_request.mapper import (
create_pick_list, create_pick_list,
make_in_transit_stock_entry, make_in_transit_stock_entry,
make_purchase_order, make_purchase_order,
make_stock_entry, make_stock_entry,
make_supplier_quotation, make_supplier_quotation,
)
from erpnext.stock.doctype.material_request.material_request import (
raise_work_orders, raise_work_orders,
) )
from erpnext.stock.doctype.stock_entry.stock_entry import make_stock_in_entry from erpnext.stock.doctype.stock_entry.stock_entry import make_stock_in_entry
@@ -980,7 +982,7 @@ class TestMaterialRequest(ERPNextTestSuite):
from frappe.utils import add_to_date, today from frappe.utils import add_to_date, today
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.selling.doctype.sales_order.sales_order import make_material_request from erpnext.selling.doctype.sales_order.mapper import make_material_request
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
sub_item_a = "_Test Bundle ItemA" sub_item_a = "_Test Bundle ItemA"
@@ -1019,7 +1021,7 @@ class TestMaterialRequest(ERPNextTestSuite):
"""Test for pick list mapped doc qty from partially received Material Request Transfer""" """Test for pick list mapped doc qty from partially received Material Request Transfer"""
import json import json
from erpnext.stock.doctype.pick_list.pick_list import create_stock_entry from erpnext.stock.doctype.pick_list.mapper import create_stock_entry
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
new_item = create_item("_Test Pick List Item", is_stock_item=1) new_item = create_item("_Test Pick List Item", is_stock_item=1)

View File

@@ -5,7 +5,7 @@
import frappe import frappe
from frappe.utils import add_to_date, nowdate from frappe.utils import add_to_date, nowdate
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note from erpnext.selling.doctype.sales_order.mapper import make_delivery_note
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries
@@ -190,7 +190,7 @@ class TestPackedItem(ERPNextTestSuite):
self.assertEqual(sent_item.qty, -1 * returned_item.qty) self.assertEqual(sent_item.qty, -1 * returned_item.qty)
def test_returning_full_bundles(self): def test_returning_full_bundles(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item_list = [ item_list = [
{ {
@@ -219,7 +219,7 @@ class TestPackedItem(ERPNextTestSuite):
self.assertReturns(dn.packed_items, dn_ret.packed_items) self.assertReturns(dn.packed_items, dn_ret.packed_items)
def test_returning_partial_bundles(self): def test_returning_partial_bundles(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
item_list = [ item_list = [
{ {
@@ -256,7 +256,7 @@ class TestPackedItem(ERPNextTestSuite):
self.assertReturns(expected_returns, dn_ret.packed_items) self.assertReturns(expected_returns, dn_ret.packed_items)
def test_returning_partial_bundle_qty(self): def test_returning_partial_bundle_qty(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return from erpnext.stock.doctype.delivery_note.mapper import make_sales_return
so = make_sales_order(item_code=self.bundle, warehouse=self.warehouse, qty=2) so = make_sales_order(item_code=self.bundle, warehouse=self.warehouse, qty=2)

View File

@@ -35,7 +35,7 @@ frappe.ui.form.on("Packing Slip", {
if (frm.doc.delivery_note) { if (frm.doc.delivery_note) {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip", method: "erpnext.stock.doctype.delivery_note.mapper.make_packing_slip",
source_name: frm.doc.delivery_note, source_name: frm.doc.delivery_note,
target_doc: frm, target_doc: frm,
freeze: true, freeze: true,

View File

@@ -5,7 +5,7 @@
import frappe import frappe
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.stock.doctype.delivery_note.delivery_note import make_packing_slip from erpnext.stock.doctype.delivery_note.mapper import make_packing_slip
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.item.test_item import make_item
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

View File

@@ -10,7 +10,7 @@ from frappe.model.document import Document
from frappe.model.mapper import map_child_doc from frappe.model.mapper import map_child_doc
from frappe.utils import flt, get_link_to_form from frappe.utils import flt, get_link_to_form
from erpnext.selling.doctype.sales_order.sales_order import ( from erpnext.selling.doctype.sales_order.mapper import (
make_delivery_note as create_delivery_note_from_sales_order, make_delivery_note as create_delivery_note_from_sales_order,
) )

View File

@@ -211,7 +211,7 @@ frappe.ui.form.on("Pick List", {
} }
frm.clear_table("locations"); frm.clear_table("locations");
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.manufacturing.doctype.work_order.work_order.create_pick_list", method: "erpnext.manufacturing.doctype.work_order.mapper.create_pick_list",
target: frm, target: frm,
source_name: frm.doc.work_order, source_name: frm.doc.work_order,
}); });
@@ -223,7 +223,7 @@ frappe.ui.form.on("Pick List", {
}, },
material_request: (frm) => { material_request: (frm) => {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.stock.doctype.material_request.material_request.create_pick_list", method: "erpnext.stock.doctype.material_request.mapper.create_pick_list",
target: frm, target: frm,
source_name: frm.doc.material_request, source_name: frm.doc.material_request,
}); });
@@ -234,13 +234,13 @@ frappe.ui.form.on("Pick List", {
}, },
create_delivery_note: (frm) => { create_delivery_note: (frm) => {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.pick_list.pick_list.create_delivery_note", method: "erpnext.stock.doctype.pick_list.mapper.create_delivery_note",
frm: frm, frm: frm,
}); });
}, },
create_stock_entry: (frm) => { create_stock_entry: (frm) => {
frappe frappe
.xcall("erpnext.stock.doctype.pick_list.pick_list.create_stock_entry", { .xcall("erpnext.stock.doctype.pick_list.mapper.create_stock_entry", {
pick_list: frm.doc, pick_list: frm.doc,
}) })
.then((stock_entry) => { .then((stock_entry) => {
@@ -262,7 +262,7 @@ frappe.ui.form.on("Pick List", {
}; };
frm.get_items_btn = frm.add_custom_button(__("Get Items"), () => { frm.get_items_btn = frm.add_custom_button(__("Get Items"), () => {
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.selling.doctype.sales_order.sales_order.create_pick_list", method: "erpnext.selling.doctype.sales_order.mapper.create_pick_list",
source_doctype: "Sales Order", source_doctype: "Sales Order",
target: frm, target: frm,
setters: { setters: {

View File

@@ -26,11 +26,7 @@ from erpnext.stock.serial_batch_bundle import (
from erpnext.utilities.transaction_base import TransactionBase from erpnext.utilities.transaction_base import TransactionBase
from .mapper import ( from .mapper import (
create_delivery_note,
create_dn_for_pick_lists,
create_stock_entry,
stock_entry_exists, stock_entry_exists,
validate_item_locations,
) )

View File

@@ -5,11 +5,11 @@ import frappe
from frappe import _dict from frappe import _dict
from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
from erpnext.selling.doctype.sales_order.sales_order import create_pick_list from erpnext.selling.doctype.sales_order.mapper import create_pick_list
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
from erpnext.stock.doctype.item.test_item import create_item, make_item from erpnext.stock.doctype.item.test_item import create_item, make_item
from erpnext.stock.doctype.packed_item.test_packed_item import create_product_bundle from erpnext.stock.doctype.packed_item.test_packed_item import create_product_bundle
from erpnext.stock.doctype.pick_list.pick_list import create_delivery_note, create_dn_for_pick_lists from erpnext.stock.doctype.pick_list.mapper import create_delivery_note, create_dn_for_pick_lists
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt
from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import (
get_batch_from_bundle, get_batch_from_bundle,
@@ -1052,7 +1052,8 @@ class TestPickList(ERPNextTestSuite):
def test_pick_list_warehouse_for_work_order(self): def test_pick_list_warehouse_for_work_order(self):
from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
from erpnext.manufacturing.doctype.work_order.work_order import create_pick_list, make_work_order from erpnext.manufacturing.doctype.work_order.mapper import create_pick_list
from erpnext.manufacturing.doctype.work_order.work_order import make_work_order
from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
# Create Warehouses for Work Order # Create Warehouses for Work Order
@@ -1536,7 +1537,7 @@ class TestPickList(ERPNextTestSuite):
@ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1}) @ERPNextTestSuite.change_settings("Selling Settings", {"allow_multiple_items": 1})
def test_multiple_pick_lists_delivery_note(self): def test_multiple_pick_lists_delivery_note(self):
from erpnext.stock.doctype.pick_list.pick_list import create_dn_for_pick_lists from erpnext.stock.doctype.pick_list.mapper import create_dn_for_pick_lists
item_code = make_item().name item_code = make_item().name
warehouse = "_Test Warehouse - _TC" warehouse = "_Test Warehouse - _TC"
@@ -1745,7 +1746,7 @@ class TestPickList(ERPNextTestSuite):
pick_list = frappe.new_doc("Pick List") pick_list = frappe.new_doc("Pick List")
map_docs( map_docs(
"erpnext.selling.doctype.sales_order.sales_order.create_pick_list", "erpnext.selling.doctype.sales_order.mapper.create_pick_list",
dumps([sales_order1.name, sales_order2.name, sales_order3.name]), dumps([sales_order1.name, sales_order2.name, sales_order3.name]),
pick_list, pick_list,
) )

View File

@@ -11,7 +11,7 @@ from frappe.query_builder.functions import Abs, Sum
from frappe.utils import flt from frappe.utils import flt
from erpnext.controllers.accounts_controller import merge_taxes from erpnext.controllers.accounts_controller import merge_taxes
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_transaction from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_transaction
from erpnext.stock.serial_batch_bundle import ( from erpnext.stock.serial_batch_bundle import (
SerialBatchCreation, SerialBatchCreation,
get_batches_from_bundle, get_batches_from_bundle,

View File

@@ -45,7 +45,7 @@ frappe.ui.form.on("Purchase Receipt", {
__("Debit Note"), __("Debit Note"),
function () { function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_purchase_invoice",
frm: cur_frm, frm: cur_frm,
}); });
}, },
@@ -59,7 +59,7 @@ frappe.ui.form.on("Purchase Receipt", {
__("Delivery Note"), __("Delivery Note"),
function () { function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_inter_company_delivery_note", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_inter_company_delivery_note",
frm: cur_frm, frm: cur_frm,
}); });
}, },
@@ -124,7 +124,7 @@ frappe.ui.form.on("Purchase Receipt", {
}); });
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_purchase_receipt", method: "erpnext.accounts.doctype.purchase_invoice.mapper.make_purchase_receipt",
source_doctype: "Purchase Invoice", source_doctype: "Purchase Invoice",
target: frm, target: frm,
setters: { setters: {
@@ -223,7 +223,7 @@ erpnext.stock.PurchaseReceiptController = class PurchaseReceiptController extend
}); });
} }
erpnext.utils.map_current_doc({ erpnext.utils.map_current_doc({
method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt", method: "erpnext.buying.doctype.purchase_order.mapper.make_purchase_receipt",
source_doctype: "Purchase Order", source_doctype: "Purchase Order",
target: me.frm, target: me.frm,
setters: { setters: {
@@ -282,7 +282,7 @@ erpnext.stock.PurchaseReceiptController = class PurchaseReceiptController extend
make_purchase_invoice() { make_purchase_invoice() {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_purchase_invoice",
frm: cur_frm, frm: cur_frm,
}); });
} }
@@ -309,7 +309,7 @@ erpnext.stock.PurchaseReceiptController = class PurchaseReceiptController extend
function (values) { function (values) {
if (values.return_for_rejected_warehouse) { if (values.return_for_rejected_warehouse) {
frappe.call({ frappe.call({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_return_against_rejected_warehouse", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_purchase_return_against_rejected_warehouse",
args: { args: {
source_name: cur_frm.doc.name, source_name: cur_frm.doc.name,
}, },
@@ -439,14 +439,14 @@ frappe.ui.form.on("Purchase Receipt Item", {
cur_frm.cscript._make_purchase_return = function () { cur_frm.cscript._make_purchase_return = function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_return", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_purchase_return",
frm: cur_frm, frm: cur_frm,
}); });
}; };
cur_frm.cscript["Make Stock Entry"] = function () { cur_frm.cscript["Make Stock Entry"] = function () {
frappe.model.open_mapped_doc({ frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_stock_entry", method: "erpnext.stock.doctype.purchase_receipt.mapper.make_stock_entry",
frm: cur_frm, frm: cur_frm,
}); });
}; };

View File

@@ -17,14 +17,6 @@ from erpnext.buying.utils import check_on_hold_or_closed_status
from erpnext.controllers.buying_controller import BuyingController from erpnext.controllers.buying_controller import BuyingController
from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import StockReservation from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import StockReservation
from .mapper import (
make_inter_company_delivery_note,
make_purchase_invoice,
make_purchase_return,
make_purchase_return_against_rejected_warehouse,
make_stock_entry,
)
form_grid_templates = {"items": "templates/form_grid/item_grid.html"} form_grid_templates = {"items": "templates/form_grid/item_grid.html"}

View File

@@ -14,8 +14,8 @@ from erpnext.controllers.accounts_controller import InvalidQtyError
from erpnext.controllers.buying_controller import QtyMismatchError from erpnext.controllers.buying_controller import QtyMismatchError
from erpnext.stock import get_warehouse_account_map from erpnext.stock import get_warehouse_account_map
from erpnext.stock.doctype.item.test_item import create_item, make_item from erpnext.stock.doctype.item.test_item import create_item, make_item
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.mapper import make_purchase_order
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_invoice
from erpnext.stock.doctype.serial_and_batch_bundle.serial_and_batch_bundle import ( from erpnext.stock.doctype.serial_and_batch_bundle.serial_and_batch_bundle import (
SerialNoDuplicateError, SerialNoDuplicateError,
SerialNoExistsInFutureTransactionError, SerialNoExistsInFutureTransactionError,
@@ -707,10 +707,10 @@ class TestPurchaseReceipt(ERPNextTestSuite):
2. PO -> PI 2. PO -> PI
3. PO -> PR2. 3. PO -> PR2.
""" """
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_invoice as make_purchase_invoice_from_po, make_purchase_invoice as make_purchase_invoice_from_po,
) )
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt from erpnext.buying.doctype.purchase_order.mapper import make_purchase_receipt
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
frappe.flags.print_test_messages = False frappe.flags.print_test_messages = False
@@ -861,7 +861,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
pr.cancel() pr.cancel()
def test_purchase_return_with_submitted_asset(self): def test_purchase_return_with_submitted_asset(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_return from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_return
pr = make_purchase_receipt(item_code="Test Asset Item", qty=1) pr = make_purchase_receipt(item_code="Test Asset Item", qty=1)
@@ -1010,7 +1010,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
pr1.cancel() pr1.cancel()
def test_stock_transfer_from_purchase_receipt(self): def test_stock_transfer_from_purchase_receipt(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -1052,7 +1052,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
pr.cancel() pr.cancel()
def test_lcv_for_internal_transfer(self): def test_lcv_for_internal_transfer(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
from erpnext.stock.doctype.landed_cost_voucher.test_landed_cost_voucher import ( from erpnext.stock.doctype.landed_cost_voucher.test_landed_cost_voucher import (
make_landed_cost_voucher, make_landed_cost_voucher,
@@ -1148,7 +1148,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertTrue(new_inward_sabb[0] == inward_sabb[0]) self.assertTrue(new_inward_sabb[0] == inward_sabb[0])
def test_stock_transfer_from_purchase_receipt_with_valuation(self): def test_stock_transfer_from_purchase_receipt_with_valuation(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import (
create_stock_reconciliation, create_stock_reconciliation,
@@ -1348,7 +1348,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertAlmostEqual(pr.per_billed, 50.0, places=2) self.assertAlmostEqual(pr.per_billed, 50.0, places=2)
def test_purchase_receipt_with_exchange_rate_difference(self): def test_purchase_receipt_with_exchange_rate_difference(self):
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import ( from erpnext.accounts.doctype.purchase_invoice.mapper import (
make_purchase_receipt as create_purchase_receipt, make_purchase_receipt as create_purchase_receipt,
) )
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import (
@@ -1455,7 +1455,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(gle.credit, 50) self.assertEqual(gle.credit, 50)
def test_backdated_transaction_for_internal_transfer(self): def test_backdated_transaction_for_internal_transfer(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -1543,7 +1543,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
def test_backdated_transaction_for_internal_transfer_in_trasit_warehouse_for_purchase_receipt( def test_backdated_transaction_for_internal_transfer_in_trasit_warehouse_for_purchase_receipt(
self, self,
): ):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -1653,7 +1653,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import ( from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import (
make_purchase_invoice as make_purchase_invoice_for_si, make_purchase_invoice as make_purchase_invoice_for_si,
) )
from erpnext.accounts.doctype.sales_invoice.sales_invoice import ( from erpnext.accounts.doctype.sales_invoice.mapper import (
make_inter_company_purchase_invoice, make_inter_company_purchase_invoice,
) )
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
@@ -1881,7 +1881,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
) )
# Step 4: Create Internal Purchase Receipt # Step 4: Create Internal Purchase Receipt
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
pr = make_inter_company_purchase_receipt(dn.name) pr = make_inter_company_purchase_receipt(dn.name)
pr.set_posting_time = 1 pr.set_posting_time = 1
@@ -1913,7 +1913,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
frappe.db.set_single_value("Stock Settings", "over_delivery_receipt_allowance", 0) frappe.db.set_single_value("Stock Settings", "over_delivery_receipt_allowance", 0)
def test_internal_pr_gl_entries(self): def test_internal_pr_gl_entries(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import ( from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import (
@@ -2029,7 +2029,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
) )
# Step 4: Create Internal Purchase Receipt # Step 4: Create Internal Purchase Receipt
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
pr = make_inter_company_purchase_receipt(dn.name) pr = make_inter_company_purchase_receipt(dn.name)
pr.inter_company_reference = "" pr.inter_company_reference = ""
@@ -2079,7 +2079,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
) )
# Step 3: Create Purchase Return for 2 qty # Step 3: Create Purchase Return for 2 qty
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_return from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_return
pr_return = make_purchase_return(pr.name) pr_return = make_purchase_return(pr.name)
pr_return.items[0].qty = 2 * -1 pr_return.items[0].qty = 2 * -1
@@ -2098,7 +2098,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(abs(data["stock_value_difference"]), 400.00) self.assertEqual(abs(data["stock_value_difference"]), 400.00)
def test_return_from_rejected_warehouse(self): def test_return_from_rejected_warehouse(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return_against_rejected_warehouse, make_purchase_return_against_rejected_warehouse,
) )
@@ -2678,8 +2678,8 @@ class TestPurchaseReceipt(ERPNextTestSuite):
) )
def test_pr_billed_amount_against_return_entry(self): def test_pr_billed_amount_against_return_entry(self):
from erpnext.accounts.doctype.purchase_invoice.purchase_invoice import make_debit_note from erpnext.accounts.doctype.purchase_invoice.mapper import make_debit_note
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_invoice as make_pi_from_pr, make_purchase_invoice as make_pi_from_pr,
) )
@@ -2845,7 +2845,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
def test_internal_transfer_with_serial_batch_items_and_their_valuation(self): def test_internal_transfer_with_serial_batch_items_and_their_valuation(self):
from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.controllers.sales_and_purchase_return import make_return_doc
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -2982,7 +2982,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
def test_internal_transfer_with_serial_batch_items_without_use_serial_batch_fields(self): def test_internal_transfer_with_serial_batch_items_without_use_serial_batch_fields(self):
from erpnext.controllers.sales_and_purchase_return import make_return_doc from erpnext.controllers.sales_and_purchase_return import make_return_doc
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 0) frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 0)
@@ -3200,7 +3200,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(row.incoming_rate, 0) self.assertEqual(row.incoming_rate, 0)
def test_purchase_return_from_accepted_and_rejected_warehouse(self): def test_purchase_return_from_accepted_and_rejected_warehouse(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return, make_purchase_return,
) )
@@ -3278,7 +3278,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(batch.expiry_date, getdate(add_days(today(), 5))) self.assertEqual(batch.expiry_date, getdate(add_days(today(), 5)))
def test_purchase_return_from_rejected_warehouse(self): def test_purchase_return_from_rejected_warehouse(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return_against_rejected_warehouse, make_purchase_return_against_rejected_warehouse,
) )
@@ -3318,7 +3318,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
create_purchase_order, create_purchase_order,
make_pr_against_po, make_pr_against_po,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_invoice
stock_rbnb = "Stock Received But Not Billed - _TC" stock_rbnb = "Stock Received But Not Billed - _TC"
stock_in_hand = "Stock In Hand - _TC" stock_in_hand = "Stock In Hand - _TC"
@@ -3468,7 +3468,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
create_purchase_order, create_purchase_order,
make_pr_against_po, make_pr_against_po,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_invoice
stock_rbnb = "Stock Received But Not Billed - _TC" stock_rbnb = "Stock Received But Not Billed - _TC"
stock_in_hand = "Stock In Hand - _TC" stock_in_hand = "Stock In Hand - _TC"
@@ -3637,7 +3637,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(pr.status, "Completed") self.assertEqual(pr.status, "Completed")
def test_internal_transfer_for_batch_items_with_cancel(self): def test_internal_transfer_for_batch_items_with_cancel(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 0) frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 0)
@@ -3752,7 +3752,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 1) frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 1)
def test_internal_transfer_for_batch_items_with_cancel_use_serial_batch_fields(self): def test_internal_transfer_for_batch_items_with_cancel_use_serial_batch_fields(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 1) frappe.db.set_single_value("Stock Settings", "use_serial_batch_fields", 1)
@@ -3947,7 +3947,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(pr.items[0].conversion_factor, 1.0) self.assertEqual(pr.items[0].conversion_factor, 1.0)
def test_purchase_receipt_return_valuation_without_use_serial_batch_field(self): def test_purchase_receipt_return_valuation_without_use_serial_batch_field(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_return from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_return
batch_item = make_item( batch_item = make_item(
"_Test Purchase Receipt Return Valuation Batch Item", "_Test Purchase Receipt Return Valuation Batch Item",
@@ -4051,7 +4051,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(incoming_rate, 0) self.assertEqual(incoming_rate, 0)
def test_purchase_receipt_return_valuation_with_use_serial_batch_field(self): def test_purchase_receipt_return_valuation_with_use_serial_batch_field(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_return from erpnext.stock.doctype.purchase_receipt.mapper import make_purchase_return
batch_item = make_item( batch_item = make_item(
"_Test Purchase Receipt Return Valuation With Batch Item", "_Test Purchase Receipt Return Valuation With Batch Item",
@@ -4260,7 +4260,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
frappe.db.set_single_value("Stock Settings", "allow_existing_serial_no", 1) frappe.db.set_single_value("Stock Settings", "allow_existing_serial_no", 1)
def test_seral_no_return_validation(self): def test_seral_no_return_validation(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return, make_purchase_return,
) )
@@ -4292,7 +4292,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
sn_return.submit() sn_return.submit()
def test_batch_no_return_validation(self): def test_batch_no_return_validation(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return, make_purchase_return,
) )
@@ -4325,10 +4325,10 @@ class TestPurchaseReceipt(ERPNextTestSuite):
batch_return.submit() batch_return.submit()
def test_pr_status_based_on_invoices_with_update_stock(self): def test_pr_status_based_on_invoices_with_update_stock(self):
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_invoice as _make_purchase_invoice, make_purchase_invoice as _make_purchase_invoice,
) )
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_receipt as _make_purchase_receipt, make_purchase_receipt as _make_purchase_receipt,
) )
from erpnext.buying.doctype.purchase_order.test_purchase_order import ( from erpnext.buying.doctype.purchase_order.test_purchase_order import (
@@ -4431,7 +4431,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertRaises(frappe.ValidationError, repost_doc.save) self.assertRaises(frappe.ValidationError, repost_doc.save)
def test_internal_pr_qty_change_only_single_batch(self): def test_internal_pr_qty_change_only_single_batch(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()
@@ -4948,10 +4948,10 @@ class TestPurchaseReceipt(ERPNextTestSuite):
) )
@ERPNextTestSuite.change_settings("Accounts Settings", {"over_billing_allowance": 100}) @ERPNextTestSuite.change_settings("Accounts Settings", {"over_billing_allowance": 100})
def test_set_lcv_from_pi_created_against_po(self): def test_set_lcv_from_pi_created_against_po(self):
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_invoice as make_pi_against_po, make_purchase_invoice as make_pi_against_po,
) )
from erpnext.buying.doctype.purchase_order.purchase_order import ( from erpnext.buying.doctype.purchase_order.mapper import (
make_purchase_receipt as make_pr_against_po, make_purchase_receipt as make_pr_against_po,
) )
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
@@ -4981,10 +4981,10 @@ class TestPurchaseReceipt(ERPNextTestSuite):
self.assertEqual(row.amount_difference_with_purchase_invoice, amt_diff) self.assertEqual(row.amount_difference_with_purchase_invoice, amt_diff)
def test_purchase_return_with_and_without_return_against_rejected_qty(self): def test_purchase_return_with_and_without_return_against_rejected_qty(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return as _make_purchase_return, make_purchase_return as _make_purchase_return,
) )
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import ( from erpnext.stock.doctype.purchase_receipt.mapper import (
make_purchase_return_against_rejected_warehouse, make_purchase_return_against_rejected_warehouse,
) )
@@ -5223,7 +5223,7 @@ class TestPurchaseReceipt(ERPNextTestSuite):
""" """
To test inter branch transaction incoming rate calculation with lcv after item reposting To test inter branch transaction incoming rate calculation with lcv after item reposting
""" """
from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt from erpnext.stock.doctype.delivery_note.mapper import make_inter_company_purchase_receipt
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
prepare_data_for_internal_transfer() prepare_data_for_internal_transfer()

View File

@@ -5,7 +5,7 @@ from datetime import date, timedelta
import frappe import frappe
from erpnext.stock.doctype.delivery_note.delivery_note import make_shipment from erpnext.stock.doctype.delivery_note.mapper import make_shipment
from erpnext.tests.utils import ERPNextTestSuite from erpnext.tests.utils import ERPNextTestSuite

Some files were not shown because too many files have changed in this diff Show More