asbasawaraj
6 years ago
committed by
Rushabh Mehta
5 changed files with 84 additions and 0 deletions
@ -0,0 +1,24 @@ |
|||
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
|
|||
// For license information, please see license.txt
|
|||
/* eslint-disable */ |
|||
|
|||
frappe.query_reports["Expiring Memberships"] = { |
|||
"filters": [ |
|||
{ |
|||
"fieldname": "fiscal_year", |
|||
"label": __("Fiscal Year"), |
|||
"fieldtype": "Link", |
|||
"options": "Fiscal Year", |
|||
"default": frappe.defaults.get_user_default("fiscal_year"), |
|||
"reqd": 1 |
|||
}, |
|||
{ |
|||
"fieldname":"month", |
|||
"label": __("Month"), |
|||
"fieldtype": "Select", |
|||
"options": "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug\nSep\nOct\nNov\nDec", |
|||
"default": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", |
|||
"Dec"][frappe.datetime.str_to_obj(frappe.datetime.get_today()).getMonth()], |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,27 @@ |
|||
{ |
|||
"add_total_row": 0, |
|||
"apply_user_permissions": 1, |
|||
"creation": "2018-05-24 11:44:08.942809", |
|||
"disabled": 0, |
|||
"docstatus": 0, |
|||
"doctype": "Report", |
|||
"idx": 0, |
|||
"is_standard": "Yes", |
|||
"letter_head": "ERPNext Foundation", |
|||
"modified": "2018-05-24 11:44:08.942809", |
|||
"modified_by": "Administrator", |
|||
"module": "Non Profit", |
|||
"name": "Expiring Memberships", |
|||
"owner": "Administrator", |
|||
"ref_doctype": "Membership", |
|||
"report_name": "Expiring Memberships", |
|||
"report_type": "Script Report", |
|||
"roles": [ |
|||
{ |
|||
"role": "Non Profit Manager" |
|||
}, |
|||
{ |
|||
"role": "Non Profit Member" |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,33 @@ |
|||
# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors |
|||
# For license information, please see license.txt |
|||
|
|||
from __future__ import unicode_literals |
|||
import frappe |
|||
from frappe import _,msgprint |
|||
|
|||
def execute(filters=None): |
|||
columns = get_columns(filters) |
|||
data = get_data(filters) |
|||
return columns, data |
|||
|
|||
def get_columns(filters): |
|||
return [ |
|||
_("Membership Type") + ":Link/Membership Type:100", _("Membership ID") + ":Link/Membership:140", |
|||
_("Member ID") + ":Link/Member:140", _("Member Name") + ":Data:140", _("Email") + ":Data:140", |
|||
_("Expiring On") + ":Date:120" |
|||
] |
|||
|
|||
def get_data(filters): |
|||
|
|||
filters["month"] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"].index(filters.month) + 1 |
|||
|
|||
return frappe.db.sql(""" |
|||
select ms.membership_type,ms.name,m.name,m.member_name,m.email,ms.max_membership_date |
|||
from `tabMember` m |
|||
inner join (select name,membership_type,max(to_date) as max_membership_date,member |
|||
from `tabMembership` |
|||
where paid = 1 |
|||
group by member |
|||
order by max_membership_date asc) ms |
|||
on m.name = ms.member |
|||
where month(max_membership_date) = %(month)s and year(max_membership_date) = %(year)s """,{'month': filters.get('month'),'year':filters.get('fiscal_year')}) |
Loading…
Reference in new issue