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" %}
-
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"))