@@ -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"])
|
||||
|
||||
Reference in New Issue
Block a user