mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 18:05:03 +00:00
ae8af8de9c
- новый статус selected; в кандидатах только «⭐ Отобрать» (single+bulk) - /selected — отдельный список: вся обработка (классификация/переписывание/комментарий/публикация) - классификация только по кнопке (токены на кандидатов не тратятся) - рядом с оригиналом — поле «✍️ Мой пост» (rewritten_text всегда виден), туда ложится черновик «Переписать» - все обработчики учитывают src (candidates|selected) для редиректов
31 lines
3.0 KiB
Markdown
31 lines
3.0 KiB
Markdown
# selected-list
|
||
|
||
## Design
|
||
|
||
### БД
|
||
|
||
- Статус `selected` — новое значение `posts.status`, миграция не нужна (status — TEXT без CHECK).
|
||
- Колонка `is_read` уже есть. Новых колонок нет.
|
||
|
||
### Маршруты веб (`web/app.py`)
|
||
|
||
- `GET /candidates` — без изменений (кандидаты = new). Из шаблона убираем approve/comment/reject/reclassify/rewrite кнопки, добавляем «⭐ Отобрать».
|
||
- `POST /candidates/select` — теперь «отобрать»: `UPDATE posts SET status='selected' WHERE id=? AND is_own=0 AND status='new'`. Удалить из старого черновика прежний смысл (выбор поста для просмотра) — он больше для «выбора карточки» не нужен (клик по карточке — GET ссылка, выборка кнопкой «Отобрать»).
|
||
- `GET /selected` — главный новый: список отобранных (status=selected, is_own=0), двухпанельный как /candidates, но с полным функционалом. Копия логики /candidates с параметром status='selected'.
|
||
- `POST /selected/select` — выбор карточки в отобранных (аналог старого candidates/select, но GET-переход по ссылке, form не нужна).
|
||
- `POST /posts/{id}/reject` — уже есть, редиректит на /candidates; добавить `back` с параметром (чтобы из selected вести обратно в selected).
|
||
- `impl_approve` — уже публикует rewritten_text если он есть; ok.
|
||
- Bulk в selected: action=select (для кандидатов), approve/reject/process/reject-old — там же, где в candidates.
|
||
|
||
### Шаблоны
|
||
|
||
- `candidates.html` — правый блок: только статус/бейджи + «⭐ Отобрать» (single) + bulk. Убрать approve-form/comment/reclassify/rewrite/reject.
|
||
- `selected.html` — НОВЫЙ (клон candidates.html) с полным функционалом + поле `rewritten_text` ВСЕГДА рядом с оригиналом + кнопки.
|
||
- `base.html` — навбар: ссылка «Отобранные» (со счётчиком) между «Кандидаты» и «Опубликовано».
|
||
|
||
### Открытые решения
|
||
|
||
- GET /candidates рендерит и левую панель; в кандидатах больше нет «выбора для просмотра» —
|
||
клик по карточке открывает пост (selected) — оставим клик по ссылке на правосторонний
|
||
просмотр (тот же механизм `?selected=`), но сам статус «отобрать» — отдельной кнопкой.
|
||
- В /selected — «🚫 Отклонить» отобранного → status=rejected, редирект на /selected. |