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 GenerateLeavesReport(): now = datetime.now() employees = Employee.objects.all() # generate leave report file automaticaly, # use Windows Task Scheduler to control report.generate_leave_report_file(employees, now.day, now.month, now.year) # send email to notice admin subject = "Monthly leave report %s" % now.strftime("%Y-%m-%d") send_email_to_admin("report_notification.txt", subject, now, type="leave report")
def generate_leave_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 date = datetime.datetime.strptime(end_date, '%Y-%m-%d') from common.report import generate_leave_report_file filename = generate_leave_report_file(queryset, date.day, date.month, date.year, prefix='export_') link = '/eleave/main/reports/download/leavereport/%s?export=1' % 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, } return render_to_response( 'maitenance/generate_report_confirmation.html', context, context_instance=template.RequestContext(request) )