From 74e1a9a0f5292bc5d7720a3b46c626bd7c6177dd Mon Sep 17 00:00:00 2001 From: oimwiodev Date: Sat, 20 Jun 2026 17:50:54 +0100 Subject: [PATCH] fix: case-insensitive field matching + status migration --- server.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/server.py b/server.py index 385dc30..5f1b9ff 100644 --- a/server.py +++ b/server.py @@ -105,6 +105,11 @@ def init_schema(db): ); """) db.commit() + # Migration: add status column if missing + try: + db.execute("ALTER TABLE submissions ADD COLUMN status TEXT NOT NULL DEFAULT 'received'") + except Exception: + pass def get_setting(db, key, default=""): row = db.execute("SELECT value FROM settings WHERE key = ?", (key,)).fetchone() @@ -337,8 +342,8 @@ def check_status(email: str = "", phone: str = ""): rows = db.execute(""" SELECT s.id, s.status, s.created_at FROM submissions s - JOIN submission_data d1 ON d1.submission_id = s.id AND d1.field_label = 'Email' AND d1.field_value = ? - JOIN submission_data d2 ON d2.submission_id = s.id AND d2.field_label = 'Phone' AND d2.field_value = ? + JOIN submission_data d1 ON d1.submission_id = s.id AND LOWER(d1.field_label) = 'email' AND d1.field_value = ? + JOIN submission_data d2 ON d2.submission_id = s.id AND LOWER(d2.field_label) = 'phone' AND d2.field_value = ? ORDER BY s.id DESC LIMIT 1 """, (email.strip(), phone.strip())).fetchall() db.close() @@ -358,8 +363,8 @@ def delete_submission(email: str = "", phone: str = ""): rows = db.execute(""" SELECT s.id FROM submissions s - JOIN submission_data d1 ON d1.submission_id = s.id AND d1.field_label = 'Email' AND d1.field_value = ? - JOIN submission_data d2 ON d2.submission_id = s.id AND d2.field_label = 'Phone' AND d2.field_value = ? + JOIN submission_data d1 ON d1.submission_id = s.id AND LOWER(d1.field_label) = 'email' AND d1.field_value = ? + JOIN submission_data d2 ON d2.submission_id = s.id AND LOWER(d2.field_label) = 'phone' AND d2.field_value = ? ORDER BY s.id DESC LIMIT 1 """, (email.strip(), phone.strip())).fetchall() if not rows: