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 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