Initial commit
This commit is contained in:
commit
536ff43ce4
158 files changed
+30355
No files matched your search
@@ -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))
|
||||
|
||||
Reference in new issue
Block a user