← К списку версий
v0.39.0
21.08.2026
PATCH
Инструкции, Follow-up, Календарь/События по проектам
Что сделано
- Новый JSON-блок `instructions` в проекте — список инструкций (текст, ссылки, видео)
- Каждая инструкция: заголовок, тип (текст/ссылка/видео), URL, описание, флаг «видно клиенту»
- Секция «Инструкции для клиента» на странице проекта — просмотр, добавление, редактирование
- Отдельная вкладка «Инструкции» в редактировании проекта с динамическим добавлением записей
- Валидация и очистка при сохранении (метод `cleanInstructions`)
- Новые поля проекта: `ball_status` (admin/client/none), `ball_since`, `ball_note`
- Виджет на странице проекта — индикатор текущего статуса (цветной badge + дата + заметка)
- Кнопки быстрого переключения: «У нас» / «У клиента» / «Нет»
- Отдельный метод `updateBall` в контроллере с логированием
- Новая таблица `project_events` — события проекта (старт, оплата, коммуникация, задача, встреча, пауза и др.)
- Модель `ProjectEvent` с 10 типами событий (цвет + иконка)
- CRUD для событий через `AdminProjectEventController` (store/update/destroy)
- Вертикальный таймлайн на странице проекта — цветные точки по датам
- Форма добавления события с выбором типа и описанием
- Добавлены статусы `waiting_client` (Ожидаем клиента) и `waiting_admin` (Ожидаем админа)
- Выбор новых статусов в редактировании проекта
- Цветовые бейджи в списке проектов и на странице проекта (жёлтый / красный)
- Миграции: `add_instructions_and_ball_to_projects_table`, `create_project_events_table`
- Модель `ProjectEvent` с типами, accessors, relationships
- Обновлена модель `Project`: fillable, casts, relationships, accessors
- Новые маршруты: `admin.projects.events.*`, `admin.projects.ball.update`, `admin.projects.instructions.update`
- Eager loading events в `AdminProjectController::show`
- JavaScript-функции `addInstruction()` / `addEditInstruction()` для динамических форм
Результат
- У каждого проекта появились инструкции для клиента (текст, ссылки, видео)
- Видно на чьей стороне «мяч» — у нас или у клиента
- Хронология проекта с событиями видна клиенту