From 5c158a3a56898ce7e6a3e2fe414530c0f5765577 Mon Sep 17 00:00:00 2001 From: Brody Wilton <brodywilton@192.168.1.227> Date: Sat, 2 Mar 2024 00:49:15 +0000 Subject: [PATCH] Implement basic version of report generation --- myproject/myapp/templates/user_page.html | 2 ++ myproject/myapp/urls.py | 4 +++- myproject/myapp/views.py | 17 ++++++++++++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/myproject/myapp/templates/user_page.html b/myproject/myapp/templates/user_page.html index 2e621e8..c9f63db 100644 --- a/myproject/myapp/templates/user_page.html +++ b/myproject/myapp/templates/user_page.html @@ -232,12 +232,14 @@ required /> </div> + <a href="{% url 'generate_pdf' %}" <button type="submit" class="p-2 bg-blue-500 text-white rounded-md hover:bg-blue-600" > Download Financial Statement </button> + </a> </form> {% comment %} REPLACE WITH LOGIC TO CHECK PROPER USER {% endcomment %} </div> diff --git a/myproject/myapp/urls.py b/myproject/myapp/urls.py index 3580dad..57b0ddb 100644 --- a/myproject/myapp/urls.py +++ b/myproject/myapp/urls.py @@ -7,6 +7,7 @@ from .views import handler500 from .views import register from .views import login from .views import pricing +from .views import generate_pdf urlpatterns = [ # path('', index, name='index'), <- uncomment when index/main page will be ready @@ -17,6 +18,7 @@ urlpatterns = [ path('maintenance/', maintenance), path('register/', register, name='register'), path('login/', login, name='login'), - path('pricing/', pricing, name='pricing') + path('pricing/', pricing, name='pricing'), + path('generate_pdf/', generate_pdf, name='generate_pdf') ] diff --git a/myproject/myapp/views.py b/myproject/myapp/views.py index 51acc36..9929c01 100644 --- a/myproject/myapp/views.py +++ b/myproject/myapp/views.py @@ -1,5 +1,8 @@ from django.shortcuts import render from django.template import RequestContext +from .models import User +from django.http import HttpResponse +from reportlab.pdfgen import canvas def index(request): return render(request, 'index.html') @@ -27,4 +30,16 @@ def register(request): return render(request, 'register.html') def pricing(request): - return render(request, 'pricing.html') \ No newline at end of file + return render(request, 'pricing.html') + +#For testing the receipts ONLY. TODO: delete when working +def generate_pdf(request): + response = HttpResponse(content_type='application/pdf') + response['Content-Disposition'] = 'attachment; filename="example.pdf"' + + p = canvas.Canvas(response) + p.drawString(100, 800, "Hello, this is a PDF!") + p.showPage() + p.save() + + return response \ No newline at end of file -- GitLab