Skip to content

Commit 02e1220

Browse files
committed
update task models
1 parent c9445ca commit 02e1220

File tree

4 files changed

+43
-10
lines changed

4 files changed

+43
-10
lines changed

db.sqlite3

0 Bytes
Binary file not shown.

locale/ru/LC_MESSAGES/django.po

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: PACKAGE VERSION\n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2025-06-21 19:39+0000\n"
11+
"POT-Creation-Date: 2025-06-21 20:38+0000\n"
1212
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414
"Language-Team: LANGUAGE <[email protected]>\n"
@@ -28,7 +28,7 @@ msgid "Name"
2828
msgstr "Имя"
2929

3030
#: task_manager/labels/models.py:7 task_manager/templates/tasks/detail.html:31
31-
#: task_manager/users/models.py:9
31+
#: task_manager/users/models.py:8
3232
msgid "Creation date"
3333
msgstr "Дата создания"
3434

@@ -60,31 +60,37 @@ msgstr ""
6060
msgid "Object has not attr is_object_in_use"
6161
msgstr ""
6262

63-
#: task_manager/statuses/views.py:22
63+
#: task_manager/statuses/views.py:25
6464
msgid "Status created successfully"
6565
msgstr "Статус успешно создан"
6666

67-
#: task_manager/statuses/views.py:37
67+
#: task_manager/statuses/views.py:40
6868
msgid "Status updated successfully"
6969
msgstr "Статус успешно изменен"
7070

71-
#: task_manager/statuses/views.py:46
71+
#: task_manager/statuses/views.py:49
7272
msgid "Status deleted successfully"
7373
msgstr "Статус успешно удален"
7474

75+
#: task_manager/statuses/views.py:60
76+
#, fuzzy
77+
#| msgid "Unable to delete because it is used in task!"
78+
msgid "Cannot delete status because it is referenced by existing tasks."
79+
msgstr "Невозможно удалить статус, потому что он используется"
80+
7581
#: task_manager/tasks/forms.py:9
7682
msgid "Task description"
7783
msgstr "Описание"
7884

79-
#: task_manager/tasks/views.py:30
85+
#: task_manager/tasks/views.py:32
8086
msgid "Task created successfully"
8187
msgstr "Задача успешно создана"
8288

83-
#: task_manager/tasks/views.py:48
89+
#: task_manager/tasks/views.py:52
8490
msgid "Task deleted successfully"
8591
msgstr "Задача успешно удалена"
8692

87-
#: task_manager/tasks/views.py:58
93+
#: task_manager/tasks/views.py:63
8894
msgid "Task updated successfully"
8995
msgstr "Задача успешно изменена"
9096

task_manager/statuses/views.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
from django.utils.translation import gettext_lazy as _
88

99
from .forms import CreateStatusForm
10+
from django.contrib import messages
1011

12+
from django.shortcuts import redirect
13+
from django.db.models import ProtectedError
1114

1215
class StatusView(ListView):
1316
model = Status
@@ -45,4 +48,23 @@ class DeleteStatusView(LoginRequiredMixin, SuccessMessageMixin, DeleteView):
4548
template_name = "statuses/delete.html"
4649
success_message = _("Status deleted successfully")
4750
login_url = reverse_lazy("login")
48-
redirect_field_name = None
51+
redirect_field_name = None
52+
53+
def post(self, request, *args, **kwargs):
54+
self.object = self.get_object()
55+
try:
56+
response = super().post(request, *args, **kwargs)
57+
messages.success(request, self.success_message)
58+
return response
59+
except ProtectedError:
60+
messages.error(request, _("Cannot delete status because it is referenced by existing tasks."))
61+
return redirect(self.success_url)
62+
63+
# class DeleteStatusView(LoginRequiredMixin, SuccessMessageMixin, DeleteView):
64+
# model = Status
65+
# success_url = reverse_lazy("statuses:status_list")
66+
# template_name = "statuses/delete.html"
67+
# success_message = _("Status deleted successfully")
68+
# login_url = reverse_lazy("login")
69+
# redirect_field_name = None
70+

task_manager/tasks/views.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99
from django.contrib.auth.mixins import LoginRequiredMixin
1010
from django.utils.translation import gettext_lazy as _
1111

12-
from django_filters.views import FilterView
1312

13+
from django.contrib import messages
14+
from django_filters.views import FilterView
15+
from django.shortcuts import redirect
1416
from .forms import CreateTaskForm
1517
from .models import Task
1618
from .filters import TaskFilter
@@ -41,6 +43,8 @@ class DetailTaskView(LoginRequiredMixin, DetailView):
4143
template_name = "tasks/detail.html"
4244

4345

46+
47+
4448
class DeleteTaskView(LoginRequiredMixin, SuccessMessageMixin, DeleteView):
4549
model = Task
4650
success_url = reverse_lazy("tasks:task_list")
@@ -50,6 +54,7 @@ class DeleteTaskView(LoginRequiredMixin, SuccessMessageMixin, DeleteView):
5054
redirect_field_name = None
5155

5256

57+
5358
class UpdateTaskView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
5459
model = Task
5560
success_url = reverse_lazy("tasks:task_list")

0 commit comments

Comments
 (0)