feat: add task deletion for all users

This commit is contained in:
2026-04-15 12:37:57 +02:00
parent 2f2e543a79
commit f8f3641811
4 changed files with 49 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ from ..services.tasks import (
complete_task,
create_quick_task,
create_task_template_and_instance,
delete_task_instance,
refresh_task_statuses,
update_template_and_instance,
)
@@ -157,6 +158,7 @@ def edit(task_id: int):
task = TaskInstance.query.get_or_404(task_id)
form = TaskForm(obj=task.task_template)
form.assigned_user_id.choices = _user_choices()
next_url = request.args.get("next") or request.form.get("next") or request.referrer or url_for("tasks.all_tasks")
if request.method == "GET":
form.title.data = task.title
@@ -171,9 +173,21 @@ def edit(task_id: int):
if form.validate_on_submit():
update_template_and_instance(task, form)
flash("Aufgabe und Vorlage wurden aktualisiert.", "success")
return redirect(url_for("tasks.all_tasks"))
return redirect(next_url)
return render_template("tasks/task_form.html", form=form, mode="edit", task=task)
return render_template("tasks/task_form.html", form=form, mode="edit", task=task, next_url=next_url)
@bp.route("/tasks/<int:task_id>/delete", methods=["POST"])
@login_required
def delete(task_id: int):
task = TaskInstance.query.get_or_404(task_id)
title = task.title
next_url = request.form.get("next") or url_for("tasks.all_tasks")
delete_task_instance(task)
flash(f"Aufgabe „{title}“ wurde gelöscht.", "success")
return redirect(next_url)
@bp.route("/tasks/<int:task_id>/complete", methods=["POST"])