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():