diff --git a/apps/tasks/migrations/0005_alter_task_priority_alter_task_status.py b/apps/tasks/migrations/0005_alter_task_priority_alter_task_status.py new file mode 100644 index 0000000..357d147 --- /dev/null +++ b/apps/tasks/migrations/0005_alter_task_priority_alter_task_status.py @@ -0,0 +1,23 @@ +# Generated by Django 6.0.3 on 2026-07-25 11:54 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tasks', '0004_taskchecklistitem'), + ] + + operations = [ + migrations.AlterField( + model_name='task', + name='priority', + field=models.CharField(choices=[('low', 'Низкий'), ('medium', 'Средний'), ('high', 'Высокий')], db_index=True, default='medium', max_length=10, verbose_name='Пріоритет'), + ), + migrations.AlterField( + model_name='task', + name='status', + field=models.CharField(choices=[('pending', 'Ожидает'), ('in_progress', 'В работе'), ('done', 'Выполнено'), ('cancelled', 'Отменено')], db_index=True, default='pending', max_length=20, verbose_name='Статус'), + ), + ] diff --git a/apps/tasks/models.py b/apps/tasks/models.py index 996471b..4546565 100644 --- a/apps/tasks/models.py +++ b/apps/tasks/models.py @@ -21,16 +21,16 @@ class TaskQuerySet(models.QuerySet): class Task(BaseModel): STATUS_CHOICES = [ - ('pending', _('Очікує')), - ('in_progress', _('В роботі')), - ('done', _('Виконано')), - ('cancelled', _('Скасовано')), + ('pending', _('Ожидает')), + ('in_progress', _('В работе')), + ('done', _('Выполнено')), + ('cancelled', _('Отменено')), ] PRIORITY_CHOICES = [ - ('low', _('Низький')), - ('medium', _('Середній')), - ('high', _('Високий')), + ('low', _('Низкий')), + ('medium', _('Средний')), + ('high', _('Высокий')), ] PRIORITY_BADGES = {'low': 'badge-muted', 'medium': 'badge-warning', 'high': 'badge-danger'} diff --git a/apps/tasks/views.py b/apps/tasks/views.py index e4a9c72..0fc5b8a 100644 --- a/apps/tasks/views.py +++ b/apps/tasks/views.py @@ -4,6 +4,7 @@ from django.db.models import Count, Prefetch, Q from django.http import Http404 from django.shortcuts import get_object_or_404, redirect from django.views.decorators.http import require_POST +from django.utils.translation import gettext_lazy as _ from apps.tasks.models import Task, TaskComment from core.models.directories import Directory @@ -207,9 +208,9 @@ def task_detail_view(request, pk): 'can_edit': can_edit_task(request.user, task), 'can_delete': can_delete_task(request.user, task), 'role_groups': [ - ('Відповідальний', list(task.responsible.all())), - ('Співвиконавці', list(task.co_executors.all())), - ('Спостерігачі', list(task.observers.all())), + (_('Ответственный'), list(task.responsible.all())), + (_('Соисполнители'), list(task.co_executors.all())), + (_('Наблюдатели'), list(task.observers.all())), ], } return render_page(request, 'task-detail.html', context) diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index dee2c85..33d1d30 100644 Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 40766a5..b673afe 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-25 12:03+0300\n" +"POT-Creation-Date: 2026-07-25 14:54+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -323,7 +323,9 @@ msgstr "" msgid "Статус синхронизации Mattermost" msgstr "" -#: apps/employees/models/base.py:142 templates/pages/employee-detail.html:148 +#: apps/employees/models/base.py:142 apps/tasks/models.py:24 +#: templates/pages/employee-detail.html:148 templates/pages/task-detail.html:25 +#: templates/pages/tasks.html:64 templates/pages/tasks.html:116 msgid "Ожидает" msgstr "Pending" @@ -396,8 +398,9 @@ msgstr "" #: apps/employees/models/permissions.py:16 apps/it_manager/admin.py:611 #: core/models/directories.py:28 core/models/directories.py:120 +#: templates/pages/task-detail.html:62 msgid "Описание" -msgstr "" +msgstr "Description" #: apps/employees/models/permissions.py:17 apps/locations/models/base.py:59 msgid "Активна" @@ -515,8 +518,9 @@ msgid "" msgstr "" #: apps/feed/models.py:61 apps/feed/models.py:100 apps/tasks/models.py:126 +#: templates/pages/task-detail.html:200 msgid "Автор" -msgstr "" +msgstr "Author" #: apps/feed/models.py:65 apps/feed/models.py:96 msgid "Пост" @@ -707,9 +711,9 @@ msgstr "" msgid "Заявка" msgstr "" -#: apps/it_manager/admin.py:298 +#: apps/it_manager/admin.py:298 templates/pages/task-detail.html:171 msgid "Участники" -msgstr "" +msgstr "Participants" #: apps/it_manager/admin.py:301 apps/it_manager/admin.py:614 #: apps/it_manager/admin.py:670 @@ -728,9 +732,9 @@ msgstr "" msgid "SLA" msgstr "" -#: apps/it_manager/admin.py:366 +#: apps/it_manager/admin.py:366 templates/pages/task-detail.html:143 msgid "Взять в работу" -msgstr "" +msgstr "Take in progress" #: apps/it_manager/admin.py:375 msgid "Отметить решёнными" @@ -925,9 +929,9 @@ msgstr "" msgid "Заполняется автоматически из полей выше" msgstr "" -#: apps/locations/models/base.py:60 +#: apps/locations/models/base.py:60 templates/pages/task-detail.html:98 msgid "Комментарии" -msgstr "" +msgstr "Comments" #: apps/locations/models/base.py:66 msgid "Локации" @@ -1140,33 +1144,33 @@ msgstr "" msgid "Журнал синхронизации Carbonio" msgstr "" -#: apps/tasks/models.py:24 -msgid "Очікує" -msgstr "" +#: apps/tasks/models.py:25 templates/pages/task-detail.html:21 +#: templates/pages/tasks.html:68 templates/pages/tasks.html:108 +msgid "В работе" +msgstr "In progress" -#: apps/tasks/models.py:25 -msgid "В роботі" -msgstr "" +#: apps/tasks/models.py:26 templates/pages/task-detail.html:19 +#: templates/pages/task-detail.html:209 templates/pages/tasks.html:72 +#: templates/pages/tasks.html:104 +msgid "Выполнено" +msgstr "Done" -#: apps/tasks/models.py:26 apps/tasks/models.py:147 -msgid "Виконано" -msgstr "" - -#: apps/tasks/models.py:27 -msgid "Скасовано" -msgstr "" +#: apps/tasks/models.py:27 templates/pages/task-detail.html:23 +#: templates/pages/tasks.html:112 +msgid "Отменено" +msgstr "Cancelled" #: apps/tasks/models.py:31 -msgid "Низький" -msgstr "" +msgid "Низкий" +msgstr "Low" #: apps/tasks/models.py:32 -msgid "Середній" -msgstr "" +msgid "Средний" +msgstr "Medium" #: apps/tasks/models.py:33 -msgid "Високий" -msgstr "" +msgid "Высокий" +msgstr "High" #: apps/tasks/models.py:38 msgid "Назва" @@ -1224,6 +1228,10 @@ msgstr "" msgid "Пункт" msgstr "" +#: apps/tasks/models.py:147 +msgid "Виконано" +msgstr "" + #: apps/tasks/models.py:151 msgid "Відмітив" msgstr "" @@ -1240,6 +1248,21 @@ msgstr "" msgid "Чек-лист задачі" msgstr "" +#: apps/tasks/views.py:211 templates/pages/task-edit.html:2 +#: templates/pages/tasks.html:35 +msgid "Ответственный" +msgstr "Responsible" + +#: apps/tasks/views.py:212 templates/pages/task-edit.html:2 +#: templates/pages/tasks.html:35 +msgid "Соисполнители" +msgstr "Co-executors" + +#: apps/tasks/views.py:213 templates/pages/task-edit.html:2 +#: templates/pages/tasks.html:35 +msgid "Наблюдатели" +msgstr "Observers" + #: apps/utilities/models.py:22 msgid "Тип лічильника" msgstr "" @@ -1618,7 +1641,7 @@ msgid "Новости" msgstr "News" #: templates/index.html:260 templates/index.html:660 -#: templates/pages/dashboard.html:145 +#: templates/pages/dashboard.html:145 templates/pages/task-detail.html:10 msgid "Задачи" msgstr "Tasks" @@ -1750,7 +1773,7 @@ msgstr "Today" msgid "г." msgstr "y." -#: templates/pages/dashboard.html:10 +#: templates/pages/dashboard.html:10 templates/pages/tasks.html:7 msgid "Мои задачи" msgstr "My tasks" @@ -1822,7 +1845,8 @@ msgstr "Useful links and tools" msgid "Справочник" msgstr "Directory" -#: templates/pages/employee-detail.html:21 +#: templates/pages/employee-detail.html:21 templates/pages/task-detail.html:41 +#: templates/pages/tasks.html:127 msgid "Редактировать" msgstr "Edit" @@ -1900,7 +1924,7 @@ msgstr "Add employee" msgid "сотрудников, из них" msgstr "employees, of them" -#: templates/pages/employees.html:48 +#: templates/pages/employees.html:48 templates/pages/tasks.html:60 msgid "Все" msgstr "All" @@ -1923,3 +1947,107 @@ msgstr "Start date" #: templates/pages/employees.html:157 msgid "Список сотрудников пуст." msgstr "Employee list is empty." + +#: templates/pages/task-detail.html:30 +msgid "срок:" +msgstr "due:" + +#: templates/pages/task-detail.html:30 +msgid "просрочено" +msgstr "overdue" + +#: templates/pages/task-detail.html:46 templates/pages/tasks.html:133 +msgid "Удалить задачу" +msgstr "Delete task" + +#: templates/pages/task-detail.html:48 templates/pages/tasks.html:135 +msgid "Удалить" +msgstr "Delete" + +#: templates/pages/task-detail.html:66 +msgid "Описание не добавлено" +msgstr "No description" + +#: templates/pages/task-detail.html:74 +msgid "Чек-лист" +msgstr "Checklist" + +#: templates/pages/task-detail.html:116 +msgid "Комментариев пока нет" +msgstr "No comments yet" + +#: templates/pages/task-detail.html:125 +msgid "Написать комментарий..." +msgstr "Write a comment..." + +#: templates/pages/task-detail.html:127 +msgid "Отправить" +msgstr "Send" + +#: templates/pages/task-detail.html:138 +msgid "Действия" +msgstr "Actions" + +#: templates/pages/task-detail.html:156 +msgid "Вернуть в работу" +msgstr "Return to progress" + +#: templates/pages/task-detail.html:163 +msgid "Отменить задачу" +msgstr "Cancel task" + +#: templates/pages/task-detail.html:192 +msgid "Не назначено" +msgstr "Not assigned" + +#: templates/pages/task-detail.html:204 +msgid "Создано" +msgstr "Created" + +#: templates/pages/task-edit.html:2 templates/pages/tasks.html:35 +msgid "+ Добавить ответственного" +msgstr "+ Add responsible" + +#: templates/pages/task-edit.html:2 templates/pages/tasks.html:35 +msgid "+ Добавить соисполнителя" +msgstr "+ Add co-executor" + +#: templates/pages/task-edit.html:2 templates/pages/tasks.html:35 +msgid "+ Добавить наблюдателя" +msgstr "+ Add observer" + +#: templates/pages/task-edit.html:15 +msgid "Редактирование задачи" +msgstr "Edit task" + +#: templates/pages/task-edit.html:29 templates/pages/tasks.html:31 +msgid "Название задачи" +msgstr "Task title" + +#: templates/pages/task-edit.html:30 templates/pages/tasks.html:32 +msgid "Описание задачи (необязательно)..." +msgstr "Task description (optional)..." + +#: templates/pages/task-edit.html:46 +msgid "Сохранить изменения" +msgstr "Save changes" + +#: templates/pages/tasks.html:8 +msgid "Задачи, созданные вами или назначенные вам" +msgstr "Tasks created by or assigned to you" + +#: templates/pages/tasks.html:26 +msgid "Новая задача" +msgstr "New task" + +#: templates/pages/tasks.html:49 +msgid "Создать задачу" +msgstr "Create task" + +#: templates/pages/tasks.html:144 +msgid "Задач с таким статусом нет" +msgstr "No tasks with this status" + +#: templates/pages/tasks.html:144 +msgid "Задач пока нет — создайте первую" +msgstr "No tasks yet — create the first" diff --git a/locale/uk/LC_MESSAGES/django.mo b/locale/uk/LC_MESSAGES/django.mo index 4eea938..ca1a455 100644 Binary files a/locale/uk/LC_MESSAGES/django.mo and b/locale/uk/LC_MESSAGES/django.mo differ diff --git a/locale/uk/LC_MESSAGES/django.po b/locale/uk/LC_MESSAGES/django.po index 8381e26..ea1e063 100644 --- a/locale/uk/LC_MESSAGES/django.po +++ b/locale/uk/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-25 12:03+0300\n" +"POT-Creation-Date: 2026-07-25 14:54+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -326,7 +326,9 @@ msgstr "" msgid "Статус синхронизации Mattermost" msgstr "" -#: apps/employees/models/base.py:142 templates/pages/employee-detail.html:148 +#: apps/employees/models/base.py:142 apps/tasks/models.py:24 +#: templates/pages/employee-detail.html:148 templates/pages/task-detail.html:25 +#: templates/pages/tasks.html:64 templates/pages/tasks.html:116 msgid "Ожидает" msgstr "Очікує" @@ -399,8 +401,9 @@ msgstr "" #: apps/employees/models/permissions.py:16 apps/it_manager/admin.py:611 #: core/models/directories.py:28 core/models/directories.py:120 +#: templates/pages/task-detail.html:62 msgid "Описание" -msgstr "" +msgstr "Опис" #: apps/employees/models/permissions.py:17 apps/locations/models/base.py:59 msgid "Активна" @@ -518,8 +521,9 @@ msgid "" msgstr "" #: apps/feed/models.py:61 apps/feed/models.py:100 apps/tasks/models.py:126 +#: templates/pages/task-detail.html:200 msgid "Автор" -msgstr "" +msgstr "Автор" #: apps/feed/models.py:65 apps/feed/models.py:96 msgid "Пост" @@ -710,9 +714,9 @@ msgstr "" msgid "Заявка" msgstr "" -#: apps/it_manager/admin.py:298 +#: apps/it_manager/admin.py:298 templates/pages/task-detail.html:171 msgid "Участники" -msgstr "" +msgstr "Учасники" #: apps/it_manager/admin.py:301 apps/it_manager/admin.py:614 #: apps/it_manager/admin.py:670 @@ -731,9 +735,9 @@ msgstr "" msgid "SLA" msgstr "" -#: apps/it_manager/admin.py:366 +#: apps/it_manager/admin.py:366 templates/pages/task-detail.html:143 msgid "Взять в работу" -msgstr "" +msgstr "Взяти в роботу" #: apps/it_manager/admin.py:375 msgid "Отметить решёнными" @@ -928,9 +932,9 @@ msgstr "" msgid "Заполняется автоматически из полей выше" msgstr "" -#: apps/locations/models/base.py:60 +#: apps/locations/models/base.py:60 templates/pages/task-detail.html:98 msgid "Комментарии" -msgstr "" +msgstr "Коментарі" #: apps/locations/models/base.py:66 msgid "Локации" @@ -1143,33 +1147,33 @@ msgstr "" msgid "Журнал синхронизации Carbonio" msgstr "" -#: apps/tasks/models.py:24 -msgid "Очікує" -msgstr "" +#: apps/tasks/models.py:25 templates/pages/task-detail.html:21 +#: templates/pages/tasks.html:68 templates/pages/tasks.html:108 +msgid "В работе" +msgstr "В роботі" -#: apps/tasks/models.py:25 -msgid "В роботі" -msgstr "" +#: apps/tasks/models.py:26 templates/pages/task-detail.html:19 +#: templates/pages/task-detail.html:209 templates/pages/tasks.html:72 +#: templates/pages/tasks.html:104 +msgid "Выполнено" +msgstr "Виконано" -#: apps/tasks/models.py:26 apps/tasks/models.py:147 -msgid "Виконано" -msgstr "" - -#: apps/tasks/models.py:27 -msgid "Скасовано" -msgstr "" +#: apps/tasks/models.py:27 templates/pages/task-detail.html:23 +#: templates/pages/tasks.html:112 +msgid "Отменено" +msgstr "Скасовано" #: apps/tasks/models.py:31 -msgid "Низький" -msgstr "" +msgid "Низкий" +msgstr "Низький" #: apps/tasks/models.py:32 -msgid "Середній" -msgstr "" +msgid "Средний" +msgstr "Середній" #: apps/tasks/models.py:33 -msgid "Високий" -msgstr "" +msgid "Высокий" +msgstr "Високий" #: apps/tasks/models.py:38 msgid "Назва" @@ -1227,6 +1231,10 @@ msgstr "" msgid "Пункт" msgstr "" +#: apps/tasks/models.py:147 +msgid "Виконано" +msgstr "" + #: apps/tasks/models.py:151 msgid "Відмітив" msgstr "" @@ -1243,6 +1251,21 @@ msgstr "" msgid "Чек-лист задачі" msgstr "" +#: apps/tasks/views.py:211 templates/pages/task-edit.html:2 +#: templates/pages/tasks.html:35 +msgid "Ответственный" +msgstr "Відповідальний" + +#: apps/tasks/views.py:212 templates/pages/task-edit.html:2 +#: templates/pages/tasks.html:35 +msgid "Соисполнители" +msgstr "Співвиконавці" + +#: apps/tasks/views.py:213 templates/pages/task-edit.html:2 +#: templates/pages/tasks.html:35 +msgid "Наблюдатели" +msgstr "Спостерігачі" + #: apps/utilities/models.py:22 msgid "Тип лічильника" msgstr "" @@ -1621,7 +1644,7 @@ msgid "Новости" msgstr "Новини" #: templates/index.html:260 templates/index.html:660 -#: templates/pages/dashboard.html:145 +#: templates/pages/dashboard.html:145 templates/pages/task-detail.html:10 msgid "Задачи" msgstr "Задачі" @@ -1753,7 +1776,7 @@ msgstr "Сьогодні" msgid "г." msgstr "р." -#: templates/pages/dashboard.html:10 +#: templates/pages/dashboard.html:10 templates/pages/tasks.html:7 msgid "Мои задачи" msgstr "Мої задачі" @@ -1825,7 +1848,8 @@ msgstr "Корисні посилання та інструменти" msgid "Справочник" msgstr "Довідник" -#: templates/pages/employee-detail.html:21 +#: templates/pages/employee-detail.html:21 templates/pages/task-detail.html:41 +#: templates/pages/tasks.html:127 msgid "Редактировать" msgstr "Редагувати" @@ -1903,7 +1927,7 @@ msgstr "Додати співробітника" msgid "сотрудников, из них" msgstr "співробітників, з них" -#: templates/pages/employees.html:48 +#: templates/pages/employees.html:48 templates/pages/tasks.html:60 msgid "Все" msgstr "Всі" @@ -1926,3 +1950,107 @@ msgstr "Дата початку" #: templates/pages/employees.html:157 msgid "Список сотрудников пуст." msgstr "Список співробітників порожній." + +#: templates/pages/task-detail.html:30 +msgid "срок:" +msgstr "термін:" + +#: templates/pages/task-detail.html:30 +msgid "просрочено" +msgstr "прострочено" + +#: templates/pages/task-detail.html:46 templates/pages/tasks.html:133 +msgid "Удалить задачу" +msgstr "Видалити задачу" + +#: templates/pages/task-detail.html:48 templates/pages/tasks.html:135 +msgid "Удалить" +msgstr "Видалити" + +#: templates/pages/task-detail.html:66 +msgid "Описание не добавлено" +msgstr "Опис не додано" + +#: templates/pages/task-detail.html:74 +msgid "Чек-лист" +msgstr "Чек-лист" + +#: templates/pages/task-detail.html:116 +msgid "Комментариев пока нет" +msgstr "Коментарів поки немає" + +#: templates/pages/task-detail.html:125 +msgid "Написать комментарий..." +msgstr "Написати коментар..." + +#: templates/pages/task-detail.html:127 +msgid "Отправить" +msgstr "Надіслати" + +#: templates/pages/task-detail.html:138 +msgid "Действия" +msgstr "Дії" + +#: templates/pages/task-detail.html:156 +msgid "Вернуть в работу" +msgstr "Повернути в роботу" + +#: templates/pages/task-detail.html:163 +msgid "Отменить задачу" +msgstr "Скасувати задачу" + +#: templates/pages/task-detail.html:192 +msgid "Не назначено" +msgstr "Не призначено" + +#: templates/pages/task-detail.html:204 +msgid "Создано" +msgstr "Створено" + +#: templates/pages/task-edit.html:2 templates/pages/tasks.html:35 +msgid "+ Добавить ответственного" +msgstr "+ Додати відповідального" + +#: templates/pages/task-edit.html:2 templates/pages/tasks.html:35 +msgid "+ Добавить соисполнителя" +msgstr "+ Додати співвиконавця" + +#: templates/pages/task-edit.html:2 templates/pages/tasks.html:35 +msgid "+ Добавить наблюдателя" +msgstr "+ Додати спостерігача" + +#: templates/pages/task-edit.html:15 +msgid "Редактирование задачи" +msgstr "Редагування задачі" + +#: templates/pages/task-edit.html:29 templates/pages/tasks.html:31 +msgid "Название задачи" +msgstr "Назва задачі" + +#: templates/pages/task-edit.html:30 templates/pages/tasks.html:32 +msgid "Описание задачи (необязательно)..." +msgstr "Опис задачі (необов'язково)..." + +#: templates/pages/task-edit.html:46 +msgid "Сохранить изменения" +msgstr "Зберегти зміни" + +#: templates/pages/tasks.html:8 +msgid "Задачи, созданные вами или назначенные вам" +msgstr "Задачі, створені вами або призначені вам" + +#: templates/pages/tasks.html:26 +msgid "Новая задача" +msgstr "Нова задача" + +#: templates/pages/tasks.html:49 +msgid "Создать задачу" +msgstr "Створити задачу" + +#: templates/pages/tasks.html:144 +msgid "Задач с таким статусом нет" +msgstr "Задач з таким статусом немає" + +#: templates/pages/tasks.html:144 +msgid "Задач пока нет — создайте первую" +msgstr "Задач поки немає — створіть першу" diff --git a/templates/pages/task-detail.html b/templates/pages/task-detail.html index 6cc3138..a2c41d5 100644 --- a/templates/pages/task-detail.html +++ b/templates/pages/task-detail.html @@ -1,4 +1,5 @@ {% load common_tags %} +{% load i18n %} @@ -15,18 +16,18 @@
{% if task.status == 'done' %} - ✓ Виконано + ✓ {% trans "Выполнено" %} {% elif task.status == 'in_progress' %} - В роботі + {% trans "В работе" %} {% elif task.status == 'cancelled' %} - Скасовано + {% trans "Отменено" %} {% else %} - Очікує + {% trans "Ожидает" %} {% endif %} {{ task.get_priority_display }} {% if task.due_date %} - термін: {{ task.due_date|date:"d.m.Y" }}{% if task.is_overdue %} — прострочено{% endif %} + {% trans "срок:" %} {{ task.due_date|date:"d.m.Y" }}{% if task.is_overdue %} — {% trans "просрочено" %}{% endif %} {% endif %}
@@ -37,14 +38,14 @@ - Редагувати + {% trans "Редактировать" %} {% endif %} {% if can_delete %}
+ hx-confirm="{% trans 'Удалить задачу' %} «{{ task.title }}»?" style="margin:0;"> {% csrf_token %} - +
{% endif %}
@@ -58,11 +59,11 @@
-

