From e6a626814335888d899ed8119bd7b3a9bb2d229d Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Tue, 23 Sep 2025 20:08:01 +0200 Subject: [PATCH] Fix tournament registration fee calculation Correctly calculate entry fee based on number of registered players instead of minimum team size --- tournaments/services/tournament_registration.py | 2 +- tournaments/views.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tournaments/services/tournament_registration.py b/tournaments/services/tournament_registration.py index 31a4b75..1e8630b 100644 --- a/tournaments/services/tournament_registration.py +++ b/tournaments/services/tournament_registration.py @@ -176,7 +176,7 @@ class RegistrationCartManager: players = self.session.get('registration_cart_players', []) entry_fee = tournament.entry_fee if entry_fee is not None and entry_fee > 0 and tournament.enable_online_payment: - fee = entry_fee * tournament.minimum_player_per_team + fee = entry_fee * len(players) club_members = sum(1 for player in players if player.get('club_member', False)) if tournament.club_member_fee_deduction is not None: return fee - club_members * tournament.club_member_fee_deduction diff --git a/tournaments/views.py b/tournaments/views.py index 2fc077f..41226ba 100644 --- a/tournaments/views.py +++ b/tournaments/views.py @@ -1832,7 +1832,7 @@ def handle_add_player_request(request, tournament, cart_manager, context): # Refresh cart data cart_data = cart_manager.get_cart_data() context['current_players'] = cart_data['players'] - + context['cart_data'] = cart_data context['team_form'] = TournamentRegistrationForm(initial={ 'email': request.user.email if request.user.is_authenticated else '', 'mobile_number': cart_data.get('mobile_number', '') @@ -1864,6 +1864,7 @@ def handle_remove_player_request(request, tournament, cart_manager, context): # Refresh cart data cart_data = cart_manager.get_cart_data() context['current_players'] = cart_data['players'] + context['cart_data'] = cart_data # Update the add player form based on the new state if not cart_data['players'] and request.user.is_authenticated: