From ac0c1edd23946073c4f1ca53f8196fba45d125b9 Mon Sep 17 00:00:00 2001 From: Anurag Mishra <32095923+Anurag810@users.noreply.github.com> Date: Fri, 6 Sep 2019 12:10:10 +0530 Subject: [PATCH] feat: added date filter based on billing date and based date (#18936) --- erpnext/controllers/trends.py | 4 +- erpnext/public/js/purchase_trends_filters.js | 39 +++++++++++++------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/erpnext/controllers/trends.py b/erpnext/controllers/trends.py index 28a8fddfac..0404a1e6b0 100644 --- a/erpnext/controllers/trends.py +++ b/erpnext/controllers/trends.py @@ -39,7 +39,6 @@ def validate_filters(filters): frappe.throw(_("'Based On' and 'Group By' can not be same")) def get_data(filters, conditions): - data = [] inc, cond= '','' query_details = conditions["based_on_select"] + conditions["period_wise_select"] @@ -47,10 +46,11 @@ def get_data(filters, conditions): posting_date = 't1.transaction_date' if conditions.get('trans') in ['Sales Invoice', 'Purchase Invoice', 'Purchase Receipt', 'Delivery Note']: posting_date = 't1.posting_date' + if filters.period_based_on: + posting_date = 't1.'+filters.period_based_on if conditions["based_on_select"] in ["t1.project,", "t2.project,"]: cond = ' and '+ conditions["based_on_select"][:-1] +' IS Not NULL' - if conditions.get('trans') in ['Sales Order', 'Purchase Order']: cond += " and t1.status != 'Closed'" diff --git a/erpnext/public/js/purchase_trends_filters.js b/erpnext/public/js/purchase_trends_filters.js index 595a138f12..cd767f5d16 100644 --- a/erpnext/public/js/purchase_trends_filters.js +++ b/erpnext/public/js/purchase_trends_filters.js @@ -3,6 +3,14 @@ erpnext.get_purchase_trends_filters = function() { return [ + { + "fieldname":"company", + "label": __("Company"), + "fieldtype": "Link", + "options": "Company", + "reqd": 1, + "default": frappe.defaults.get_user_default("Company") + }, { "fieldname":"period", "label": __("Period"), @@ -15,6 +23,23 @@ erpnext.get_purchase_trends_filters = function() { ], "default": "Monthly" }, + { + "fieldname":"fiscal_year", + "label": __("Fiscal Year"), + "fieldtype": "Link", + "options":'Fiscal Year', + "default": frappe.sys_defaults.fiscal_year + }, + { + "fieldname":"period_based_on", + "label": __("Period based On"), + "fieldtype": "Select", + "options": [ + { "value": "posting_date", "label": __("Posting Date") }, + { "value": "bill_date", "label": __("Billing Date") }, + ], + "default": "posting_date" + }, { "fieldname":"based_on", "label": __("Based On"), @@ -39,19 +64,5 @@ erpnext.get_purchase_trends_filters = function() { ], "default": "" }, - { - "fieldname":"fiscal_year", - "label": __("Fiscal Year"), - "fieldtype": "Link", - "options":'Fiscal Year', - "default": frappe.sys_defaults.fiscal_year - }, - { - "fieldname":"company", - "label": __("Company"), - "fieldtype": "Link", - "options": "Company", - "default": frappe.defaults.get_user_default("Company") - }, ]; }