mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
562d787f1b
- reject/reject-old (single + bulk): редирект на /candidates с текущей группировкой вместо /candidates?status=rejected — не прерываем отбор. Отклонённые доступны через фильтр статуса. - candidates.html: Обработать/Переписать/Отклонить — один ряд над полем комментария (после переноса Опубликовать в approve-форму кнопки съехали). changes: candidates-buttons-order, reject-stay-candidates (skip_specs, валидны).
1.8 KiB
1.8 KiB
Design
Файл: /opt/vesti/web/app.py.
1. reject() — строка 582
Сейчас:
return RedirectResponse(url=_cand_back(group_by, direction, own, q, status="rejected"), status_code=302)
Стало:
return RedirectResponse(url=_cand_back(group_by, direction, own, q), status_code=302)
_cand_back без status строит /candidates с сохранением
group_by/direction/own/q — очереди кандидатов (status=new по умолчанию).
2. candidates_bulk() — строки 345, 358
Сейчас:
if action == "reject":
...
return RedirectResponse(url=back + "&status=rejected", status_code=302)
...
if action == "reject-old":
...
return RedirectResponse(url=back + "&status=rejected", status_code=302)
Стало: редирект на back (уже содержит group_by + фильтры), без
&status=rejected.
if action == "reject":
...
return RedirectResponse(url=back, status_code=302)
...
if action == "reject-old":
...
return RedirectResponse(url=back, status_code=302)
Верификация
openspec validate reject-stay-candidates— чисто.- Юнит (TestClient): login → POST
/posts/{id}/rejectсgroup_by=date→ ожидаемLocation: /candidates?group_by=date(БЕЗstatus=rejected). - Перезапуск:
sudo systemctl restart vesti-web. - Ручная проверка: отклонить пост из правой панели → остаёмся на «Кандидатах» в той же группировке, пост пропал из списка; список отклонённых доступен через фильтр «🗑 Отклонённые».