Опис

+

{% trans "Описание" %}

{% if task.description %}
{{ task.description }}
{% else %} -
Опис не додано
+
{% trans "Описание не добавлено" %}
{% endif %}
@@ -70,7 +71,7 @@ {% if checklist %}
-

Чек-лист

+

{% trans "Чек-лист" %}

{{ task.checklist_done }}/{{ task.checklist_total }}
@@ -94,7 +95,7 @@
-

Коментарі

+

{% trans "Комментарии" %}

{{ comments|length }}
@@ -112,7 +113,7 @@
{% empty %} -
Коментарів поки немає
+
{% trans "Комментариев пока нет" %}
{% endfor %} @@ -121,9 +122,9 @@ {% csrf_token %}
{{ request.user|initials }}
- - +
@@ -134,12 +135,12 @@ {% if is_participant and task.status != 'cancelled' %}
-

Дії

+

{% trans "Действия" %}

{% if task.status == 'pending' %}
{% csrf_token %} - +
{% endif %} {% if task.status != 'done' %} @@ -152,14 +153,14 @@
{% csrf_token %} - +
{% endif %} {% if can_edit and task.status != 'done' %}
{% csrf_token %} - +
{% endif %}
@@ -167,7 +168,7 @@
-

Учасники

+

{% trans "Участники" %}

