diff --git a/the_works/templates/modals.html b/the_works/templates/modals.html deleted file mode 100644 index 29656d1..0000000 --- a/the_works/templates/modals.html +++ /dev/null @@ -1,2 +0,0 @@ -{% macro bla(var1, var2, var3='var3_default') -%} -{%- endmacro %} \ No newline at end of file diff --git a/the_works/templates/views/_textmodal.js b/the_works/templates/views/_textmodal.js index 38f5074..db0a41f 100644 --- a/the_works/templates/views/_textmodal.js +++ b/the_works/templates/views/_textmodal.js @@ -1,15 +1,4 @@ \ No newline at end of file diff --git a/the_works/templates/views/_werkmodal.js b/the_works/templates/views/_werkmodal.js new file mode 100644 index 0000000..98922e5 --- /dev/null +++ b/the_works/templates/views/_werkmodal.js @@ -0,0 +1,41 @@ + \ No newline at end of file diff --git a/the_works/templates/views/text.html b/the_works/templates/views/text.html index 2599d3f..27c7a3b 100644 --- a/the_works/templates/views/text.html +++ b/the_works/templates/views/text.html @@ -10,7 +10,6 @@ {% include "views/_textmodal.js" %} -
-
- -

Neuer Text

-
- - - - - - - +
+ +

Neuer Text

