Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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')
Exemplo n.º 3
0
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)
	)