fix(zopk): Newsy auto_approved teraz widoczne na stronie publicznej

BUG: Strona publiczna pokazywała tylko status='approved',
     ale AI ustawia status='auto_approved' dla newsów 3+★.

Wynik: Newsy zatwierdzone przez AI NIE pojawiały się publicznie!

Naprawione miejsca:
- /zopk (strona główna ZOPK)
- /zopk/projekt/<slug> (szczegóły projektu)
- /zopk/aktualnosci (lista newsów)

Teraz wszystkie 3 miejsca pokazują obie wartości:
status IN ('approved', 'auto_approved')

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-01-15 05:50:35 +01:00
parent 3beacd8806
commit 489f04d04d

12
app.py
View File

@ -10000,9 +10000,9 @@ def zopk_index():
ZOPKStakeholder.is_active == True
).order_by(ZOPKStakeholder.importance.desc(), ZOPKStakeholder.name).limit(10).all()
# Get approved news
# Get approved news (both manually approved and AI auto-approved)
news_items = db.query(ZOPKNews).filter(
ZOPKNews.status == 'approved'
ZOPKNews.status.in_(['approved', 'auto_approved'])
).order_by(ZOPKNews.published_at.desc()).limit(10).all()
# Get featured resources
@ -10013,7 +10013,7 @@ def zopk_index():
# Stats
stats = {
'total_projects': len(projects),
'total_news': db.query(ZOPKNews).filter(ZOPKNews.status == 'approved').count(),
'total_news': db.query(ZOPKNews).filter(ZOPKNews.status.in_(['approved', 'auto_approved'])).count(),
'total_resources': db.query(ZOPKResource).filter(ZOPKResource.status == 'approved').count(),
'total_stakeholders': db.query(ZOPKStakeholder).filter(ZOPKStakeholder.is_active == True).count()
}
@ -10042,10 +10042,10 @@ def zopk_project_detail(slug):
if not project:
abort(404)
# Get news for this project
# Get news for this project (both manually approved and AI auto-approved)
news_items = db.query(ZOPKNews).filter(
ZOPKNews.project_id == project.id,
ZOPKNews.status == 'approved'
ZOPKNews.status.in_(['approved', 'auto_approved'])
).order_by(ZOPKNews.published_at.desc()).limit(10).all()
# Get resources for this project
@ -10082,7 +10082,7 @@ def zopk_news_list():
per_page = 20
project_slug = request.args.get('projekt')
query = db.query(ZOPKNews).filter(ZOPKNews.status == 'approved')
query = db.query(ZOPKNews).filter(ZOPKNews.status.in_(['approved', 'auto_approved']))
if project_slug:
project = db.query(ZOPKProject).filter(ZOPKProject.slug == project_slug).first()