Add the delete button for a task.
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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/<id>/', views.task_item, name='task-item'),
|
||||
path('htmx/task-item/<id>/delete/', views.task_delete, name='task-delete'),
|
||||
]
|
||||
|
||||
|
||||
@@ -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" ])
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="p-2 border rounded-lg inline-flex gap-2 my-2 bg-gray-200">
|
||||
<div hx-target="this" class="p-2 border rounded-lg inline-flex gap-2 my-2 bg-gray-200">
|
||||
{% if task.status == "TODO" %}
|
||||
<p class="font-semibold text-green-500">
|
||||
{% elif task.status == "DOING" %}
|
||||
@@ -10,4 +10,10 @@
|
||||
</p>
|
||||
<p class="font-semibold">{{ task.name }}</p>
|
||||
<p>{{ task.description | truncatewords:10 }}</p>
|
||||
|
||||
<button type="button"
|
||||
hx-post="{% url 'tasks:task-delete' task.id %}"
|
||||
hx-swap="outerHTML">
|
||||
Delete
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user