Add invoice management

This commit is contained in:
Edgar P. Burkhart 2022-05-19 21:21:55 +02:00
parent 5339a725f2
commit 6ef5a441e1
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
4 changed files with 44 additions and 6 deletions

View file

@ -2,7 +2,7 @@ from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponse
from .models import Transaction, TransactionForm, Invoice
from .models import Transaction, TransactionForm, Invoice, InvoiceForm
def index(request):
@ -23,6 +23,7 @@ def transaction(request, uuid):
"transaction": _transaction,
"form": TransactionForm(instance=_transaction),
"invoices": _invoices,
"invoice_form": InvoiceForm(instance=Invoice(transaction=_transaction)),
},
)
@ -38,3 +39,17 @@ def invoice(request, uuid):
_invoice = get_object_or_404(Invoice, id=uuid)
with _invoice.file.open() as _file:
return HttpResponse(_file.read(), content_type="application/pdf")
def add_invoice(request, uuid):
_transaction = get_object_or_404(Transaction, id=uuid)
_invoice = Invoice(transaction=_transaction)
_form = InvoiceForm(request.POST, request.FILES, instance=_invoice)
_form.save()
return redirect(transaction, uuid=uuid)
def del_invoice(request, uuid, invoice_id):
_invoice = get_object_or_404(Invoice, id=invoice_id)
_invoice.delete()
return redirect(transaction, uuid=uuid)