О платформе Войти
← К списку версий
v0.28.6 18.08.2026 MINOR
Дайджест статуса проектов и уведомления клиентам
Автоматическая рассылка дайджестов клиентам
  • Зачем: клиенты не в курсе текущего статуса проекта — что сделано разработчиком, что ожидается от клиента (документы, подписи, ответы). Нужна автоматическая система, которая показывает прогресс «как диаграмма Ганта» и напоминает о просроченных задачах.
  • Новая модель email: `ProjectStatusMail` (`app/Mail/ProjectStatusMail.php`) — дайджест статуса проекта с прогресс-баром, списками задач (выполнено / в работе / ожидаем от клиента / просрочено), этапами проекта.
  • Email-шаблон: `resources/views/emails/project-status.blade.php` — HTML-письмо с цветовыми секциями: зелёный (выполнено), синий (в работе), жёлтый (ожидаем от клиента), красный (просрочено).
  • Сервис: `ProjectStatusNotificationService` (`app/Services/ProjectStatusNotificationService.php`) — вычисляет статус проекта (группировка задач), отправляет дайджест клиенту + копию служебному адресу администратора (адрес из окружения), создаёт in-app уведомление.
  • Artisan-команда: `project:status-notify` — отправляет дайджесты по всем активным проектам.
  • Расписание: пн/ср/пт в 8:30 (Europe/Minsk) — полный дайджест; ежедневно в 9:00 — напоминания по просроченным задачам клиента.
  • Напоминания по просроченным задачам: `ClientTaskNotificationService::remind()` — ранее реализованный метод, который нигде не вызывался. Теперь подключён в расписании (ежедневно 9:00).
  • Лог почты: `TYPE_PROJECT_STATUS = 'project_status'` в `MailLog` (дайджест статуса проекта).
  • Тип уведомления: `project_status` в `ClientNotification` — in-app уведомления с иконкой `clipboard`.
Синхронизация и актуализация проекта 40 (Бобер Боб)
  • Запущена синхронизация с `task.ipd.test/project/15` — данные обновлены (прогресс 50% → 84%, новая задача «Ответ от Егора по поводу теста»).
  • Заполнены milestones: старт 17.07.2026, подготовка 17.07–05.08, производство с 05.08 (в работе).
  • Добавлено описание проекта.
  • `APP_VERSION` изменён: `0.28.5` → `0.28.6` (`.env`).
Автотесты
  • `tests/Feature/ProjectStatusNotifyTest.php` (9 тестов, 31 assertion): группировка задач по статусам; отправка дайджеста с MailLog記錄; in-app уведомление с правильным заголовком; обработка только активных проектов; dry-run; overdue-only; тип лога; исключение done/awaiting_confirmation задач из pending; проверка milestones.
Результат
  • Клиент получает дайджест статуса проекта по email пн/ср/пт
  • Напоминания о просроченных задачах ежедневно