def generate_reports(report_type, year, month , day=settings.LEAVE_REPORT_FIRST_DAY, start_date=None, end_date=None): employee_set = list(Employee.objects.all().order_by('display_name')) if report_type == 'leavereport': report.generate_leave_report_file(employee_set, day, month, year) if report_type == 'leaverecord': report.generate_leave_record_report_file(employee_set, start_date, end_date)
def GenerateLeaveRecordsReport(): now = datetime.now() start_date = report.get_lastest_month_period(now) employees = Employee.objects.all() report.generate_leave_record_report_file(employees, start_date, now) # send email to notice admin subject = "Monthly leave record report(%s~%s)" % (start_date.strftime('%Y-%m-%d'), now.strftime('%Y-%m-%d')) send_email_to_admin('report_notification.txt', subject, now, start_date, type = 'leave record')
def generate_leave_record_report(modeladmin, request, queryset): opts = modeladmin.model._meta app_label = opts.app_label if request.POST.get('post'): if queryset.count(): start_date_ = request.POST.get('start_date').strip() end_date_ = request.POST.get('end_date').strip() import datetime start_date = datetime.datetime.strptime(start_date_, '%Y-%m-%d') end_date = datetime.datetime.strptime(end_date_, '%Y-%m-%d') from common.report import generate_leave_record_report_file filename = generate_leave_record_report_file(queryset, start_date, end_date, 'export_') link = '/eleave/main/reports/download/leaverecord/%s/%s/?export=1' % (start_date.strftime('%Y_%m_%d'),end_date.strftime('%Y_%m_%d')) cont={'link': link} return render_to_response('maitenance/generate_report_successful.html',cont, context_instance=template.RequestContext(request)) if len(queryset) == 1: objects_name = force_unicode(opts.verbose_name) else: objects_name = force_unicode(opts.verbose_name_plural) title = "Are you sure?" context = { "title": title, "objects_name": objects_name, 'queryset': queryset, "opts": opts, "app_label": app_label, 'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME, 'leave_record': True } return render_to_response( 'maitenance/generate_report_confirmation.html', context, context_instance=template.RequestContext(request) )