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')
Example #2
0
def leave_report(year):
	res = []
	create, download, leave_report, leave_record = 'Create ', 'Download ', 'Leave Report', 'Leave Record'
	for i in range(1, 13):
		report_date_10 = datetime(year, i, settings.LEAVE_REPORT_FIRST_DAY)
		report_date_25 = datetime(year, i, settings.LEAVE_REPORT_SECEND_DAY)
		leave_record_satrt_date = report.get_lastest_month_period(report_date_25)
		
		report_full_path_10 = settings.REPORT_FILES + r"leavereport-%s.xls" % report_date_10.strftime('%Y-%m-%d')
		report_full_path_25 = settings.REPORT_FILES + r"leavereport-%s.xls" % report_date_25.strftime('%Y-%m-%d')
		leave_record_file_name = r"leaverecordreport-%s-%s.xls" % \
							  (leave_record_satrt_date.strftime('%Y_%m_%d'), report_date_25.strftime('%Y_%m_%d'))
		leave_record_full_path_25 = settings.REPORT_FILES + leave_record_file_name
		
		file_exist_10 = os.path.exists(report_full_path_10)
		file_exist_25 = os.path.exists(report_full_path_25)
		leave_record_file_exist_25 = os.path.exists(leave_record_full_path_25)
		#data_exist = AnnualLeaveReport.objects.filter(report_date = report_date_10)
		
		item = []
		if file_exist_10:
			item.append((
					download+leave_report, 
					'/eleave/main/reports/download/leavereport/%s' % report_date_10.strftime('%Y/%m/%d/'), 
					'/eleave/main/reports/generate?type=leavereport&year=%s&month=%s&day=%s' % (report_date_10.year, report_date_10.month, report_date_10.day), 
					report_date_10))
		else:
			item.append((
					create+leave_report, 
					'', 
					'/eleave/main/reports/generate?type=leavereport&year=%s&month=%s&day=%s' % (report_date_10.year, report_date_10.month, report_date_10.day), 
					report_date_10))
		
		if file_exist_25:
			item.append((
					download+leave_report, 
					'/eleave/main/reports/download/leavereport/%s' % report_date_25.strftime('%Y/%m/%d/'), 
					'/eleave/main/reports/generate?type=leavereport&year=%s&month=%s&day=%s' % (report_date_25.year, report_date_25.month, report_date_25.day), 
					report_date_25))
		else:
			item.append((create+leave_report, '', '/eleave/main/reports/generate?type=leavereport&year=%s&month=%s&day=%s' %
				(report_date_25.year, report_date_25.month, report_date_25.day), report_date_25))
		
		if leave_record_file_exist_25:
			item.append((
					download+leave_record, 
					'/eleave/main/reports/download/leaverecord/%s/%s/' % (leave_record_satrt_date.strftime('%Y_%m_%d'), report_date_25.strftime('%Y_%m_%d')), 
					'/eleave/main/reports/generate?type=leaverecord&start=%s&end=%s&year=%s' % (leave_record_satrt_date.strftime('%Y-%m-%d'), report_date_25.strftime('%Y-%m-%d'), report_date_25.year), 
					report_date_25))
		else:
			item.append((
					create+leave_record, 
					'', 
					'/eleave/main/reports/generate?type=leaverecord&start=%s&end=%s&year=%s' % (leave_record_satrt_date.strftime('%Y-%m-%d'), report_date_25.strftime('%Y-%m-%d'), report_date_25.year),
					report_date_25))
			
		res.append({MONTH[i-1]: item})
		
	years = []
	cur_year = date.today().year
	for y in range(2005, cur_year+1):
		if LeaveRequest.objects.filter(create_date__year=y).count()>0:
			selected = False
			if y == year:
				selected = True
			years.append((y, selected))
	
	years.reverse()
	return res, years