Compare commits

..

1 commit

Author SHA1 Message Date
2736c2ae9d
Implemented frontend for account 2023-04-22 12:03:08 +02:00
5 changed files with 21 additions and 26 deletions

View file

@ -1,4 +1,3 @@
from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy from django.urls import reverse_lazy
from main.views import NummiCreateView, NummiDeleteView, NummiUpdateView from main.views import NummiCreateView, NummiDeleteView, NummiUpdateView
from statement.views import StatementListView from statement.views import StatementListView
@ -52,14 +51,12 @@ class AccountDeleteView(NummiDeleteView):
class AccountMixin: class AccountMixin:
def get_queryset(self): def get_queryset(self):
self.account = get_object_or_404( return super().get_queryset().filter(account=self.kwargs.get("account"))
Account.objects.filter(user=self.request.user),
pk=self.kwargs.get("account"),
)
return super().get_queryset().filter(account=self.account)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
return super().get_context_data(**kwargs) | {"account": self.account} return super().get_context_data(**kwargs) | {
"account": Account.objects.get(pk=self.kwargs.get("account")),
}
class AccountTListView(AccountMixin, TransactionListView): class AccountTListView(AccountMixin, TransactionListView):

View file

@ -22,10 +22,10 @@ class Category(UserModel):
return str(self.name) return str(self.name)
def get_absolute_url(self): def get_absolute_url(self):
return reverse("category", args=(self.pk,)) return reverse("category", kwargs={"pk": self.pk})
def get_delete_url(self): def get_delete_url(self):
return reverse("del_category", args=(self.pk,)) return reverse("del_category", kwargs={"pk": self.pk})
class Meta: class Meta:
ordering = ["name"] ordering = ["name"]

View file

@ -4,16 +4,18 @@ from transaction.views import TransactionMonthView
from . import views from . import views
urlpatterns = [ urlpatterns = [
path("", views.CategoryCreateView.as_view(), name="new_category"), path("category", views.CategoryCreateView.as_view(), name="new_category"),
path("<category>", views.CategoryUpdateView.as_view(), name="category"), path("category/<pk>", views.CategoryUpdateView.as_view(), name="category"),
path( path(
"<category>/transactions", "category/<pk>/transactions",
views.CategoryTListView.as_view(), views.CategoryTListView.as_view(),
name="category_transactions", name="category_transactions",
), ),
path("<category>/delete", views.CategoryDeleteView.as_view(), name="del_category"),
path( path(
"<category>/history/<int:year>/<int:month>", "category/<pk>/delete", views.CategoryDeleteView.as_view(), name="del_category"
),
path(
"category/<category>/history/<int:year>/<int:month>",
TransactionMonthView.as_view(), TransactionMonthView.as_view(),
name="transaction_month", name="transaction_month",
), ),

View file

@ -1,4 +1,3 @@
from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy from django.urls import reverse_lazy
from main.views import NummiCreateView, NummiDeleteView, NummiUpdateView from main.views import NummiCreateView, NummiDeleteView, NummiUpdateView
from transaction.utils import history from transaction.utils import history
@ -11,12 +10,13 @@ from .models import Category
class CategoryCreateView(NummiCreateView): class CategoryCreateView(NummiCreateView):
model = Category model = Category
form_class = CategoryForm form_class = CategoryForm
template_name = "main/form/category.html"
class CategoryUpdateView(NummiUpdateView): class CategoryUpdateView(NummiUpdateView):
model = Category model = Category
form_class = CategoryForm form_class = CategoryForm
pk_url_kwarg = "category" template_name = "main/form/category.html"
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs) data = super().get_context_data(**kwargs)
@ -33,19 +33,17 @@ class CategoryUpdateView(NummiUpdateView):
class CategoryDeleteView(NummiDeleteView): class CategoryDeleteView(NummiDeleteView):
model = Category model = Category
pk_url_kwarg = "category"
class CategoryMixin: class CategoryMixin:
def get_queryset(self): def get_queryset(self):
self.category = get_object_or_404( return super().get_queryset().filter(category=self.kwargs.get("pk"))
Category.objects.filter(user=self.request.user),
pk=self.kwargs.get("category"),
)
return super().get_queryset().filter(category=self.category)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
return super().get_context_data(**kwargs) | {"category": self.category} return super().get_context_data(**kwargs) | {
"object": Category.objects.get(pk=self.kwargs.get("pk")),
"category": True,
}
class CategoryTListView(CategoryMixin, TransactionListView): class CategoryTListView(CategoryMixin, TransactionListView):

View file

@ -9,11 +9,9 @@
{% endblock %} {% endblock %}
{% block h2 %}{{ form.instance.icon|remix }}{{ form.instance }}{% endblock %} {% block h2 %}{{ form.instance.icon|remix }}{{ form.instance }}{% endblock %}
{% block tables %} {% block tables %}
{% if transactions %} {% if form.instance.transactions %}
<h3>{% translate "Transactions" %}</h3> <h3>{% translate "Transactions" %}</h3>
{% include "main/table/transaction.html" %} {% include "main/table/transaction.html" %}
{% endif %}
{% if history.data %}
<h3>{% translate "History" %}</h3> <h3>{% translate "History" %}</h3>
{% include "main/plot/history.html" %} {% include "main/plot/history.html" %}
{% endif %} {% endif %}