feat: add Company Contact Person in selling transactions (backport #44362) (#44398)

* feat: add Company Contact Person in selling transactions (#44362)

(cherry picked from commit f6776c7d6b)

* chore: resolve merge conflicts

---------

Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
This commit is contained in:
mergify[bot]
2024-11-27 18:55:43 +01:00
committed by GitHub
parent 1f683afa43
commit 70b5b08d58
12 changed files with 69 additions and 16 deletions

View File

@@ -48,6 +48,7 @@
"shipping_address", "shipping_address",
"company_address", "company_address",
"company_address_display", "company_address_display",
"company_contact_person",
"currency_and_price_list", "currency_and_price_list",
"currency", "currency",
"conversion_rate", "conversion_rate",
@@ -1558,12 +1559,19 @@
"fieldname": "update_billed_amount_in_delivery_note", "fieldname": "update_billed_amount_in_delivery_note",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Update Billed Amount in Delivery Note" "label": "Update Billed Amount in Delivery Note"
},
{
"fieldname": "company_contact_person",
"fieldtype": "Link",
"label": "Company Contact Person",
"options": "Contact",
"print_hide": 1
} }
], ],
"icon": "fa fa-file-text", "icon": "fa fa-file-text",
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2024-03-20 16:00:34.268756", "modified": "2024-11-26 13:10:50.309570",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "POS Invoice", "name": "POS Invoice",

View File

@@ -32,12 +32,8 @@ class POSInvoice(SalesInvoice):
from erpnext.accounts.doctype.payment_schedule.payment_schedule import PaymentSchedule from erpnext.accounts.doctype.payment_schedule.payment_schedule import PaymentSchedule
from erpnext.accounts.doctype.pos_invoice_item.pos_invoice_item import POSInvoiceItem from erpnext.accounts.doctype.pos_invoice_item.pos_invoice_item import POSInvoiceItem
from erpnext.accounts.doctype.pricing_rule_detail.pricing_rule_detail import PricingRuleDetail from erpnext.accounts.doctype.pricing_rule_detail.pricing_rule_detail import PricingRuleDetail
from erpnext.accounts.doctype.sales_invoice_advance.sales_invoice_advance import ( from erpnext.accounts.doctype.sales_invoice_advance.sales_invoice_advance import SalesInvoiceAdvance
SalesInvoiceAdvance, from erpnext.accounts.doctype.sales_invoice_payment.sales_invoice_payment import SalesInvoicePayment
)
from erpnext.accounts.doctype.sales_invoice_payment.sales_invoice_payment import (
SalesInvoicePayment,
)
from erpnext.accounts.doctype.sales_invoice_timesheet.sales_invoice_timesheet import ( from erpnext.accounts.doctype.sales_invoice_timesheet.sales_invoice_timesheet import (
SalesInvoiceTimesheet, SalesInvoiceTimesheet,
) )
@@ -75,6 +71,7 @@ class POSInvoice(SalesInvoice):
company: DF.Link company: DF.Link
company_address: DF.Link | None company_address: DF.Link | None
company_address_display: DF.SmallText | None company_address_display: DF.SmallText | None
company_contact_person: DF.Link | None
consolidated_invoice: DF.Link | None consolidated_invoice: DF.Link | None
contact_display: DF.SmallText | None contact_display: DF.SmallText | None
contact_email: DF.Data | None contact_email: DF.Data | None

View File

@@ -159,8 +159,9 @@
"dispatch_address", "dispatch_address",
"company_address_section", "company_address_section",
"company_address", "company_address",
"company_addr_col_break",
"company_address_display", "company_address_display",
"company_addr_col_break",
"company_contact_person",
"terms_tab", "terms_tab",
"payment_schedule_section", "payment_schedule_section",
"ignore_default_payment_terms_template", "ignore_default_payment_terms_template",
@@ -2166,6 +2167,13 @@
"label": "Update Outstanding for Self", "label": "Update Outstanding for Self",
"no_copy": 1, "no_copy": 1,
"print_hide": 1 "print_hide": 1
},
{
"fieldname": "company_contact_person",
"fieldtype": "Link",
"label": "Company Contact Person",
"options": "Contact",
"print_hide": 1
} }
], ],
"icon": "fa fa-file-text", "icon": "fa fa-file-text",
@@ -2178,7 +2186,7 @@
"link_fieldname": "consolidated_invoice" "link_fieldname": "consolidated_invoice"
} }
], ],
"modified": "2024-07-18 15:30:39.428519", "modified": "2024-11-26 12:34:09.110690",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "Sales Invoice", "name": "Sales Invoice",
@@ -2233,4 +2241,4 @@
"title_field": "title", "title_field": "title",
"track_changes": 1, "track_changes": 1,
"track_seen": 1 "track_seen": 1
} }

View File

@@ -96,6 +96,7 @@ class SalesInvoice(SellingController):
company: DF.Link company: DF.Link
company_address: DF.Link | None company_address: DF.Link | None
company_address_display: DF.SmallText | None company_address_display: DF.SmallText | None
company_contact_person: DF.Link | None
company_tax_id: DF.Data | None company_tax_id: DF.Data | None
contact_display: DF.SmallText | None contact_display: DF.SmallText | None
contact_email: DF.Data | None contact_email: DF.Data | None

View File

