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

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

View File

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

View File

@@ -4,14 +4,14 @@
import frappe
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.tests.utils import ERPNextTestSuite
class TestLead(ERPNextTestSuite):
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
@@ -41,7 +41,7 @@ class TestLead(ERPNextTestSuite):
self.assertEqual(contact_doc.has_link(customer.doctype, customer.name), True)
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
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(
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)

View File

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

View File

@@ -22,14 +22,6 @@ from erpnext.crm.utils import (
from erpnext.setup.utils import get_exchange_rate
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):
# begin: auto-generated types

View File

@@ -4,9 +4,9 @@
import frappe
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.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.tests.utils import ERPNextTestSuite