fix: enforce link_filters on link fields server-side
This commit is contained in:
parent
f12b5c081b
commit
3fd45ad05f
2 changed files with 12 additions and 1 deletions
|
|
@ -465,7 +465,7 @@ def validate_link_and_fetch(
|
|||
)
|
||||
|
||||
if not search_result:
|
||||
return {} # does not exist or filtered out
|
||||
return {}
|
||||
|
||||
values = None
|
||||
is_virtual_dt = bool(meta.get("is_virtual"))
|
||||
|
|
|
|||
|
|
@ -870,6 +870,7 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat
|
|||
validate_link_and_fetch(value) {
|
||||
const args = this.get_search_args(value);
|
||||
if (!args) return;
|
||||
const has_filters = !!(args.filters && Object.keys(args.filters).length);
|
||||
|
||||
const columns_to_fetch = Object.values(this.fetch_map);
|
||||
|
||||
|
|
@ -938,6 +939,16 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat
|
|||
.then((response) => {
|
||||
if (!response) return;
|
||||
|
||||
if (!response.name && has_filters) {
|
||||
frappe.show_alert({
|
||||
message: __("{0}: {1} did not match any results.", [
|
||||
__(this.df.label || this.df.fieldname),
|
||||
value,
|
||||
]),
|
||||
indicator: "red",
|
||||
});
|
||||
}
|
||||
|
||||
update_dependant_fields(response);
|
||||
return response.name;
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue