feat: search by instructor name from command palette

This commit is contained in:
Jannat Patel
2025-12-31 20:03:44 +05:30
parent 6a80c2ab38
commit edc6007fb6
3 changed files with 102 additions and 6 deletions

View File

@@ -34,12 +34,25 @@ def prepare_search_results(result):
out = []
for key in groups:
groups[key] = remove_duplicates(groups[key])
groups[key].sort(key=lambda x: x.get("modified"), reverse=True)
out.append({"title": key, "items": groups[key]})
return out
def remove_duplicates(items):
seen = set()
unique_items = []
for item in items:
if item["name"] not in seen:
seen.add(item["name"])
unique_items.append(item)
return unique_items
def can_access_course(course, roles):
print(course.get("name"), course.get("published"))
if can_create_course(roles):
return True
elif course.get("published"):
@@ -73,10 +86,14 @@ def get_instructor_info(doctype, record):
instructors = frappe.get_all(
"Course Instructor", filters={"parenttype": doctype, "parent": record.get("name")}, pluck="instructor"
)
instructor = record.get("author")
if len(instructors):
instructor = instructors[0]
for ins in instructors:
if ins.split("@")[0] in record.get("content"):
instructor = ins
break
if not instructor:
instructor = instructors[0]
return frappe.db.get_value(
"User",