Add week planner entry editing popups
This commit is contained in:
+10
-1
@@ -3815,6 +3815,7 @@ def planner():
|
||||
week_hints=build_week_hints(week_start),
|
||||
upcoming_entries=fetch_upcoming_shopping_needs(limit=8),
|
||||
household_settings=get_household_settings(),
|
||||
visibility_options=VISIBILITY_FORM_OPTIONS,
|
||||
)
|
||||
|
||||
|
||||
@@ -3941,6 +3942,7 @@ def planner_generated_meal():
|
||||
@login_required
|
||||
def planner_update(entry_id: int):
|
||||
selected_date = parse_plan_date(request.form.get("plan_date"))
|
||||
return_week = request.form.get("return_week", "").strip()
|
||||
entry = get_db().execute(
|
||||
f"""
|
||||
SELECT plan_entries.*,
|
||||
@@ -3960,19 +3962,24 @@ def planner_update(entry_id: int):
|
||||
ensure_can_edit(describe_record(dict(entry)), "Diesen Planeintrag kannst du gerade nicht bearbeiten.")
|
||||
except PermissionError as exc:
|
||||
flash(str(exc), "error")
|
||||
if return_week:
|
||||
return redirect(url_for("main.planner", week=return_week))
|
||||
return redirect(url_for("main.planner_day", date=selected_date.isoformat()))
|
||||
|
||||
visibility = normalize_visibility(request.form.get("visibility"), entry["visibility"])
|
||||
note = request.form.get("note", "").strip()
|
||||
update_plan_entry(entry_id, visibility=visibility, note=note)
|
||||
flash("Der Planeintrag wurde angepasst.", "success")
|
||||
if return_week:
|
||||
return redirect(url_for("main.planner", week=return_week))
|
||||
return redirect(url_for("main.planner_day", date=selected_date.isoformat(), daypart_id=entry["daypart_id"]))
|
||||
|
||||
|
||||
@main_bp.post("/planner/<int:entry_id>/remove")
|
||||
@login_required
|
||||
def planner_remove(entry_id: int):
|
||||
selected_date = request.args.get("date", "")
|
||||
selected_date = request.args.get("date", "") or request.form.get("plan_date", "").strip()
|
||||
return_week = request.form.get("return_week", "").strip()
|
||||
entry = get_db().execute(
|
||||
f"""
|
||||
SELECT plan_entries.*,
|
||||
@@ -3994,6 +4001,8 @@ def planner_remove(entry_id: int):
|
||||
flash("Der Planeintrag wurde entfernt.", "info")
|
||||
except PermissionError as exc:
|
||||
flash(str(exc), "error")
|
||||
if return_week:
|
||||
return redirect(url_for("main.planner", week=return_week))
|
||||
if selected_date:
|
||||
return redirect(url_for("main.planner_day", date=selected_date))
|
||||
return redirect(url_for("main.planner"))
|
||||
|
||||
Reference in New Issue
Block a user