+
+ +
+
+ +
+ +
+
+ Untertitel und Reihe + + +
+
+ +
+
+ Textform und Sprache + + +
+
+
+ +
diff --git a/the_works/templates/views/werk.html b/the_works/templates/views/werk.html index c4206d3..f205819 100644 --- a/the_works/templates/views/werk.html +++ b/the_works/templates/views/werk.html @@ -8,9 +8,8 @@ {% include "_icons.svg" %} -{# {% include "views/_textmodal.js" %} #} +{% include "views/_werkmodal.js" %} -
- + {% endblock content %} \ No newline at end of file diff --git a/the_works/templates/views/werk_read.html b/the_works/templates/views/werk_read.html deleted file mode 100644 index b9dcb53..0000000 --- a/the_works/templates/views/werk_read.html +++ /dev/null @@ -1,51 +0,0 @@ -{% extends 'base.html' %} - -{% block title %}"{{ werk["Titel"] }}" – Detailansicht"{% endblock title %} - -{% block heading %}"{{ werk["Titel"] }}" – Detailansicht{% endblock heading %} - -{% block content %} -{% set ID = werk["id"] %} -
-
-
- - - - - - -
-
-
-{% endblock content %} diff --git a/the_works/views/text.py b/the_works/views/text.py index 61718ae..91d8da7 100644 --- a/the_works/views/text.py +++ b/the_works/views/text.py @@ -31,7 +31,7 @@ def all(): }) return render_template("views/text.html", texte=texte, reihen=db.session.scalars(select(Reihe)), textformen=db.session.scalars(select(Textform)), sprachen=db.session.scalars(select(Sprache))) -@bp.route("/text/create", methods=["POST"]) +@bp.route("/text", methods=["POST"]) def create(): db.session.add(Text( Titel = request.form["form_Titel"], diff --git a/the_works/views/werk.py b/the_works/views/werk.py index 820be27..e2c0368 100644 --- a/the_works/views/werk.py +++ b/the_works/views/werk.py @@ -5,80 +5,89 @@ from the_works.models import Werk, Reihe, Verlag, Werksform bp = Blueprint("werk", __name__) -# ORM equivalent of SQL statement to select all Werk entries -read_statement = select(Werk, Reihe, Verlag, Werksform).join(Werk.reihe, isouter=True).join(Werk.verlag, isouter=True).join(Werk.werksform, isouter=True) @bp.route("/werk") @bp.route("/werk/all") def all(): + # select all rows from table "Werk", ORM style + rows = db.session.execute(select(Werk, Reihe, Verlag, Werksform).join(Werk.reihe, isouter=True).join(Werk.verlag, isouter=True).join(Werk.werksform, isouter=True)) # condense result into list of dicts werke = [] - for row in db.session.execute(read_statement): + for row in rows: werke.append({ "id": row.Werk.ID, "Titel": row.Werk.Titel, "Untertitel": row.Werk.Untertitel or "", - "Reihe": row.Reihe.Titel if row.Reihe else "", - "Verlag": row.Verlag.Verlag if row.Verlag else "", "Werksform": row.Werksform.Werksform if row.Werksform else "", + "wf_id": row.Werksform.ID if row.Werksform else "", + "Verlag": row.Verlag.Verlag if row.Verlag else "", + "v_id": row.Verlag.ID if row.Verlag else "", + "Reihe": row.Reihe.Titel if row.Reihe else "", + "r_id": row.Reihe.ID if row.Reihe else "", + "Reihennummer": row.Werk.Reihennummer or "", + "Erscheinungsdatum": row.Werk.Erscheinungsdatum or "", + "ISBN_13": row.Werk.ISBN_13 or "", + "ISBN_10": row.Werk.ISBN_10 or "", + "ISSN": row.Werk.ISSN or "", + "Preis": row.Werk.Preis or "", + "Titelbild": row.Werk.Titelbild or "", + "Klappentext": row.Werk.Klappentext or "", + "Anmerkungen": row.Werk.Anmerkungen or "" }) - return render_template("views/werk.html", werke=werke) - - -@bp.route("/werk/read/") -def read(id): - row = db.session.execute(read_statement.where(Werk.ID == id)).one() - werk = { - "id": row.Werk.ID, - "Titel": row.Werk.Titel, - "Untertitel": row.Werk.Untertitel or "", - "Reihe": row.Reihe.Titel if row.Reihe else "", - "r_id": row.Reihe.ID if row.Reihe else "", - "Verlag": row.Verlag.Verlag if row.Verlag else "", - "v_id": row.Verlag.ID if row.Verlag else "", - "Werksform": row.Werksform.Werksform if row.Werksform else "", - "wf_id": row.Werksform.ID if row.Werksform else "", - "Reihennummer": row.Werk.Reihennummer or "", - } - return render_template("views/werk_read.html", werk=werk, reihen=db.session.scalars(select(Reihe)), verlage=db.session.scalars(select(Verlag)), werksformen=db.session.scalars(select(Werksform))) + return render_template("views/werk.html", werke=werke, reihen=db.session.scalars(select(Reihe)), verlage=db.session.scalars(select(Verlag)), werksformen=db.session.scalars(select(Werksform))) @bp.route("/werk/create", methods=["POST"]) def create(): - """db.session.add(Text( - Titel = request.form["text_titel"], - Untertitel = request.form["text_untertitel"] or None, - Reihe = request.form["text_reihe"] or None, - Textform = request.form["text_textform"], - Sprache = request.form["text_sprache"] + db.session.add(Werk( + Titel = request.form["form_Titel"], + Untertitel = request.form["form_Untertitel"] or None, + Werksform = request.form["form_Werksform"], + Verlag = request.form["form_Verlag"] or None, + Reihe = request.form["form_Reihe"] or None, + Reihennummer = request.form["form_Reihennummer"] or None, + Erscheinungsdatum = request.form["form_Erscheinungsdatum"] or None, + ISBN_13 = request.form["form_ISBN_13"] or None, + ISBN_10 = request.form["form_ISBN_10"] or None, + ISSN = request.form["form_ISSN"] or None, + Preis = request.form["form_Preis"] or None, + Titelbild = None, + Klappentext = request.form["form_Klappentext"] or None, + Anmerkungen = request.form["form_Anmerkungen"] or None )) db.session.commit() flash("Eintrag erfolgreich hinzugefügt") - """ return redirect(url_for("werk.all")) @bp.route("/werk/update/", methods=["POST"]) def update(id): - """# get record - text = db.session.get(Text, id) + # get record + werk = db.session.get(Werk, id) # update values - text.Titel = request.form["text_titel"] - text.Untertitel = request.form["text_untertitel"] or None - text.Reihe = request.form["text_reihe"] or None - text.Textform = request.form["text_textform"] - text.Sprache = request.form["text_sprache"] + werk.Titel = request.form["form_Titel"] + werk.Untertitel = request.form["form_Untertitel"] or None + werk.Werksform = request.form["form_Werksform"] + werk.Verlag = request.form["form_Verlag"] or None + werk.Reihe = request.form["form_Reihe"] or None + werk.Reihennummer = request.form["form_Reihennummer"] or None + werk.Erscheinungsdatum = request.form["form_Erscheinungsdatum"] or None + werk.ISBN_13 = request.form["form_ISBN_13"] or None + werk.ISBN_10 = request.form["form_ISBN_10"] or None + werk.ISSN = request.form["form_ISSN"] or None + werk.Preis = request.form["form_Preis"] or None + werk.Titelbild = None + werk.Klappentext = request.form["form_Klappentext"] or None + werk.Anmerkungen = request.form["form_Anmerkungen"] or None # commit changes db.session.commit() flash("Eintrag erfolgreich geändert") - """ return redirect(url_for("werk.all")) @bp.route("/werk/delete/") def delete(id): - """ text = db.session.get(Text, id) - db.session.delete(text) + werk = db.session.get(Werk, id) + db.session.delete(werk) db.session.commit() flash("Eintrag erfolgreich gelöscht") - """ return redirect(url_for("werk.all"))