О платформе Войти
← К списку версий
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()` для динамических форм
Результат
  • У каждого проекта появились инструкции для клиента (текст, ссылки, видео)
  • Видно на чьей стороне «мяч» — у нас или у клиента
  • Хронология проекта с событиями видна клиенту