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

49 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Чекпоинт Контекста (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`.