Several enhancements

This commit is contained in:
2025-03-06 17:03:45 +01:00
parent c1098114bc
commit 5ec80c325f
5 changed files with 93 additions and 18 deletions
+13 -5
View File
@@ -10,6 +10,10 @@ from os.path import exists
import datetime
from create_payment_slip import create_payment_slip
import os
from config_loader import load_config
cfg = load_config()
year = cfg['year']
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
@@ -20,7 +24,7 @@ def payment_slip_delivered(member: models.Members, year: int):
.count()
def send_mail(member: models.Members):
delivered = payment_slip_delivered(member, 2024)
delivered = payment_slip_delivered(member, year)
if delivered:
logging.debug(f'Member: {member.member_surname} already mailed or delivered!')
return
@@ -33,8 +37,8 @@ def send_mail(member: models.Members):
from_email = 'sv.stthomas@gmx.at'
to_email = member.member_email
subject = 'Mitgliedsbeitrag 2024'
body = f'Liebes Mitglied,\n\nDein Zahlschein für 2024 liegt bei.\nDu kannst gerne mittels beiliegendem, aufgedrucktem QR-Code überweisen.\nDanke sagt Dein Team vom Sportverein!'
subject = f'Mitgliedsbeitrag {year}'
body = f'Liebes Mitglied,\n\nDein Zahlschein für {year} liegt bei.\nDu kannst gerne mittels beiliegendem, aufgedrucktem QR-Code überweisen.\nDanke sagt Dein Team vom Sportverein!'
msg = MIMEMultipart()
msg['From'] = from_email
@@ -42,7 +46,7 @@ def send_mail(member: models.Members):
msg['Subject'] = subject
msg.attach(MIMEText(body))
path_to_file = os.path.join(os.getenv('APPDATA'), "sust", "payment_slips","mail",f"{member.member_zip}_payment_slip_member{member.id}.pdf")
path_to_file = os.path.join(os.path.expanduser("~"),"sust","payment_slips","mail",f"{member.member_zip}_payment_slip_member{member.id}.pdf")
if not exists(path_to_file):
create_payment_slip(member=member)
@@ -68,10 +72,14 @@ def send_mail(member: models.Members):
db = SessionLocal()
models.Base.metadata.create_all(bind=engine)
members = db.query(models.Members).filter(
models.Members.member_active == True,
models.Members.member_email != None
).all()
#members = db.query(models.Members).filter(models.Members.member_email != None, ~models.Members.id.in_([183,51,200,49])).all()
#members = db.query(models.Members).filter(models.Members.member_active == True).all()
#members = db.query(models.Members).filter(models.Members.id.in_([2,3,9,199]), models.Members.member_active == True, models.Members.member_printed == False).all()
members = db.query(models.Members).filter(models.Members.id.in_([8])).all()
#members = db.query(models.Members).filter(models.Members.id.in_([8])).all()
for member in members:
if member.member_email: