DRY: Notiz-Modal zentral in UI.noteModal (11 divergierte Kopien entfernt, ~750 Z. weniger); Fix: Founder-Race in jobs.py atomar + founder_number, SW v1133

This commit is contained in:
rene 2026-05-29 10:51:42 +02:00
parent a356626d39
commit 7b3041fc94
18 changed files with 124 additions and 776 deletions

View file

@ -268,14 +268,20 @@ async def update_application(
"UPDATE users SET is_social_media=1 WHERE id=?",
(row["user_id"],)
)
founder_count = conn.execute(
"SELECT COUNT(*) FROM users WHERE is_founder=1"
).fetchone()[0]
if founder_count < 100:
conn.execute(
"UPDATE users SET is_founder=1 WHERE id=? AND is_founder=0",
(row["user_id"],)
)
# Atomare Gründer-Vergabe inkl. founder_number — Race-frei via Sub-Query
# (konsistent mit dogs.py / partner.py).
conn.execute(
"""UPDATE users
SET is_founder = 1,
founder_number = (
SELECT IFNULL(MAX(founder_number), 0) + 1
FROM users WHERE is_founder = 1
)
WHERE id = ?
AND (is_founder IS NULL OR is_founder = 0)
AND (SELECT COUNT(*) FROM users WHERE is_founder = 1) < 100""",
(row["user_id"],)
)
# Status-Mail an Bewerber
try: