feat: add actions

This commit is contained in:
Herculino Trotta
2024-10-14 21:01:11 -03:00
parent 8a61946c16
commit aecbcb3430
11 changed files with 196 additions and 32 deletions
+15
View File
@@ -2,6 +2,21 @@ from django.urls import path
import apps.transactions.views as views
urlpatterns = [
path(
"transactions/actions/pay",
views.bulk_pay_transactions,
name="transactions_bulk_pay",
),
path(
"transactions/actions/unpay/",
views.bulk_unpay_transactions,
name="transactions_bulk_unpay",
),
path(
"transactions/actions/delete/",
views.bulk_delete_transactions,
name="transactions_bulk_delete",
),
path(
"transaction/<int:transaction_id>/pay",
views.transaction_pay,
+1
View File
@@ -1,3 +1,4 @@
from .transactions import *
from .tags import *
from .categories import *
from .actions import *
+43
View File
@@ -0,0 +1,43 @@
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from apps.common.decorators.htmx import only_htmx
from apps.transactions.models import Transaction
@only_htmx
@login_required
def bulk_pay_transactions(request):
selected_transactions = request.GET.getlist("transactions", [])
Transaction.objects.filter(id__in=selected_transactions).update(is_paid=True)
return HttpResponse(
status=204,
headers={"HX-Trigger": "updated, toast, paid"},
)
@only_htmx
@login_required
def bulk_unpay_transactions(request):
selected_transactions = request.GET.getlist("transactions", [])
Transaction.objects.filter(id__in=selected_transactions).update(is_paid=False)
return HttpResponse(
status=204,
headers={"HX-Trigger": "updated, toast, unpaid"},
)
@only_htmx
@login_required
def bulk_delete_transactions(request):
selected_transactions = request.GET.getlist("transactions", [])
Transaction.objects.filter(
id__in=selected_transactions, installment_plan__isnull=True
).delete()
return HttpResponse(
status=204,
headers={"HX-Trigger": "updated, toast"},
)