def export_sickoff_export(request):
if request.method=="POST":
start_date = request.POST.get('start_date')
end_date = request.POST.get('end_date')
search_results = Prescription.objects.filter(date_precribed__range=[start_date,end_date])
return render(request, 'pharmacist_templates/reports/referrals_report.html', {"data": search_results})
response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename=Referrals & Sick-offs' + \
str(datetime.datetime.now())+'.csv'
wb = xlwt.Workbook(encoding='utf-8')
ws = wb.add_sheet('Prescription,Patients')
#Sheet header, first row
row_num = 0
font_style = xlwt.XFStyle()
font_style.font.bold = True
columns = ['Payroll No', 'First Name', 'Last Name', 'Non Work Related SickOff', 'Work Related SickOff', 'Referral', 'Remarks', 'Date']
for col_num in range(len(columns)):
ws.write(row_num, col_num, columns[col_num], font_style)
# Sheet body, remaining rows
font_style = xlwt.XFStyle()
rows = Prescription.objects.filter(nurse=request.user.pharmacist).values_list('patient_id__reg_no', 'patient_id__first_name', 'patient_id__last_name', 'non_work_related_sickOff', 'work_related_sickOff', 'referral', 'remarks', 'date_precribed')
for row in rows:
row_num += 1
for col_num in range(len(row)):
ws.write(row_num, col_num, str(row[col_num]), font_style)
# for patient in patients:
# writer.writerow(patient)
wb.save(response)
return response
else:
displaydata = Prescription.objects.filter(nurse=request.user.pharmacist).order_by('-id')
return render(request, 'pharmacist_templates/reports/referrals_report.html', {"data":displaydata})