Fix tournament registration fee calculation

Correctly calculate entry fee based on number of registered players
instead of minimum team size
mailing
Razmig Sarkissian 2 months ago
parent 7709409a63
commit e6a6268143
  1. 2
      tournaments/services/tournament_registration.py
  2. 3
      tournaments/views.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

@ -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:

Loading…
Cancel
Save