Law/context/12_iteration_checkpoint_2026-02-24.md
2026-02-25 18:18:05 +03:00

4.7 KiB
Raw Blame History

Чекпоинт Контекста (24 февраля 2026)

Цель документа

Зафиксировать фактический стейт после реализации блока P28-P32 и подготовить остаток очереди P33-P37.

Подтвержденный текущий стейт

  • Добавлена обязательная сущность клиента: новая таблица clients и миграция 0015_clients_table_links.
  • В requests и invoices добавлены ссылки client_id + серверная логика автопривязки клиента по телефону.
  • В public API добавлены:
    • GET /api/public/requests/topics (темы для формы заявки),
    • GET /api/public/requests/my (список заявок авторизованного клиента),
    • phone-based VIEW OTP (/api/public/otp/send|verify с client_phone).
  • Доступ к заявке в public-контуре поддерживает оба сценария:
    • legacy по track_number,
    • новый по client_phone с переключением между заявками.
  • Лендинг обновлен:
    • форма создания заявки остается модальной,
    • блок и поле рекомендаций удалены,
    • выбор темы возвращен в форму,
    • добавлена OTP-модалка входа на клиентскую страницу.
  • Реализована отдельная страница клиента client.html (статус, чат, файлы, счета, таймлайн, переключение между заявками).
  • Реализован предпросмотр вложений (pdf/jpg/mp4) в клиентском кабинете и в рабочей вкладке заявки юриста/админа.
  • Legacy-модалка заявки в админке удалена: работа по заявке ведется через отдельную вкладку /admin.html?view=request&requestId=... с breadcrumb-навигацией.
  • Зафиксирован Docker-образ для UI E2E: law-e2e-playwright:1.58.2 (service e2e в docker-compose), чтобы не скачивать Playwright/браузеры на каждом прогоне.
  • Цитаты перенесены в ненавязчивый формат в блок «Первая консультация» (hero panel).
  • Удалена кнопка «Админ-панель» с лендинга; вход в админку выполняется через маршрут /admin -> /admin.html.
  • Добавлен bootstrap-login администратора (admin@example.com / admin123) с автосозданием пользователя при первом входе.

Проверка реализации P28-P32

  1. Справочники и таблица клиентов:
    • Таблица clients добавлена миграцией.
    • admin/crud/meta/tables теперь включает clients.
  2. Модалка заявки:
    • Поле рекомендации удалено.
    • Добавлен выбор темы обращения.
  3. Отдельная страница клиента:
    • Кабинет вынесен в client.html + client.js + client.css.
  4. OTP вход по телефону и переход на страницу:
    • На лендинге добавлена модалка phone+OTP.
    • При валидной сессии переход выполняется напрямую.
  5. Переключение между заявками:
    • На client.html реализован селектор заявок по endpoint /api/public/requests/my.

Привязка к следующей итерации

  • P33 — выполнен: чат вынесен в отдельный сервисный слой и отдельные API-контуры (/api/public/chat, /api/admin/chat).
  • P34 — выполнен: цитаты перенесены в ненавязчивый вид в блок «Первая консультация».
  • P35 — выполнен: добавлен UI preview + backend тест test_public_attachment_object_preview_returns_inline_response.
  • P36 — выполнен: удалена админ-кнопка с лендинга, добавлен e2e smoke admin_entry_flow, редирект /admin валидирован.
  • P37 — выполнен: единый стандарт админ-кредов, реализован bootstrap-login и автотесты tests/test_admin_auth.py.