Add edit my rides
Deploy PBT / deploy (push) Successful in 17s

This commit is contained in:
2026-09-11 08:03:19 +02:00
parent 36d97f5e79
commit ca90346f0b
4 changed files with 104 additions and 32 deletions
+37 -14
View File
@@ -200,24 +200,25 @@ def register_routes(app):
return None
return stop.id if stop is not None else None
def fill_trip_from_form(fahrt):
fahrt.transport_mode = request.form["transport_mode"]
fahrt.line = request.form.get("line", "").strip()
fahrt.origin = request.form["origin"].strip()
fahrt.origin_stop_id = resolve_stop_id(request.form.get("origin_stop_id"))
fahrt.destination = request.form["destination"].strip()
fahrt.destination_stop_id = resolve_stop_id(
request.form.get("destination_stop_id")
)
fahrt.trip_date = parse_trip_date(request.form.get("trip_date"))
fahrt.rating = int(request.form["rating"])
fahrt.comment = request.form.get("comment", "").strip()
@app.route("/fahrt/neu", methods=["GET", "POST"])
@login_required
def neue_fahrt():
if request.method == "POST":
fahrt = Trip(
user_id=current_user.id,
transport_mode=request.form["transport_mode"],
line=request.form.get("line", "").strip(),
origin=request.form["origin"].strip(),
origin_stop_id=resolve_stop_id(request.form.get("origin_stop_id")),
destination=request.form["destination"].strip(),
destination_stop_id=resolve_stop_id(
request.form.get("destination_stop_id")
),
trip_date=parse_trip_date(request.form.get("trip_date")),
rating=int(request.form["rating"]),
comment=request.form.get("comment", "").strip(),
)
fahrt = Trip(user_id=current_user.id)
fill_trip_from_form(fahrt)
db.session.add(fahrt)
db.session.commit()
flash("Fahrt gespeichert.", "success")
@@ -227,6 +228,28 @@ def register_routes(app):
"add_entry.html",
verkehrsmittel_optionen=VERKEHRSMITTEL_OPTIONEN,
heute=date.today().isoformat(),
fahrt=None,
)
@app.route("/fahrt/<int:fahrt_id>/bearbeiten", methods=["GET", "POST"])
@login_required
def fahrt_bearbeiten(fahrt_id):
fahrt = Trip.query.get_or_404(fahrt_id)
if fahrt.user_id != current_user.id:
flash("Nicht erlaubt.", "error")
return redirect(url_for("dashboard"))
if request.method == "POST":
fill_trip_from_form(fahrt)
db.session.commit()
flash("Fahrt aktualisiert.", "success")
return redirect(url_for("dashboard"))
return render_template(
"add_entry.html",
verkehrsmittel_optionen=VERKEHRSMITTEL_OPTIONEN,
heute=fahrt.trip_date.isoformat(),
fahrt=fahrt,
)
@app.route("/fahrt/<int:fahrt_id>/loeschen", methods=["POST"])