-
{{ snap.date|date:"Y-m-d" }}
+
+ {{ snap.date|date:"Y-m-d" }}
+
{{ snap.value|floatformat:"2g" }} €
{{ snap.diff|floatformat:"2g"|pm }} €
{% with sum=snap.sum %}
diff --git a/nummi/main/templates/main/snapshot.html b/nummi/main/templates/main/snapshot.html
new file mode 100644
index 0000000..b6d60aa
--- /dev/null
+++ b/nummi/main/templates/main/snapshot.html
@@ -0,0 +1,26 @@
+{% extends "main/base.html" %}
+{% load static %}
+
+{% block link %}
+{{ block.super }}
+
+{% endblock %}
+
+{% block body %}
+
{{ snapshot }}
+
+
+
+{% endblock %}
diff --git a/nummi/main/urls.py b/nummi/main/urls.py
index 4114aaf..384ab79 100644
--- a/nummi/main/urls.py
+++ b/nummi/main/urls.py
@@ -21,4 +21,8 @@ urlpatterns = [
path("category", views.category, name="category"),
path("category/
", views.category, name="category"),
path("category//update", views.update_category, name="update_category"),
+ path("snapshot", views.snapshot, name="snapshot"),
+ path("snapshot/", views.snapshot, name="snapshot"),
+ path("snapshot/update/", views.update_snapshot, name="update_snapshot"),
+ path("snapshot//del", views.del_snapshot, name="del_snapshot"),
]
diff --git a/nummi/main/views.py b/nummi/main/views.py
index f348143..0489190 100644
--- a/nummi/main/views.py
+++ b/nummi/main/views.py
@@ -11,6 +11,7 @@ from .models import (
Category,
CategoryForm,
Snapshot,
+ SnapshotForm,
)
@@ -59,10 +60,7 @@ def transaction(request, uuid=None):
@login_required
def update_transaction(request, uuid):
- try:
- _transaction = Transaction.objects.get(id=uuid)
- except Transaction.DoesNotExist:
- _transaction = Transaction(id=uuid)
+ _transaction, _ = Transaction.objects.get_or_create(id=uuid)
_form = TransactionForm(request.POST, instance=_transaction)
_form.save()
return redirect(transaction, uuid=uuid)
@@ -112,10 +110,38 @@ def category(request, uuid=None):
@login_required
def update_category(request, uuid):
- try:
- _category = Category.objects.get(id=uuid)
- except Category.DoesNotExist:
- _category = Category(id=uuid)
+ _category, _ = Category.objects.get_or_create(id=uuid)
_form = CategoryForm(request.POST, instance=_category)
_form.save()
return redirect(category, uuid=uuid)
+
+
+@login_required
+def snapshot(request, date=None):
+ if date is None:
+ _snapshot = Snapshot()
+ else:
+ _snapshot = get_object_or_404(Snapshot, date=date)
+ return render(
+ request,
+ "main/snapshot.html",
+ {
+ "snapshot": _snapshot,
+ "form": SnapshotForm(instance=_snapshot),
+ },
+ )
+
+
+@login_required
+def update_snapshot(request, uuid):
+ _snapshot, _ = Snapshot.objects.get_or_create(id=uuid)
+ _form = SnapshotForm(request.POST, instance=_snapshot)
+ _form.save()
+ return redirect(snapshot, date=_snapshot.date)
+
+
+@login_required
+def del_snapshot(request, date):
+ _snapshot = get_object_or_404(Snapshot, date=date)
+ _snapshot.delete()
+ return redirect(index)