mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 18:05:03 +00:00
8592a82381
Форма добавления не имела поля channel, валидатор требует его для crawler=telegram → 'telegram-источнику нужен channel'. Добавлено поле в add-форму (required для telegram через JS), показ channel в таблице у telegram-источников. Backend не менялся. web/templates/sources.html ранее отсутствовал в git — добавлен.
2.0 KiB
2.0 KiB
fix-sources-add-channel
Добавление telegram-источника из веб-модерации падало с ошибкой «telegram-источнику нужен channel», хотя пользователь заполнял slug и название.
Why
В форме добавления источника (web/templates/sources.html) поле channel
отсутствовало. _form_source() в web/app.py читает channel из формы,
_validate_source() в sources/sources.py:218 требует его для crawler=telegram
— поэтому любой telegram-источник, добавленный через веб, отклонялся,
а rss-источник — нет (feed_url в форме есть).
What Changes
- web/templates/sources.html (форма добавления): добавлено поле
channelс подсказкой «@handle или t.me/... для telegram»; дляcrawler=telegramстановитсяrequired(маленький inline-скрипт переключает). - web/templates/sources.html (таблица): у telegram-источников под crawler
показывается
channel(аналогично feed_url у rss), чтобы было видно, какой канал привязан.
Why Not
- Не трогаем backend:
_form_source,_validate_source,add_or_update_sourceуже корректно работают с полемchannel— не хватало только UI. - Не делаем авто-подстановку channel из url — разные форматы (@handle, t.me/name, https://t.me/s/name), подстановка ненадёжна.
Impact
- Telegram-источники снова можно добавлять из веб-модерации.
- В таблице виден привязанный канал — легче отлаживать нерабочие источники.
- Никаких изменений БД и БД-миграций — только шаблон.