fix: api_save erstellt Artikel wenn keiner existiert, api_schedule findet auch approved-Artikel
This commit is contained in:
parent
2769b2e7c5
commit
075f3763a4
1 changed files with 7 additions and 3 deletions
|
|
@ -357,7 +357,7 @@ def api_save(date_str):
|
|||
return jsonify({'success': True, 'article_id': existing['id']})
|
||||
all_today = db.get_articles_by_date(date_str)
|
||||
draft = next((a for a in all_today if a['status'] == 'draft'), None)
|
||||
candidate = draft or next((a for a in all_today if a['status'] in ('pending_review', 'scheduled', 'sent_to_bot')), None)
|
||||
candidate = draft or next((a for a in all_today if a['status'] in ('pending_review', 'scheduled', 'sent_to_bot', 'approved')), None)
|
||||
if candidate:
|
||||
old_time = candidate['post_time']
|
||||
conn = db.get_conn()
|
||||
|
|
@ -367,7 +367,11 @@ def api_save(date_str):
|
|||
db.update_article_content(date_str, content, post_time=post_time)
|
||||
flog.article_saved(date_str, post_time)
|
||||
return jsonify({'success': True, 'article_id': candidate['id']})
|
||||
return jsonify({'success': False, 'error': 'Kein Artikel für diesen Tag vorhanden'})
|
||||
# Kein Artikel vorhanden → neu erstellen (z.B. manueller Eintrag für zukünftigen Tag)
|
||||
db.create_article(date_str, '', content, None, 'allgemein', post_time)
|
||||
new_article = db.get_article_by_date(date_str, post_time)
|
||||
flog.article_saved(date_str, post_time)
|
||||
return jsonify({'success': True, 'article_id': new_article['id'] if new_article else None})
|
||||
|
||||
|
||||
@app.route('/api/article/<date_str>/schedule', methods=['POST'])
|
||||
|
|
@ -381,7 +385,7 @@ def api_schedule(date_str):
|
|||
existing = db.get_article_by_date(date_str, post_time)
|
||||
if not existing:
|
||||
all_today = db.get_articles_by_date(date_str)
|
||||
candidate = next((a for a in all_today if a['status'] in ('draft', 'scheduled', 'sent_to_bot', 'pending_review')), None)
|
||||
candidate = next((a for a in all_today if a['status'] in ('draft', 'scheduled', 'sent_to_bot', 'pending_review', 'approved')), None)
|
||||
if not candidate:
|
||||
return jsonify({'success': False, 'error': 'Kein Artikel für diesen Tag gefunden'})
|
||||
old_time = candidate['post_time']
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue