def get(self, *args, **kwargs): response = HttpResponse(content_type="text/csv") response[ "Content-Disposition"] = 'attachment; filename="tabela_pomiarow.csv"' writer = csv.writer(response, delimiter="|") writer.writerow(["Tabela pomiarów ciśnienia krwi"]) writer.writerow([ "Lp.", "Ciśnienie skurczowe", "Ciśnienie rozkurczowe", "Tętno", "Data pomiaru", ]) for id, measurement in enumerate( Measurement.queryset_for_user(self, self.request.user), 1): row = [ id, measurement.systolic_pressure, measurement.diastolic_pressure, measurement.pulse, measurement.measurement_time.strftime("%H:%M %d %b %Y"), ] writer.writerow(row) return response
def post(self, *args, **kwargs): try: userdata = UserData.objects.get(user=self.request.user) doctordata = DoctorData.objects.get(userdata=userdata) measurements = Measurement.queryset_for_user( self, self.request.user) except: messages.add_message(self.request, messages.WARNING, "Błąd pobierania danych") return redirect(reverse("homepage:index")) if send_email(self, self.request.user, userdata, doctordata, measurements): messages.add_message(self.request, messages.SUCCESS, "Pomyślnie wysłano email") else: messages.add_message(self.request, messages.WARNING, "Nie udało się wysłać wiadomości") return redirect(reverse("homepage:index"))
def get_context_data(self, **kwargs): measurements = Measurement.queryset_for_user(self, self.request.user) return super(GeneratePDFView, self).get_context_data(pagesize="A4", measurements=measurements)