from django.shortcuts import render, get_object_or_404, redirect from osinacore.models import * from billing.models import * from django.http import JsonResponse, HttpResponse from django.template.loader import get_template from weasyprint import HTML def add_product (request, *args, **kwargs): item_types = ProjectType.objects.all().order_by('name') if request.method == 'POST': title = request.POST.get('title') description = request.POST.get('description') item_type_id = request.POST.get('item_type') item_type = get_object_or_404(ProjectType, id=item_type_id) amount = request.POST.get('amount') recurring = request.POST.get('recurring') Item.objects.create( type='Product', title=title, description = description, item_type = item_type, amount = amount, recurring = recurring, ) return redirect('items') context = { 'item_types' : item_types, } return render(request, 'add_templates/add-product.html', context) def add_service (request, *args, **kwargs): context = { } return render(request, 'add_templates/add-service.html', context) def add_order (request, *args, **kwargs): customers = CustomerProfile.objects.all().order_by('-id') context = { 'customers': customers, } return render(request, 'add_templates/add-order.html', context) def add_invoice_pdf(request): template = get_template('details_templates/invoice-details.html') context = {} html_string = template.render(context) pdf = HTML(string=html_string).write_pdf() response = HttpResponse(pdf, content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="my_pdf.pdf"' return response