Merge pull request #23419 from marination/payment-entry-ux
fix: Check Company in Payment Entry before selecting values
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js
index 9fc44bc..e117471 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.js
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js
@@ -12,9 +12,10 @@
setup: function(frm) {
frm.set_query("paid_from", function() {
+ frm.events.validate_company(frm);
+
var account_types = in_list(["Pay", "Internal Transfer"], frm.doc.payment_type) ?
["Bank", "Cash"] : [frappe.boot.party_account_types[frm.doc.party_type]];
-
return {
filters: {
"account_type": ["in", account_types],
@@ -23,13 +24,16 @@
}
}
});
+
frm.set_query("party_type", function() {
+ frm.events.validate_company(frm);
return{
filters: {
"name": ["in", Object.keys(frappe.boot.party_account_types)],
}
}
});
+
frm.set_query("party_bank_account", function() {
return {
filters: {
@@ -39,6 +43,7 @@
}
}
});
+
frm.set_query("bank_account", function() {
return {
filters: {
@@ -47,6 +52,7 @@
}
}
});
+
frm.set_query("contact_person", function() {
if (frm.doc.party) {
return {
@@ -58,10 +64,12 @@
};
}
});
+
frm.set_query("paid_to", function() {
+ frm.events.validate_company(frm);
+
var account_types = in_list(["Receive", "Internal Transfer"], frm.doc.payment_type) ?
["Bank", "Cash"] : [frappe.boot.party_account_types[frm.doc.party_type]];
-
return {
filters: {
"account_type": ["in", account_types],
@@ -150,6 +158,12 @@
frm.events.show_general_ledger(frm);
},
+ validate_company: (frm) => {
+ if (!frm.doc.company){
+ frappe.throw({message:__("Please select a Company first."), title: __("Mandatory")});
+ }
+ },
+
company: function(frm) {
frm.events.hide_unhide_fields(frm);
frm.events.set_dynamic_labels(frm);
diff --git a/erpnext/public/js/controllers/accounts.js b/erpnext/public/js/controllers/accounts.js
index f4eaad5..6e97d81 100644
--- a/erpnext/public/js/controllers/accounts.js
+++ b/erpnext/public/js/controllers/accounts.js
@@ -120,7 +120,7 @@
var get_payment_mode_account = function(frm, mode_of_payment, callback) {
if(!frm.doc.company) {
- frappe.throw(__("Please select the Company first"));
+ frappe.throw({message:__("Please select a Company first."), title: __("Mandatory")});
}
if(!mode_of_payment) {