refactor: replace 'customer' filter with 'party_type' and 'party'
This commit is contained in:
parent
85ebaa3aed
commit
ac650d2e7a
@ -38,32 +38,31 @@ frappe.query_reports["Accounts Receivable"] = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "customer",
|
"fieldname": "party_type",
|
||||||
"label": __("Customer"),
|
"label": __("Party Type"),
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"options": "Customer",
|
"options": "Party Type",
|
||||||
|
"Default": "Customer",
|
||||||
|
get_query: () => {
|
||||||
|
return {
|
||||||
|
filters: {
|
||||||
|
'account_type': 'Receivable'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
on_change: () => {
|
on_change: () => {
|
||||||
var customer = frappe.query_report.get_filter_value('customer');
|
frappe.query_report.set_filter_value('party', "");
|
||||||
var company = frappe.query_report.get_filter_value('company');
|
let party_type = frappe.query_report.get_filter_value('party_type');
|
||||||
if (customer) {
|
frappe.query_report.toggle_filter_display('customer_group', frappe.query_report.get_filter_value('party_type') !== "Customer");
|
||||||
frappe.db.get_value('Customer', customer, ["customer_name", "payment_terms"], function(value) {
|
|
||||||
frappe.query_report.set_filter_value('customer_name', value["customer_name"]);
|
|
||||||
frappe.query_report.set_filter_value('payment_terms', value["payment_terms"]);
|
|
||||||
});
|
|
||||||
|
|
||||||
frappe.db.get_value('Customer Credit Limit', {'parent': customer, 'company': company},
|
|
||||||
["credit_limit"], function(value) {
|
|
||||||
if (value) {
|
|
||||||
frappe.query_report.set_filter_value('credit_limit', value["credit_limit"]);
|
|
||||||
}
|
|
||||||
}, "Customer");
|
|
||||||
} else {
|
|
||||||
frappe.query_report.set_filter_value('customer_name', "");
|
|
||||||
frappe.query_report.set_filter_value('credit_limit', "");
|
|
||||||
frappe.query_report.set_filter_value('payment_terms', "");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"fieldname":"party",
|
||||||
|
"label": __("Party"),
|
||||||
|
"fieldtype": "Dynamic Link",
|
||||||
|
"options": "party_type",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "party_account",
|
"fieldname": "party_account",
|
||||||
"label": __("Receivable Account"),
|
"label": __("Receivable Account"),
|
||||||
|
@ -769,15 +769,12 @@ class ReceivablePayableReport(object):
|
|||||||
self.or_filters = []
|
self.or_filters = []
|
||||||
|
|
||||||
for party_type in self.party_type:
|
for party_type in self.party_type:
|
||||||
party_type_field = scrub(party_type)
|
self.add_common_filters()
|
||||||
self.or_filters.append(self.ple.party_type == party_type)
|
|
||||||
|
|
||||||
self.add_common_filters(party_type_field=party_type_field)
|
if self.account_type == "Receivable":
|
||||||
|
|
||||||
if party_type_field == "customer":
|
|
||||||
self.add_customer_filters()
|
self.add_customer_filters()
|
||||||
|
|
||||||
elif party_type_field == "supplier":
|
elif self.account_type == "Payable":
|
||||||
self.add_supplier_filters()
|
self.add_supplier_filters()
|
||||||
|
|
||||||
if self.filters.cost_center:
|
if self.filters.cost_center:
|
||||||
@ -793,16 +790,13 @@ class ReceivablePayableReport(object):
|
|||||||
]
|
]
|
||||||
self.qb_selection_filter.append(self.ple.cost_center.isin(cost_center_list))
|
self.qb_selection_filter.append(self.ple.cost_center.isin(cost_center_list))
|
||||||
|
|
||||||
def add_common_filters(self, party_type_field):
|
def add_common_filters(self):
|
||||||
if self.filters.company:
|
if self.filters.company:
|
||||||
self.qb_selection_filter.append(self.ple.company == self.filters.company)
|
self.qb_selection_filter.append(self.ple.company == self.filters.company)
|
||||||
|
|
||||||
if self.filters.finance_book:
|
if self.filters.finance_book:
|
||||||
self.qb_selection_filter.append(self.ple.finance_book == self.filters.finance_book)
|
self.qb_selection_filter.append(self.ple.finance_book == self.filters.finance_book)
|
||||||
|
|
||||||
if self.filters.get(party_type_field):
|
|
||||||
self.qb_selection_filter.append(self.ple.party == self.filters.get(party_type_field))
|
|
||||||
|
|
||||||
if self.filters.get("party_type"):
|
if self.filters.get("party_type"):
|
||||||
self.qb_selection_filter.append(self.filters.party_type == self.ple.party_type)
|
self.qb_selection_filter.append(self.filters.party_type == self.ple.party_type)
|
||||||
|
|
||||||
@ -969,6 +963,20 @@ class ReceivablePayableReport(object):
|
|||||||
fieldtype="Link",
|
fieldtype="Link",
|
||||||
options="Contact",
|
options="Contact",
|
||||||
)
|
)
|
||||||
|
if self.filters.party_type == "Customer":
|
||||||
|
self.add_column(
|
||||||
|
_("Customer Name"),
|
||||||
|
fieldname="customer_name",
|
||||||
|
fieldtype="Link",
|
||||||
|
options="Customer",
|
||||||
|
)
|
||||||
|
elif self.filters.party_type == "Supplier":
|
||||||
|
self.add_column(
|
||||||
|
_("Supplier Name"),
|
||||||
|
fieldname="supplier_name",
|
||||||
|
fieldtype="Link",
|
||||||
|
options="Supplier",
|
||||||
|
)
|
||||||
|
|
||||||
self.add_column(label=_("Cost Center"), fieldname="cost_center", fieldtype="Data")
|
self.add_column(label=_("Cost Center"), fieldname="cost_center", fieldtype="Data")
|
||||||
self.add_column(label=_("Voucher Type"), fieldname="voucher_type", fieldtype="Data")
|
self.add_column(label=_("Voucher Type"), fieldname="voucher_type", fieldtype="Data")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user