|
|
@@ -138,7 +138,7 @@ def add_total_row(result, columns): |
|
|
|
|
|
|
|
def get_filtered_data(ref_doctype, columns, data): |
|
|
|
result = [] |
|
|
|
linked_doctypes = get_linked_doctypes(columns) |
|
|
|
linked_doctypes = get_linked_doctypes(columns, data) |
|
|
|
match_filters_per_doctype = get_user_match_filters(linked_doctypes, ref_doctype) |
|
|
|
|
|
|
|
if match_filters_per_doctype: |
|
|
@@ -183,7 +183,7 @@ def has_match(row, linked_doctypes, doctype_match_filters): |
|
|
|
|
|
|
|
return resultant_match |
|
|
|
|
|
|
|
def get_linked_doctypes(columns): |
|
|
|
def get_linked_doctypes(columns, data): |
|
|
|
linked_doctypes = {} |
|
|
|
|
|
|
|
for idx, col in enumerate(columns): |
|
|
@@ -197,6 +197,11 @@ def get_linked_doctypes(columns): |
|
|
|
elif col.get("fieldtype")=="Link" and col.get("options"): |
|
|
|
linked_doctypes[col["options"]] = col["fieldname"] |
|
|
|
|
|
|
|
# remove doctype if column is empty |
|
|
|
for doctype, key in linked_doctypes.items(): |
|
|
|
if not any(d[key] for d in data): |
|
|
|
del linked_doctypes[doctype] |
|
|
|
|
|
|
|
return linked_doctypes |
|
|
|
|
|
|
|
def get_user_match_filters(doctypes, ref_doctype): |
|
|
|