fix: web form filter for project

This commit is contained in:
Ahmad 2022-03-30 13:23:30 +05:00
parent 8ab226a2fc
commit 1fdc085d17

View File

@ -326,21 +326,39 @@ def get_timeline_data(doctype, name):
def get_project_list( def get_project_list(
doctype, txt, filters, limit_start, limit_page_length=20, order_by="modified" doctype, txt, filters, limit_start, limit_page_length=20, order_by="modified"
): ):
return frappe.db.sql( meta = frappe.get_meta(doctype)
"""select distinct project.* if not filters:
from tabProject project, `tabProject User` project_user filters = []
where
(project_user.user = %(user)s fields = "distinct *"
and project_user.parent = project.name)
or project.owner = %(user)s or_filters = []
order by project.modified desc
limit {0}, {1} if txt:
""".format( if meta.search_fields:
limit_start, limit_page_length for f in meta.get_search_fields():
), if f == "name" or meta.get_field(f).fieldtype in (
{"user": frappe.session.user}, "Data",
as_dict=True, "Text",
update={"doctype": "Project"}, "Small Text",
"Text Editor",
"select",
):
or_filters.append([doctype, f, "like", "%" + txt + "%"])
else:
if isinstance(filters, dict):
filters["name"] = ("like", "%" + txt + "%")
else:
filters.append([doctype, "name", "like", "%" + txt + "%"])
return frappe.get_list(
doctype,
fields=fields,
filters=filters,
or_filters=or_filters,
limit_start=limit_start,
limit_page_length=limit_page_length,
order_by=order_by,
) )