diff --git a/the_works/templates/views/werk.html b/the_works/templates/views/werk.html index b106097..9f91165 100644 --- a/the_works/templates/views/werk.html +++ b/the_works/templates/views/werk.html @@ -5,55 +5,6 @@ {% block script %} {% endblock script %} @@ -104,7 +51,7 @@ {{ werk["Reihe"] }} {{ werk["Verlag"] }} {{ werk["Werksform"] }} - + {% endfor %} diff --git a/the_works/templates/views/werk_full.html b/the_works/templates/views/werk_full.html new file mode 100644 index 0000000..b531ab3 --- /dev/null +++ b/the_works/templates/views/werk_full.html @@ -0,0 +1,111 @@ +{% extends 'base.html' %} +{% set create_mode = (werk['ID'] == 0) %} +{% block title %} +{% if create_mode %} +Neues Werk erstellen +{% else %} +Werk bearbeiten +{% endif %} +{% endblock title %} + +{% block script %} +{% endblock script %} + +{% block heading %} +{% if create_mode %} +Neues Werk erstellen +{% else %} +Werk bearbeiten +{% endif %} +{% endblock heading %} + +{% block content %} +
+
+
+ + + +
+ + +
+ +
+
+ + + + + +
+
+
+ + +
+
+ +
+ +
+ +{% endblock content %} \ No newline at end of file diff --git a/the_works/views/werk.py b/the_works/views/werk.py index e503b0a..5e13bd8 100644 --- a/the_works/views/werk.py +++ b/the_works/views/werk.py @@ -24,27 +24,33 @@ def all(): "Reihe": row.Reihe.Titel if row.Reihe else "", "r_id": row.Werk.Reihe or "" }) - 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))) + return render_template("views/werk.html", werke=werke) @bp.route("/werk/read/") def read(id): - werk = db.session.get(Werk, id) - return { - "Titel": werk.Titel, - "Untertitel": werk.Untertitel or "", - "Werksform": werk.Werksform or "", - "Verlag": werk.Verlag or "", - "Reihe": werk.Reihe or "", - "Reihennummer": werk.Reihennummer or "", - "Erscheinungsdatum": werk.Erscheinungsdatum or "", - "ISBN_13": werk.ISBN_13 or "", - "ISBN_10": werk.ISBN_10 or "", - "ISSN": werk.ISSN or "", - "Preis": werk.Preis or "", + # id of zero -> create new entry + if id == 0: + return render_template("views/werk_full.html", werk={"ID": 0}, reihen=db.session.scalars(select(Reihe)), verlage=db.session.scalars(select(Verlag)), werksformen=db.session.scalars(select(Werksform))) + # all other ids -> update existing entry + w = db.session.get(Werk, id) + werk = { + "ID": w.ID, + "Titel": w.Titel, + "Untertitel": w.Untertitel or "", + "Werksform": w.Werksform or "", + "Verlag": w.Verlag or "", + "Reihe": w.Reihe or "", + "Reihennummer": w.Reihennummer or "", + "Erscheinungsdatum": w.Erscheinungsdatum or "", + "ISBN_13": w.ISBN_13 or "", + "ISBN_10": w.ISBN_10 or "", + "ISSN": w.ISSN or "", + "Preis": w.Preis or "", "Titelbild": "", - "Klappentext": werk.Klappentext or "", - "Anmerkungen": werk.Anmerkungen or "" + "Klappentext": w.Klappentext or "", + "Anmerkungen": w.Anmerkungen or "" } + return render_template("views/werk_full.html", werk=werk, 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():