{% for role_label, role_people in role_groups %} {% if role_people %} @@ -188,7 +189,7 @@ {% endif %} {% endfor %} {% if not task.responsible.all and not task.co_executors.all and not task.observers.all %} -
Не призначено
+
{% trans "Не назначено" %}
{% endif %}
@@ -196,16 +197,16 @@
-
Автор
+
{% trans "Автор" %}
{{ task.creator.get_full_name|default:"—" }}
-
Створено
+
{% trans "Создано" %}
{{ task.created_at|date:"d.m.Y H:i" }}
{% if task.completed_at %}
-
Виконано
+
{% trans "Выполнено" %}
{{ task.completed_at|date:"d.m.Y H:i" }}
{% endif %} diff --git a/templates/pages/task-edit.html b/templates/pages/task-edit.html index 9be1936..5644fa7 100644 --- a/templates/pages/task-edit.html +++ b/templates/pages/task-edit.html @@ -1,3 +1,5 @@ +{% load i18n %} +{% trans 'Ответственный' as l_resp %}{% trans '+ Добавить ответственного' as p_resp %}{% trans 'Соисполнители' as l_co %}{% trans '+ Добавить соисполнителя' as p_co %}{% trans 'Наблюдатели' as l_obs %}{% trans '+ Добавить наблюдателя' as p_obs %}
@@ -10,7 +12,7 @@
-