@@ -56,6 +56,17 @@ $.extend(erpnext.queries, {
} }
}, },
company_contact_query: function (doc) {
if (!doc.company) {
frappe.throw(__("Please set {0}", [__(frappe.meta.get_label(doc.doctype, "company", doc.name))]));
}
return {
query: "frappe.contacts.doctype.contact.contact.contact_query",
filters: { link_doctype: "Company", link_name: doc.company },
};
},
address_query: function (doc) { address_query: function (doc) {
if (frappe.dynamic_link) { if (frappe.dynamic_link) {
if (!doc[frappe.dynamic_link.fieldname]) { if (!doc[frappe.dynamic_link.fieldname]) {

View File

@@ -49,6 +49,7 @@ erpnext.sales_common = {
); );
me.frm.set_query("contact_person", erpnext.queries.contact_query); me.frm.set_query("contact_person", erpnext.queries.contact_query);
me.frm.set_query("company_contact_person", erpnext.queries.company_contact_query);
me.frm.set_query("customer_address", erpnext.queries.address_query); me.frm.set_query("customer_address", erpnext.queries.address_query);
me.frm.set_query("shipping_address_name", erpnext.queries.address_query); me.frm.set_query("shipping_address_name", erpnext.queries.address_query);
me.frm.set_query("dispatch_address_name", erpnext.queries.dispatch_address_query); me.frm.set_query("dispatch_address_name", erpnext.queries.dispatch_address_query);

View File

@@ -96,8 +96,9 @@
"shipping_address", "shipping_address",
"company_address_section", "company_address_section",
"company_address", "company_address",
"column_break_87",
"company_address_display", "company_address_display",
"column_break_87",
"company_contact_person",
"terms_tab", "terms_tab",
"payment_schedule_section", "payment_schedule_section",
"payment_terms_template", "payment_terms_template",
@@ -1076,13 +1077,20 @@
"fieldname": "disable_rounded_total", "fieldname": "disable_rounded_total",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Disable Rounded Total" "label": "Disable Rounded Total"
},
{
"fieldname": "company_contact_person",
"fieldtype": "Link",
"label": "Company Contact Person",
"options": "Contact",
"print_hide": 1
} }
], ],
"icon": "fa fa-shopping-cart", "icon": "fa fa-shopping-cart",
"idx": 82, "idx": 82,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2024-11-07 18:37:11.715189", "modified": "2024-11-26 12:43:29.293637",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Selling", "module": "Selling",
"name": "Quotation", "name": "Quotation",

View File

@@ -50,6 +50,7 @@ class Quotation(SellingController):
company: DF.Link company: DF.Link
company_address: DF.Link | None company_address: DF.Link | None
company_address_display: DF.SmallText | None company_address_display: DF.SmallText | None
company_contact_person: DF.Link | None
competitors: DF.TableMultiSelect[CompetitorDetail] competitors: DF.TableMultiSelect[CompetitorDetail]
contact_display: DF.SmallText | None contact_display: DF.SmallText | None
contact_email: DF.Data | None contact_email: DF.Data | None

View File

@@ -113,8 +113,9 @@
"dispatch_address", "dispatch_address",
"col_break46", "col_break46",
"company_address", "company_address",
"column_break_92",
"company_address_display", "company_address_display",
"column_break_92",
"company_contact_person",
"payment_schedule_section", "payment_schedule_section",
"payment_terms_section", "payment_terms_section",
"payment_terms_template", "payment_terms_template",
@@ -1640,13 +1641,20 @@
"no_copy": 1, "no_copy": 1,
"print_hide": 1, "print_hide": 1,
"report_hide": 1 "report_hide": 1
},
{
"fieldname": "company_contact_person",
"fieldtype": "Link",
"label": "Company Contact Person",
"options": "Contact",
"print_hide": 1
} }
], ],
"icon": "fa fa-file-text", "icon": "fa fa-file-text",
"idx": 105, "idx": 105,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2024-05-23 16:35:54.905804", "modified": "2024-11-26 12:42:06.872527",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Selling", "module": "Selling",
"name": "Sales Order", "name": "Sales Order",

View File

@@ -85,6 +85,7 @@ class SalesOrder(SellingController):
company: DF.Link company: DF.Link
company_address: DF.Link | None company_address: DF.Link | None
company_address_display: DF.SmallText | None company_address_display: DF.SmallText | None
company_contact_person: DF.Link | None
contact_display: DF.SmallText | None contact_display: DF.SmallText | None
contact_email: DF.Data | None contact_email: DF.Data | None
contact_mobile: DF.SmallText | None contact_mobile: DF.SmallText | None

View File

@@ -108,8 +108,9 @@
"dispatch_address", "dispatch_address",
"company_address_section", "company_address_section",
"company_address", "company_address",
"column_break_101",
"company_address_display", "company_address_display",
"column_break_101",
"company_contact_person",
"terms_tab", "terms_tab",
"tc_name", "tc_name",
"terms", "terms",
@@ -1391,13 +1392,20 @@
"fieldname": "named_place", "fieldname": "named_place",
"fieldtype": "Data", "fieldtype": "Data",
"label": "Named Place" "label": "Named Place"
},
{
"fieldname": "company_contact_person",
"fieldtype": "Link",
"label": "Company Contact Person",
"options": "Contact",
"print_hide": 1
} }
], ],
"icon": "fa fa-truck", "icon": "fa fa-truck",
"idx": 146, "idx": 146,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2024-03-20 16:05:02.854990", "modified": "2024-11-26 12:44:28.258215",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Stock", "module": "Stock",
"name": "Delivery Note", "name": "Delivery Note",

View File

@@ -53,6 +53,7 @@ class DeliveryNote(SellingController):
company: DF.Link company: DF.Link
company_address: DF.Link | None company_address: DF.Link | None
company_address_display: DF.SmallText | None company_address_display: DF.SmallText | None
company_contact_person: DF.Link | None
contact_display: DF.SmallText | None contact_display: DF.SmallText | None
contact_email: DF.Data | None contact_email: DF.Data | None
contact_mobile: DF.SmallText | None contact_mobile: DF.SmallText | None