From 09d5c79e8df7772545f530c37002002a5d127e34 Mon Sep 17 00:00:00 2001 From: Jonny Ervine Date: Thu, 9 Oct 2025 18:18:20 +0800 Subject: [PATCH] Push latest fixes --- motm_app/main.py | 30 +- motm_app/static/images/simpsons-monkeys.jpg | 1 - motm_app/templates/poty_chart.html | 357 ++++++++++++++++--- motm_app/templates/vote_chart.html | 366 +++++++++++++++++--- 4 files changed, 653 insertions(+), 101 deletions(-) delete mode 100644 motm_app/static/images/simpsons-monkeys.jpg diff --git a/motm_app/main.py b/motm_app/main.py index c608b4f..c6bc19b 100644 --- a/motm_app/main.py +++ b/motm_app/main.py @@ -347,7 +347,7 @@ def vote_thanks(): motm_name = motm_player[0]['playernickname'] if motm_player else f'Player {_motm}' dotd_name = dotd_player[0]['playernickname'] if dotd_player else f'Player {_dotd}' - # Update MOTM vote - use PostgreSQL UPSERT syntax (don't update totals) + # Update MOTM vote - use PostgreSQL UPSERT syntax sql_motm = text(f""" INSERT INTO _hkfc_c_motm (playernumber, playername, {motm_col}) VALUES (:player_num, :player_name, 1) @@ -356,7 +356,7 @@ def vote_thanks(): """) sql_write(sql_motm, {'player_num': _motm, 'player_name': motm_name}) - # Update DotD vote - use PostgreSQL UPSERT syntax (don't update totals) + # Update DotD vote - use PostgreSQL UPSERT syntax sql_dotd = text(f""" INSERT INTO _hkfc_c_motm (playernumber, playername, {dotd_col}) VALUES (:player_num, :player_name, 1) @@ -365,6 +365,32 @@ def vote_thanks(): """) sql_write(sql_dotd, {'player_num': _dotd, 'player_name': dotd_name}) + # Recalculate totals for both players + def update_player_totals(player_num): + # Get player data + sql_player = text("SELECT * FROM _hkfc_c_motm WHERE playernumber = :player_num") + player_data = sql_read(sql_player, {'player_num': player_num}) + + if player_data: + player = player_data[0] + motm_total = 0 + dotd_total = 0 + + # Calculate totals from fixture columns + for col_name in player.keys(): + if col_name.startswith('motm_') and col_name != 'motmtotal': + motm_total += player[col_name] or 0 + elif col_name.startswith('dotd_') and col_name != 'dotdtotal': + dotd_total += player[col_name] or 0 + + # Update stored totals + sql_update = text("UPDATE _hkfc_c_motm SET motmtotal = :motm_total, dotdtotal = :dotd_total WHERE playernumber = :player_num") + sql_write(sql_update, {'motm_total': motm_total, 'dotd_total': dotd_total, 'player_num': player_num}) + + # Update totals for both players + update_player_totals(_motm) + update_player_totals(_dotd) + # Generate device identifier and record vote for tracking device_id = generate_device_id(request) sql_device = text(""" diff --git a/motm_app/static/images/simpsons-monkeys.jpg b/motm_app/static/images/simpsons-monkeys.jpg deleted file mode 100644 index 31d95e8..0000000 --- a/motm_app/static/images/simpsons-monkeys.jpg +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg== diff --git a/motm_app/templates/poty_chart.html b/motm_app/templates/poty_chart.html index aa6f77f..2436b52 100644 --- a/motm_app/templates/poty_chart.html +++ b/motm_app/templates/poty_chart.html @@ -1,62 +1,315 @@ - - -
+{% extends "base.html" %} - +{% endblock %} \ No newline at end of file diff --git a/motm_app/templates/vote_chart.html b/motm_app/templates/vote_chart.html index 12d2c77..9dc2154 100644 --- a/motm_app/templates/vote_chart.html +++ b/motm_app/templates/vote_chart.html @@ -1,56 +1,330 @@ - - -
+{% extends "base.html" %} - +{% endblock %} \ No newline at end of file