PIVOT 1.1.0
This commit is contained in:
commit
8a53234eb6
161 files changed
+31109
No files matched your search
@@ -0,0 +1,51 @@
|
||||
# CIP_uitdelen.py – toestel uitdelen aan een leerling
|
||||
from database import execute_query
|
||||
from datetime import date
|
||||
from services import toestellen as tst
|
||||
|
||||
foutmelding = ""
|
||||
|
||||
|
||||
def uitdelen(internnummer, toestelnummer):
|
||||
"""`toestelnummer` = eigen toestelnummer van de school (Schooleigen_ID) of serienummer."""
|
||||
global foutmelding
|
||||
|
||||
# 1. Validatie van input
|
||||
if not internnummer or not toestelnummer:
|
||||
foutmelding = "Error: Vul zowel het Internnummer als het toestelnummer in."
|
||||
return False
|
||||
|
||||
# 2. Check of leerling bestaat
|
||||
leerling = tst.zoek_leerling(internnummer)
|
||||
if not leerling:
|
||||
foutmelding = "Error: Internnummer niet gevonden in de leerlingenlijst."
|
||||
return False
|
||||
|
||||
# 3. Check of toestel bestaat
|
||||
toestel = tst.zoek_toestel(toestelnummer)
|
||||
if not toestel:
|
||||
foutmelding = "Error: Toestelnummer niet gevonden in de toestellenlijst."
|
||||
return False
|
||||
|
||||
# 4. Check of toestel al is uitgegeven
|
||||
huidig = tst.actieve_eigendom(toestel['Toestel_ID'])
|
||||
if huidig:
|
||||
foutmelding = f"Error: Toestel is al toegekend aan {huidig['Internnummer']}"
|
||||
return False
|
||||
|
||||
# 5. Alles OK -> Uitvoeren
|
||||
try:
|
||||
_verwerk_uitdeling(leerling['Internnummer'], toestel['Toestel_ID'])
|
||||
foutmelding = "Toestel succesvol uitgedeeld!"
|
||||
return True
|
||||
except Exception as e:
|
||||
foutmelding = f"Systeemfout: {str(e)}"
|
||||
return False
|
||||
|
||||
|
||||
def _verwerk_uitdeling(internnummer, toestel_id):
|
||||
"""Nieuwe rij in Eigendom (zonder Datum_inlevering) en toestel op 'Uitgeleend'."""
|
||||
execute_query(
|
||||
"INSERT INTO Eigendom (Internnummer, Toestel_ID, Status, Datum_toekenning) VALUES (%s, %s, %s, %s)",
|
||||
(internnummer, toestel_id, 1 if tst.is_geblokkeerd(toestel_id) else 0, date.today()), commit=True)
|
||||
execute_query("UPDATE Toestellen SET Status = 'Uitgeleend' WHERE Toestel_ID = %s", (toestel_id,), commit=True)
|
||||
Reference in new issue
Block a user