Add storage location field to battery with dynamic dropdown

Dropdown populated from existing distinct storage locations,
with 'New location...' option revealing a text input.
This commit is contained in:
2026-04-12 15:22:02 -05:00
parent 5a7bbd46ab
commit 70abcfd0ac
3 changed files with 25 additions and 1 deletions
+8 -1
View File
@@ -86,7 +86,13 @@ def create_app(config_object="config"):
battery = db.get(Battery, battery_id)
if battery is None:
abort(404)
return render_template("battery_detail.html", battery=battery)
storage_locations = [
r[0] for r in db.query(Battery.storage_location)
.filter(Battery.storage_location.isnot(None))
.distinct().order_by(Battery.storage_location).all()
]
return render_template("battery_detail.html", battery=battery,
storage_locations=storage_locations)
# ------------------------------------------------------------------ #
# Battery — edit notes
@@ -114,6 +120,7 @@ def create_app(config_object="config"):
battery.tested_date = f.get("tested_date", "").strip() or None
battery.charge_cycles = _int("charge_cycles")
battery.purchase_date = f.get("purchase_date", "").strip() or None
battery.storage_location = f.get("storage_location", "").strip() or None
db.commit()
flash("Details updated.", "success")