From d23e90f1b95cc460057cdd094313c8a1f325a24d Mon Sep 17 00:00:00 2001 From: eclipse Date: Fri, 18 Apr 2025 20:51:53 +0200 Subject: [PATCH] new texts can now be added to the DB --- the_works/templates/views/texte.html | 7 ++++-- the_works/views.py | 33 ++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/the_works/templates/views/texte.html b/the_works/templates/views/texte.html index 00b85ca..c280383 100644 --- a/the_works/templates/views/texte.html +++ b/the_works/templates/views/texte.html @@ -18,6 +18,7 @@ Reihe Textform Originalsprache + Aktionen @@ -28,10 +29,13 @@ {{row["Reihe"]}} {{row["Textform"]}} {{row["Originalsprache"]}} + edit + delete {% endfor %} +
@@ -72,11 +76,10 @@ {% endfor %} - +
- {% endblock content %} \ No newline at end of file diff --git a/the_works/views.py b/the_works/views.py index ff7be29..fcc5ec8 100644 --- a/the_works/views.py +++ b/the_works/views.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template +from flask import Blueprint, render_template, request, redirect, flash, url_for from the_works.database import get_db bp = Blueprint("views", __name__) @@ -8,10 +8,11 @@ def home(): return render_template("views/home.html") @bp.route("/texte") -def texte_list(): +def texte_show(): db = get_db() rows = db.execute( """SELECT + t.ID as ID, t.Titel AS Titel, t.Untertitel AS Untertitel, r.Reihentitel AS Reihe, @@ -27,3 +28,31 @@ def texte_list(): sprachen = db.execute("SELECT ID, Sprache from Sprachen").fetchall() return render_template("views/texte.html", rows=rows, reihen=reihen, textformen=textformen, sprachen=sprachen) +@bp.route("/texte/create", methods=["POST"]) +def text_create(): + db = get_db() + try: + db.execute( + "INSERT INTO texte (Titel, Untertitel, Reihe, Textform, Originalsprache) VALUES (?, ?, ?, ?, ?)", + ( + request.form["text_titel"], + request.form["text_untertitel"] or None, + request.form["text_reihe"] or None, + request.form["text_textform"], + request.form["text_sprache"] + ) + ) + db.commit() + flash("Neuen Text in Datenbank eingetragen") + except: + flash("Fehler beim Eintragen in die Datenbank", "error") + + return redirect(url_for("views.texte_show")) + +@bp.route("/texte/update/") +def text_update(): + pass + +@bp.route("/texte/delete/") +def text_delete(): + pass