mirror of
https://github.com/TronoSfera/Law.git
synced 2026-05-18 18:13:46 +03:00
49 lines
4.7 KiB
Markdown
49 lines
4.7 KiB
Markdown
# Чекпоинт Контекста (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`.
|