Implement helper for deleting all database objects

This commit is contained in:
2022-10-30 10:57:41 +00:00
parent 2a876a20ba
commit 49a3737a72
4 changed files with 60 additions and 4 deletions

View File

@@ -1,4 +1,6 @@
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import render
from django.views import View
from core.forms import TradeForm
from core.models import Trade
@@ -25,6 +27,8 @@ class TradeList(LoginRequiredMixin, ObjectList):
submit_url_name = "trade_create"
delete_all_url_name = "trade_delete_all"
class TradeCreate(LoginRequiredMixin, ObjectCreate):
model = Trade
@@ -37,6 +41,10 @@ class TradeCreate(LoginRequiredMixin, ObjectCreate):
submit_url_name = "trade_create"
def post_save(self, obj):
obj.post()
log.debug(f"Posting trade {obj}")
class TradeUpdate(LoginRequiredMixin, ObjectUpdate):
model = Trade
@@ -57,3 +65,17 @@ class TradeDelete(LoginRequiredMixin, ObjectDelete):
list_url_name = "trades"
list_url_args = ["type"]
class TradeDeleteAll(LoginRequiredMixin, View):
template_name = "partials/notify.html"
def delete(self, request):
"""
Delete all trades by the current user
"""
Trade.objects.filter(user=request.user).delete()
context = {"message": "All trades deleted", "class": "success"}
response = render(request, self.template_name, context)
response["HX-Trigger"] = f"{self.context_object_name_singular}Event"
return response