Initial commit

This commit is contained in:
Kristof committed 2026-10-14 12:29:29 +02:00
commit 536ff43ce4
158 files changed
+30355

No files matched your search

+62
View File
@@ -0,0 +1,62 @@
from flask import Blueprint, render_template, request, session, redirect, url_for, flash, jsonify
from database import central_query
from blueprints.auth import login_required
from rechten import recht_vereist
# We noemen de blueprint 'devices'
bugreport_overzicht_bp = Blueprint('bugreport_overzicht', __name__)
#-------------------------------------------------
# --- ROUTE TOESTELLEN (Inventaris Toestellen) ---
#-------------------------------------------------
@bugreport_overzicht_bp.route("/", methods=["GET", "POST"])
@login_required
@recht_vereist('bugs_bekijken', 'bugs_beheren')
def bugreport_overzicht():
query = request.form.get("query", "") if request.method == "POST" else request.args.get("query", "")
message = None
search_term = f"%{query}%"
# Bugs staan in de centrale database (gelden voor PIVOT, niet voor één school)
sql = """
SELECT * FROM (
SELECT b.Bug_ID, b.Gebruikersnaam AS Gebruiker, b.Timestamp AS Datum, b.Omschrijving, b.Foutcode,
st.Omschrijving AS Status, sc.School_naam AS School
FROM Bugs b
JOIN Status st ON st.Bugstatus_ID = b.Bugstatus_ID
LEFT JOIN Scholen sc ON sc.School_ID = b.School_ID
) x
WHERE CONCAT_WS(' ', Bug_ID, Gebruiker, Datum, Omschrijving, Foutcode, Status, School) LIKE %s
ORDER BY Bug_ID DESC
"""
results = central_query(sql, (search_term,))
if query and not results:
message = f"Geen resultaten gevonden voor '{query}'."
elif not results:
message = "Er zijn momenteel geen bugreports."
return render_template("bugreport_overzicht.html", results=results, query=query, message=message)
#---------------------------------
# --- STATUS UPDATES ---
#---------------------------------
@bugreport_overzicht_bp.route("/update_bugreport", methods=["POST"])
@login_required
@recht_vereist('bugs_beheren')
def bugreport_wijzig_status():
Bug_ID = request.form.get("Bug_ID")
new_status = request.form.get("new_status")
query = request.form.get("query", "")
if new_status in ["Nieuw", "In behandeling", "Fixed"]:
central_query("UPDATE Bugs SET Bugstatus_ID = (SELECT Bugstatus_ID FROM Status WHERE Omschrijving = %s) "
"WHERE Bug_ID = %s", (new_status, Bug_ID), commit=True)
flash(f"Status van {Bug_ID} gewijzigd naar {new_status}", "success")
return redirect(url_for("bugreport_overzicht.bugreport_overzicht", query=query))