fix: web form filter for project
This commit is contained in:
parent
8ab226a2fc
commit
1fdc085d17
@ -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,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user