← К списку версий
v0.25.0
06.08.2026
PATCH
Синхронизация производства и уведомления клиентов
Синхронизация с task-платформой: производство и шаги (Задание 83)
- Нормализация экспорта: внешний экспорт `/api/export/full` отдаёт русскоязычные ключи (`ид_задачи`, `название`, `шаги` и т.д.). Добавлен `TaskExportNormalizer`, который приводит данные к единому формату — импорт снова работает корректно.
- Импорт шагов: задачи теперь привозят шаги (`steps`) с признаком выполнения. Прогресс задачи и проекта считается по шагам и отображается клиенту («что сделано»).
- Дедлайны и статусы: синхронизируются `дедлайн`, описание и статусы задач/проектов (активная → активна, в_работе → в работе, выполнена → выполнена и т.д.).
- Только производство: по умолчанию синхронизируются только проекты и задачи направления «Производство» (направление 11) — у них заполнено поле «проект». Переключатель на странице синхронизации.
- Аналитика синхронизации: после выполнения показывается, что добавлено и что изменено (по сущностям и по полям «было → стало»), в том числе по шагам.
- Видимость клиенту: производственные задачи автоматически помечаются видимыми клиенту — клиент видит стадию производства, шаги, сроки и время обновления.
Уведомления клиентам о смене статусов (Задание 83)
- При синхронизации отслеживаются изменения: добавлена задача, задача выполнена, изменён статус, выполнен шаг.
- Клиенту создаются уведомления в кабинете (ClientNotification) и отправляется письмо на почту (TaskUpdateMail, журналируется в MailLog).
Задачи для клиента (обязательства клиента) (Задание 83)
- Новая сущность **«Задачи для клиента»** (`client_tasks`): администратор создаёт задачи, которые должен выполнить клиент (прислать материалы, подписать договор, предоставить доступ и т.п.) — название, описание, срок, приоритет и внутренняя заметка.
- Внутренняя заметка (`admin_note`) видна только администратору — клиент её не видит (рабочие заметки о клиенте остаются закрытыми).
- Админ-интерфейс: на странице проекта (`/admin/projects/{id}`) — раздел «Задачи для клиента»: создание, редактирование, отметка «выполнено/вернуть в работу», удаление.
- Клиентский кабинет: на странице проекта — раздел «Задачи для вас»: срок, описание, пометка «просрочено», кнопка «Отметить выполненной». Выполнение клиентом фиксируется в журнале.
- Уведомления: при создании/изменении задачи для клиента (если администратор отметил «уведомить») клиентам проекта создаётся уведомление в кабинете (ClientNotification) и отправляется письмо (ClientTaskMail, журналируется в MailLog).
- `APP_VERSION` изменён: `0.24.5` → `0.25.0` (`.env`, `.env.example`).