diff --git a/nummi/main/models.py b/nummi/main/models.py
index 57099a7..e15691b 100644
--- a/nummi/main/models.py
+++ b/nummi/main/models.py
@@ -1,5 +1,6 @@
import uuid
from django.db import models
+from django.forms import ModelForm
class Transaction(models.Model):
@@ -13,6 +14,12 @@ class Transaction(models.Model):
return f"{self.date} {self.name}: {self.value}€"
+class TransactionForm(ModelForm):
+ class Meta:
+ model = Transaction
+ fields = ["name", "description", "value", "date"]
+
+
class Invoice(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=256)
diff --git a/nummi/main/templates/main/transaction.html b/nummi/main/templates/main/transaction.html
index 6cefd07..89a6225 100644
--- a/nummi/main/templates/main/transaction.html
+++ b/nummi/main/templates/main/transaction.html
@@ -1,4 +1,9 @@
-
{{ transaction }}
+
+
{% for inv in invoices %}
- {{ inv.name }}
diff --git a/nummi/main/urls.py b/nummi/main/urls.py
index 6ed36f5..36b814d 100644
--- a/nummi/main/urls.py
+++ b/nummi/main/urls.py
@@ -5,5 +5,8 @@ from . import views
urlpatterns = [
path("", views.index, name="index"),
path("transaction/", views.transaction, name="transaction"),
+ path(
+ "transaction//update", views.update_transaction, name="update_transaction"
+ ),
path("invoice/", views.invoice, name="invoice"),
]
diff --git a/nummi/main/views.py b/nummi/main/views.py
index 8b61701..473b05d 100644
--- a/nummi/main/views.py
+++ b/nummi/main/views.py
@@ -1,8 +1,8 @@
-from django.shortcuts import render, get_object_or_404
+from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponse
-from .models import Transaction, Invoice
+from .models import Transaction, TransactionForm, Invoice
def index(request):
@@ -21,11 +21,19 @@ def transaction(request, uuid):
"main/transaction.html",
{
"transaction": _transaction,
+ "form": TransactionForm(instance=_transaction),
"invoices": _invoices,
},
)
+def update_transaction(request, uuid):
+ _transaction = get_object_or_404(Transaction, id=uuid)
+ _form = TransactionForm(request.POST, instance=_transaction)
+ _form.save()
+ return redirect(transaction, uuid=uuid)
+
+
def invoice(request, uuid):
_invoice = get_object_or_404(Invoice, id=uuid)
with _invoice.file.open() as _file: