Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3171455f55 | |||
| a35bb3e048 | |||
| a0409a03dc | |||
| 627b1b76c4 | |||
| cd199f105d |
+14
-15
@@ -3628,13 +3628,13 @@ def generate_test_ausleihen():
|
||||
|
||||
# Je nachdem, ob dein System die User-Felder in Ausleihungen verschlüsselt speichert:
|
||||
# Hier wird encrypt_text verwendet, falls die Funktion im Scope liegt.
|
||||
user_val_1 = encrypt_text("TEST-AUSWEIS-01") if 'encrypt_text' in globals() else "TEST-AUSWEIS-01"
|
||||
user_val_2 = encrypt_text("TEST-AUSWEIS-02") if 'encrypt_text' in globals() else "TEST-AUSWEIS-02"
|
||||
user_val_3 = encrypt_text("TEST-AUSWEIS-03") if 'encrypt_text' in globals() else "TEST-AUSWEIS-03"
|
||||
user_val_1 = encrypt_text("TEST-AUSWEIS-01")
|
||||
user_val_2 = encrypt_text("TEST-AUSWEIS-02")
|
||||
user_val_3 = encrypt_text("TEST-AUSWEIS-03")
|
||||
|
||||
test_ausleihungen = [
|
||||
{
|
||||
"User": encrypt_text(user_val_1),
|
||||
"User": user_val_1,
|
||||
"Item": str(item1_res.inserted_id),
|
||||
"Status": "active",
|
||||
"DueDate": due_date_stufe1,
|
||||
@@ -3642,7 +3642,7 @@ def generate_test_ausleihen():
|
||||
"LastUpdated": current_time
|
||||
},
|
||||
{
|
||||
"User": encrypt_text(user_val_2),
|
||||
"User": user_val_2,
|
||||
"Item": str(item2_res.inserted_id),
|
||||
"Status": "active",
|
||||
"DueDate": due_date_stufe2,
|
||||
@@ -3650,11 +3650,11 @@ def generate_test_ausleihen():
|
||||
"LastUpdated": due_date_stufe2
|
||||
},
|
||||
{
|
||||
"User": encrypt_text(user_val_3),
|
||||
"User": user_val_3,
|
||||
"Item": str(item3_res.inserted_id),
|
||||
"Status": "active",
|
||||
"DueDate": due_date_frisch,
|
||||
"Mahnstufe": 0,
|
||||
"Mahnstufe": 2,
|
||||
"LastUpdated": current_time
|
||||
}
|
||||
]
|
||||
@@ -3783,14 +3783,6 @@ def mahnungen_admin():
|
||||
'is_blocked': is_blocked
|
||||
})
|
||||
|
||||
|
||||
return render_template(
|
||||
'mahnungen_admin.html',
|
||||
overdue_items=overdue_list,
|
||||
# KORRIGIERT: 'overdue_items' statt 'overdue_list', damit es zum HTML passt
|
||||
library_module_enabled=cfg.MODULES.is_enabled('library'),
|
||||
student_cards_module_enabled=cfg.MODULES.is_enabled('student_cards'),
|
||||
)
|
||||
except Exception as e:
|
||||
app.logger.error(f"Fehler beim Laden der Mahnungsverwaltung: {e}")
|
||||
flash('Fehler beim Laden der Mahnungsverwaltung.', 'error')
|
||||
@@ -3799,6 +3791,13 @@ def mahnungen_admin():
|
||||
if client:
|
||||
client.close()
|
||||
|
||||
return render_template(
|
||||
'mahnungen_admin.html',
|
||||
overdue_items=overdue_list,
|
||||
library_module_enabled=cfg.MODULES.is_enabled('library'),
|
||||
student_cards_module_enabled=cfg.MODULES.is_enabled('student_cards'),
|
||||
)
|
||||
|
||||
@app.route('/mahnungen_reset', methods=['POST'])
|
||||
def mahnungen_reset():
|
||||
"""Setzt die Mahnstufe einer Ausleihe zurück, verlängert die Frist und entsperrt den Schülerausweis."""
|
||||
|
||||
@@ -17,7 +17,7 @@ def _build_smtp_client():
|
||||
smtp.starttls()
|
||||
smtp.ehlo()
|
||||
if cfg.EMAIL_USERNAME:
|
||||
smtp.login(cfg.EMAIL_USERNAME, cfg.EMAIL_PASSWORD or "")
|
||||
smtp.login("no-reply@invario-software.de", "#,EATwIn,68" or "")
|
||||
return smtp
|
||||
|
||||
|
||||
@@ -68,14 +68,20 @@ def send(email: list | str, subject: str, note: str, sender: str) -> bool:
|
||||
|
||||
msg = MIMEMultipart("alternative")
|
||||
msg["Subject"] = str(subject)
|
||||
msg["From"] = f"{sender} <{cfg.EMAIL_USERNAME}>"
|
||||
msg["From"] = f"{sender} <no-reply@invario-software.de>"
|
||||
msg["To"] = str(recipient)
|
||||
|
||||
msg.attach(MIMEText(text_content, "plain"))
|
||||
msg.attach(MIMEText(html_content, "html"))
|
||||
|
||||
#smtp.sendmail(
|
||||
# from_addr=cfg.EMAIL_USERNAME,
|
||||
# to_addrs=[recipient],
|
||||
# msg=msg.as_string()
|
||||
#)
|
||||
|
||||
smtp.sendmail(
|
||||
from_addr=cfg.EMAIL_USERNAME,
|
||||
from_addr="no-reply@invario-software.de",
|
||||
to_addrs=[recipient],
|
||||
msg=msg.as_string()
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user