О платформе Войти
← К списку версий
v0.28.5 12.08.2026 PATCH
Этапы и даты проекта
Даты старта и этапов вместо «даты создания записи»
  • Зачем: на гостевой странице проекта «Каменецкое благочиние» показывалось «Проект ведётся с **24.07.2026**» — это `created_at` (когда запись завели в системе), а не реальная дата старта работ (январь). Клиент не понимал, откуда эта дата. Теперь по проекту можно задать реальные даты: старт, три этапа и срок службы — они показываются клиенту как наглядный график.
  • Новое поле `projects.milestones` (миграция `2026_08_12_150000_add_milestones_to_projects_table.php`): JSON `{start_date, stages{preparation|production|support}, lifespan_years, note}`.
  • Три этапа (названия и пояснения заданы в модели, `Project::MILESTONE_STAGES`):
  • Админка (`/admin/projects/{id}/edit`): вкладка **«Этапы проекта»** — дата старта проекта, у каждого этапа даты «с» и «по» + пояснение для клиента, срок службы платформы в годах (по умолчанию 10) и общее примечание по срокам.
  • График этапов (общий партиал `resources/views/partials/project-milestones.blade.php`): горизонтальная диаграмма-линия с сегментами этапов (пропорционально длительности, от старта до конца сопровождения), подпись «Завершение сопровождения: дата», легенда этапов с датами и пояснениями, примечание о сроке службы (~10 лет).
  • Показ клиенту: гостовая страница по токену (секция «Этапы проекта») и личный кабинет. Вместо «Проект ведётся с {created_at}» при заполненных датах показывается «Проект стартовал {дата}»; для проектов без дат — прежняя логика (ничего не ломается).
  • Страница проекта в админке: блок «Этапы проекта (даты)» с графиком и ссылкой на редактирование.
  • Экспорт/импорт JSON: `milestones` включены в выгрузку и загрузку проекта (для ИИ и переноса данных).
  • Данные проекта «Каменецкое благочиние» (id 37): проставлены реальные даты — старт 15.01.2026, этапы аналитика/производство/поддержка, срок службы 10 лет.
  • `APP_VERSION` изменён: `0.28.4` → `0.28.5` (`.env`, `.env.example`).
Автотесты
  • `tests/Feature/ProjectMilestonesFeatureTest.php` (8 тестов): сохранение этапов из формы редактирования; пустые этапы отбрасываются и срок службы по умолчанию 10 лет; блок этапов на странице проекта в админке; кабинет клиента показывает «Старт проекта» и график; гостовая страница показывает «Проект стартовал» вместо «Проект ведётся с»; fallback на `created_at` для проектов без дат; экспорт включает `milestones`; вкладка «Этапы проекта» в форме редактирования.
Результат
  • Проект показывает реальные даты: старт, этапы, окончание сопровождения
  • График этапов наглядно — клиент видит, на каком этапе находится