|
8 | 8 | from django.contrib.messages.views import SuccessMessageMixin |
9 | 9 | from django.contrib.auth.mixins import LoginRequiredMixin |
10 | 10 | from django.utils.translation import gettext_lazy as _ |
11 | | - |
12 | | - |
| 11 | +from django.views.generic import RedirectView |
| 12 | +from django.shortcuts import get_object_or_404, redirect |
| 13 | +from django.views import View |
13 | 14 | from django_filters.views import FilterView |
14 | 15 |
|
15 | 16 | from .forms import CreateTaskForm |
@@ -44,14 +45,29 @@ class DetailTaskView(LoginRequiredMixin, DetailView): |
44 | 45 |
|
45 | 46 |
|
46 | 47 |
|
47 | | -class DeleteTaskView(LoginRequiredMixin, SuccessMessageMixin, DeleteView): |
| 48 | +# class DeleteTaskView(LoginRequiredMixin, SuccessMessageMixin, DeleteView): |
| 49 | +# pattern_name = "tasks:list" |
| 50 | +# model = Task |
| 51 | +# success_url = reverse_lazy("tasks:task_list") |
| 52 | +# template_name = "tasks/delete.html" |
| 53 | +# success_message = _("Task deleted successfully") |
| 54 | +# login_url = reverse_lazy("login") |
| 55 | +# redirect_field_name = None |
| 56 | +class DeleteTaskView(LoginRequiredMixin, SuccessMessageMixin, View): |
48 | 57 | model = Task |
49 | 58 | success_url = reverse_lazy("tasks:task_list") |
50 | | - template_name = "tasks/delete.html" |
51 | 59 | success_message = _("Task deleted successfully") |
52 | 60 | login_url = reverse_lazy("login") |
53 | 61 | redirect_field_name = None |
54 | 62 |
|
| 63 | + def get(self, request, *args, **kwargs): |
| 64 | + task = get_object_or_404(self.model, pk=kwargs.get("pk")) |
| 65 | + task.delete() |
| 66 | + # Добавляем сообщение об успешном удалении |
| 67 | + from django.contrib import messages |
| 68 | + messages.success(request, self.success_message) |
| 69 | + return redirect(self.success_url) |
| 70 | + |
55 | 71 |
|
56 | 72 | class UpdateTaskView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): |
57 | 73 | model = Task |
|
0 commit comments