def admin_payment_report_ajax(request, report_date=None): if report_date is None: report_date = datetime.now() month_start = date(report_date.year, report_date.month, 1) if report_date.month >= 12: month_end = date(report_date.year+1, 1, 1) else: month_end = date(report_date.year, report_date.month+1, 1) total_month_dues = MembershipPayment.monthly_sum(month_start, month_end) total_month_donations = Donation.monthly_sum(month_start, month_end) active_members = Maker.active_members(report_date) makers = Maker.objects.all() payments = list(MembershipPayment.objects.all()) donations = list(Donation.objects.all()) context = { 'report_date': int(time.mktime(report_date.timetuple())), 'title': "Report ({date})".format(date = report_date.strftime("%b %d, %Y")), 'active_members': active_members, 'total_in_system': len(makers), 'total_month_dues': total_month_dues, 'total_month_donations': total_month_donations, 'payments': payments, 'donations': donations, } return HttpResponse(json.dumps(context, cls=CustomEncoder), mimetype="application/json")
def admin_member_report(request, report_date=None): if report_date is None: report_date = datetime.now() month_start = date(report_date.year, report_date.month, 1) if report_date.month >= 12: month_end = date(report_date.year+1, 1, 1) else: month_end = date(report_date.year, report_date.month+1, 1) active_members = Maker.active_members(report_date) makers = Maker.objects.all() total_month_dues = MembershipPayment.monthly_sum(month_start, month_end) total_month_donations = Donation.monthly_sum(month_start, month_end) context = { 'report_date': report_date, 'title': "Report ({date})".format(date = report_date.strftime("%b %d, %Y")), 'active_members': active_members, 'total_in_system': len(makers), 'total_month_dues': total_month_dues, 'total_month_donations': total_month_donations, } return render_to_response("admin/membership/report.html", context, context_instance=RequestContext(request))