Редагування задачі

+

{% trans "Редактирование задачи" %}

{{ department_tree|json_script:"department-tree-data" }} @@ -24,14 +26,14 @@
{% csrf_token %} - -
- {% include 'partials/people-picker-field.html' with label='Відповідальний' field_name='responsible' options=employee_options selected_ids=responsible_ids placeholder='+ Додати відповідального' %} - {% include 'partials/people-picker-field.html' with label='Співвиконавці' field_name='co_executors' options=employee_options selected_ids=co_executor_ids placeholder='+ Додати співвиконавця' %} - {% include 'partials/people-picker-field.html' with label='Спостерігачі' field_name='observers' options=employee_options selected_ids=observer_ids placeholder='+ Додати спостерігача' %} + {% include 'partials/people-picker-field.html' with label=l_resp field_name='responsible' options=employee_options selected_ids=responsible_ids placeholder=p_resp %} + {% include 'partials/people-picker-field.html' with label=l_co field_name='co_executors' options=employee_options selected_ids=co_executor_ids placeholder=p_co %} + {% include 'partials/people-picker-field.html' with label=l_obs field_name='observers' options=employee_options selected_ids=observer_ids placeholder=p_obs %}
@@ -41,7 +43,7 @@ {% endfor %} - +
diff --git a/templates/pages/tasks.html b/templates/pages/tasks.html index f892919..f22b741 100644 --- a/templates/pages/tasks.html +++ b/templates/pages/tasks.html @@ -1,10 +1,11 @@ +{% load i18n %}
-

