From a929846d13ec8ffc23659a3b51ef2fb1d8dc09f9 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Mon, 17 Jul 2023 19:25:47 +0300 Subject: [PATCH] Add the delete button for a task. --- CHANGELOG.org | 2 ++ tasks/urls.py | 1 + tasks/views.py | 9 +++++++++ templates/partials/task_item.html | 8 +++++++- 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 403f53e..04db5eb 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -15,4 +15,6 @@ Add the htmx (CDN version). Add the task form. Add logic to swap the form with the task via htmx. +** 0.3.1 <2023-07-17 Mon> + Add the delete button for a task. diff --git a/tasks/urls.py b/tasks/urls.py index 20a1d1f..b1e6c52 100644 --- a/tasks/urls.py +++ b/tasks/urls.py @@ -9,5 +9,6 @@ urlpatterns = [ path('', views.index, name='index'), path('htmx/create-task-form/', views.create_task_form, name='create-task-form'), path('htmx/task-item//', views.task_item, name='task-item'), + path('htmx/task-item//delete/', views.task_delete, name='task-delete'), ] diff --git a/tasks/views.py b/tasks/views.py index fd31a41..6ee2a94 100644 --- a/tasks/views.py +++ b/tasks/views.py @@ -1,4 +1,5 @@ from django.shortcuts import render, redirect, get_object_or_404 +from django.http.response import HttpResponse, HttpResponseNotAllowed from .models import Task from .forms import TaskForm @@ -42,3 +43,11 @@ def task_item(request, id): return render(request, "partials/task_item.html", context) +def task_delete(request, id): + task = get_object_or_404(Task, id=id) + + if request.method == "POST": + task.delete() + return HttpResponse("") + return HttpResponseNotAllowed([ "POST" ]) + diff --git a/templates/partials/task_item.html b/templates/partials/task_item.html index 5ff6d19..0c11d23 100644 --- a/templates/partials/task_item.html +++ b/templates/partials/task_item.html @@ -1,4 +1,4 @@ -
+
{% if task.status == "TODO" %}

{% elif task.status == "DOING" %} @@ -10,4 +10,10 @@

{{ task.name }}

{{ task.description | truncatewords:10 }}

+ +