From 7879c5cd9841828319474914372526b7cbbe9fd3 Mon Sep 17 00:00:00 2001
From: Magnus Giesbert <magnus@fsmpi.rwth-aachen.de>
Date: Sun, 13 Mar 2022 21:07:34 +0100
Subject: [PATCH] =?UTF-8?q?Resolve=20"Massen-L=C3=B6schen=20f=C3=BCr=20Feh?=
 =?UTF-8?q?ler"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 server.py                  | 20 ++++++++++++++++++++
 templates/errors-list.html |  1 +
 2 files changed, 21 insertions(+)

diff --git a/server.py b/server.py
index b5397a4..0997e7c 100755
--- a/server.py
+++ b/server.py
@@ -1524,6 +1524,26 @@ def list_errors():
         "errors-list.html", erros=errors, errors_table=errors_table)
 
 
+@app.route("/errors/delete")
+@login_required
+@protect_csrf
+@require_modify_right()
+def delete_errors():
+    user = current_user()
+    errors = [
+        error for error in Error.query.all()
+        if error.protocol.protocoltype.has_private_view_right(user)
+    ]
+    if errors:
+        for error in errors:
+            db.session.delete(error)
+        db.session.commit()
+        flash("Alle verfügbaren Fehler gelöscht.", "alert-success")
+    else :
+        flash("Keine Fehler zum Löschen gefunden.")
+    return back.redirect("list_errors")
+
+
 @app.route("/error/show/<int:error_id>")
 @back.anchor
 @login_required
diff --git a/templates/errors-list.html b/templates/errors-list.html
index aaab0b7..9a211a4 100644
--- a/templates/errors-list.html
+++ b/templates/errors-list.html
@@ -5,5 +5,6 @@
 {% block content %}
 <div class="container">
     {{render_table(errors_table)}}
+    <a href="{{url_for("delete_errors", csrf_token=get_csrf_token())}}"> Alle Löschen</a>
 </div>
 {% endblock %}
-- 
GitLab