refactor: remove unwanted code and keep group metion functionality

This commit is contained in:
Ejaaz Khan 2026-01-22 12:25:59 +05:30
parent c8bddf9305
commit f19467aa6b
2 changed files with 13 additions and 33 deletions

View file

@ -393,7 +393,7 @@ def get_names_for_mentions(search_term):
def get_users_for_mentions():
return frappe.get_all(
"User",
fields=["name as id", "full_name as value", "email as email"],
fields=["name as id", "full_name as value", "email"],
filters={
"name": ["not in", ("Administrator", "Guest")],
"allowed_in_mentions": True,

View file

@ -252,47 +252,27 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for
return null;
}
let me = this;
const esc = frappe.utils.escape_html;
// FIXED normalize_values
function normalize_values(values) {
if (!Array.isArray(values)) return [];
return values.map(v => {
return {
id: v.id,
value: v.value,
email: v.email || "",
is_group: v.is_group || false
};
});
}
return {
allowedChars: /^[A-Za-z0-9_]*$/,
mentionDenotationChars: ["@"],
isolateCharacter: true,
source: frappe.utils.debounce(async function(search_term, renderList) {
let method = me.mention_search_method || "frappe.desk.search.get_names_for_mentions";
source: frappe.utils.debounce(async function (search_term, renderList) {
let method =
me.mention_search_method || "frappe.desk.search.get_names_for_mentions";
let values = await frappe.xcall(method, {
search_term,
});
let values = await frappe.xcall(method, { search_term });
// DEBUG
console.log("MENTION RAW VALUES:", values);
let normalized = normalize_values(values);
// DEBUG
console.log("MENTION NORMALIZED:", normalized);
renderList(normalized, search_term);
let sorted_values = me.prioritize_involved_users_in_mention(values);
renderList(sorted_values, search_term);
}, 300),
renderItem(item) {
const name = esc(item.value);
const email = esc(item.email || "");
return `${name} ${email ? " (" + email + ")" : ""}`;
}
let value = item.value;
let email = item?.email ? `(${item?.email})` : "";
return `${value} ${email} ${item.is_group ? frappe.utils.icon("users") : ""}`;
},
};
}