Мої задачі

-

Задачі, створені вами або призначені вам

+

{% trans "Мои задачи" %}

+

{% trans "Задачи, созданные вами или назначенные вам" %}

@@ -22,19 +23,20 @@ - Нова задача + {% trans "Новая задача" %}
{% csrf_token %} - - -
- {% include 'partials/people-picker-field.html' with label='Відповідальний' field_name='responsible' options=employee_options selected_ids=preselect_responsible_ids placeholder='+ Додати відповідального' %} - {% include 'partials/people-picker-field.html' with label='Співвиконавці' field_name='co_executors' options=employee_options selected_ids=empty_ids placeholder='+ Додати співвиконавця' %} - {% include 'partials/people-picker-field.html' with label='Спостерігачі' field_name='observers' options=employee_options selected_ids=empty_ids placeholder='+ Додати спостерігача' %} + {% trans 'Ответственный' as l_resp %}{% trans '+ Добавить ответственного' as p_resp %}{% trans 'Соисполнители' as l_co %}{% trans '+ Добавить соисполнителя' as p_co %}{% trans 'Наблюдатели' as l_obs %}{% trans '+ Добавить наблюдателя' as p_obs %} +
+ {% include 'partials/people-picker-field.html' with label=l_resp field_name='responsible' options=employee_options selected_ids=preselect_responsible_ids placeholder=p_resp %} + {% include 'partials/people-picker-field.html' with label=l_co field_name='co_executors' options=employee_options selected_ids=empty_ids placeholder=p_co %} + {% include 'partials/people-picker-field.html' with label=l_obs field_name='observers' options=employee_options selected_ids=empty_ids placeholder=p_obs %}
@@ -44,7 +46,7 @@ {% endfor %} - +
@@ -55,19 +57,19 @@ {% with base="display:inline-flex; align-items:center; gap:0.375rem; padding:0.375rem 0.75rem; border-radius:calc(var(--radius) - 2px); font-size:0.8125rem; font-weight:500; text-decoration:none; cursor:pointer;" %} - Всі {{ counts.all }} + {% trans "Все" %} {{ counts.all }} - Очікує {{ counts.pending }} + {% trans "Ожидает" %} {{ counts.pending }} - В роботі {{ counts.in_progress }} + {% trans "В работе" %} {{ counts.in_progress }} - Виконано {{ counts.done }} + {% trans "Выполнено" %} {{ counts.done }} {% endwith %}
@@ -99,19 +101,19 @@
{% if task.status == 'done' %} - Виконано + {% trans "Выполнено" %} {% elif task.status == 'in_progress' %} - В роботі + {% trans "В работе" %} {% elif task.status == 'cancelled' %} - Скасовано + {% trans "Отменено" %} {% else %} - Очікує + {% trans "Ожидает" %} {% endif %} {% if task.due_date %} @@ -122,15 +124,15 @@ {{ task.get_priority_display }} {% if task.can_edit %} + class="btn btn-ghost btn-icon" title="{% trans 'Редактировать' %}" style="padding:0.25rem; color:var(--color-muted-foreground); margin-left:auto; cursor:pointer;"> {% endif %} {% if task.can_delete %}
+ hx-confirm="{% trans 'Удалить задачу' %} «{{ task.title }}»?" style="margin:0; display:flex;"> {% csrf_token %} -
@@ -139,7 +141,7 @@
{% empty %}
- {% if active_status %}Задач з таким статусом немає{% else %}Задач поки немає — створіть першу{% endif %} + {% if active_status %}{% trans "Задач с таким статусом нет" %}{% else %}{% trans "Задач пока нет — создайте первую" %}{% endif %}
{% endfor %}