From 40b28134fc8780f49da4503b002af07cf482f4d9 Mon Sep 17 00:00:00 2001 From: marwin Date: Sat, 3 May 2025 19:31:34 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20entferne=20nicht=20verwende?= =?UTF-8?q?te=20Forum-Funktionen=20aus=20app.py=20und=20aktualisiere=20die?= =?UTF-8?q?=20Basisvorlage=20f=C3=BCr=20die=20Suchfunktion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/app.cpython-313.pyc | Bin 86756 -> 81794 bytes __pycache__/models.cpython-313.pyc | Bin 27000 -> 27000 bytes app.py | 106 +++-------------------------- templates/base.html | 4 +- 4 files changed, 12 insertions(+), 98 deletions(-) diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc index 2114fd35f073e0f61d5e52fb094c56980be64931..b1146c1ffd754653abfcb9d73beb8d4811288694 100644 GIT binary patch delta 14461 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 delta 17859 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') -def forum_category(category_id): - """Zeigt alle Posts einer bestimmten Kategorie an""" - category = ForumCategory.query.get_or_404(category_id) - posts = ForumPost.query.filter_by(category_id=category_id).order_by(ForumPost.created_at.desc()).all() - return render_template('community/category.html', category=category, posts=posts) - -@app.route('/community/post/') -def forum_post(post_id): - """Zeigt einen einzelnen Forumsbeitrag mit seinen Antworten an""" - post = ForumPost.query.get_or_404(post_id) - return render_template('community/post.html', post=post) - -@app.route('/community/new-post', methods=['GET', 'POST']) -@login_required -def forum_new_post(): - """Erstellen eines neuen Forumsbeitrags""" - if request.method == 'POST': - title = request.form.get('title') - content = request.form.get('content') - category_id = request.form.get('category') - - if not title or not content or not category_id: - flash('Bitte fülle alle erforderlichen Felder aus.', 'warning') - return redirect(url_for('forum_new_post')) - - post = ForumPost( - title=title, - content=content, - user_id=current_user.id, - category_id=category_id - ) - - db.session.add(post) - db.session.commit() - - flash('Dein Beitrag wurde erfolgreich erstellt!', 'success') - return redirect(url_for('forum_post', post_id=post.id)) - - categories = ForumCategory.query.all() - return render_template('community/new_post.html', categories=categories) +@app.route('/static/js/mindmap-init.js') +def serve_mindmap_init_js(): + """Bedient die Mindmap-Initialisierungsdatei.""" + return app.send_static_file('js/mindmap-init.js'), 200, {'Content-Type': 'application/javascript'} # Datenbank-Update-Route (admin-geschützt) @app.route('/admin/update-database', methods=['GET', 'POST']) @@ -1928,9 +1847,4 @@ def admin_update_database(): message = f"Fehler: {str(e)}" success = False - return render_template('admin/update_database.html', message=message, success=success) - -@app.route('/static/js/mindmap-init.js') -def serve_mindmap_init_js(): - """Bedient die Mindmap-Initialisierungsdatei.""" - return app.send_static_file('js/mindmap-init.js'), 200, {'Content-Type': 'application/javascript'} \ No newline at end of file + return render_template('admin/update_database.html', message=message, success=success) \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 620064a..362eb77 100644 --- a/templates/base.html +++ b/templates/base.html @@ -657,9 +657,9 @@ :class="darkMode ? 'text-gray-300 hover:text-white' : 'text-gray-600 hover:text-gray-900'"> Mindmap - - Community + Suche {% if current_user.is_authenticated %}