@ -31,9 +31,18 @@ class TournamentRegistrationService:
if ' add_player ' in self . request . POST :
if ' add_player ' in self . request . POST :
self . handle_add_player ( )
self . handle_add_player ( )
if ' remove_player ' in self . request . POST :
self . handle_remove_player ( )
elif ' register_team ' in self . request . POST :
elif ' register_team ' in self . request . POST :
self . handle_team_registration ( )
self . handle_team_registration ( )
def handle_remove_player ( self ) :
team_registration = self . request . session . get ( ' team_registration ' , [ ] )
if team_registration : # Check if list is not empty
team_registration . pop ( ) # Remove last element
self . request . session [ ' team_registration ' ] = team_registration
self . context [ ' current_players ' ] = team_registration
def handle_add_player ( self ) :
def handle_add_player ( self ) :
if not self . context [ ' add_player_form ' ] . is_valid ( ) :
if not self . context [ ' add_player_form ' ] . is_valid ( ) :
return
return
@ -106,6 +115,7 @@ class TournamentRegistrationService:
self . initialize_session_data ( )
self . initialize_session_data ( )
def add_player_to_session ( self , player_data ) :
def add_player_to_session ( self , player_data ) :
print ( " add_player_to_session " , player_data )
if not self . request . session . get ( ' team_registration ' ) :
if not self . request . session . get ( ' team_registration ' ) :
self . request . session [ ' team_registration ' ] = [ ]
self . request . session [ ' team_registration ' ] = [ ]
@ -216,6 +226,7 @@ class TournamentRegistrationService:
return False
return False
def _handle_valid_names ( self , player_data ) :
def _handle_valid_names ( self , player_data ) :
print ( " _handle_valid_names " , player_data )
if player_data . get ( ' rank ' ) is None :
if player_data . get ( ' rank ' ) is None :
self . _set_default_rank ( player_data )
self . _set_default_rank ( player_data )
@ -224,8 +235,8 @@ class TournamentRegistrationService:
self . context [ ' add_player_form ' ] . first_tournament = False
self . context [ ' add_player_form ' ] . first_tournament = False
def _handle_invalid_names ( self , licence_id , player_data ) :
def _handle_invalid_names ( self , licence_id , player_data ) :
if not self . context [ ' add_player_form ' ] . first_tournament :
data , found = get_player_name_from_csv ( self . tournament . federal_category , licence_id )
data , found = get_player_name_from_csv ( self . tournament . federal_category , licence_id )
print ( " _handle_invalid_names get_player_name_from_csv " , data , found )
if found and data :
if found and data :
self . _update_player_data_from_csv ( player_data , data )
self . _update_player_data_from_csv ( player_data , data )
player_check = self . _player_check ( player_data )
player_check = self . _player_check ( player_data )
@ -235,6 +246,7 @@ class TournamentRegistrationService:
else :
else :
return
return
else :
else :
print ( " _handle_first_tournament_case " )
self . _handle_first_tournament_case ( data )
self . _handle_first_tournament_case ( data )
def _set_default_rank ( self , player_data ) :
def _set_default_rank ( self , player_data ) :
@ -245,7 +257,7 @@ class TournamentRegistrationService:
self . request . session [ ' is_woman ' ] = data [ ' is_woman ' ]
self . request . session [ ' is_woman ' ] = data [ ' is_woman ' ]
self . request . session . modified = True
self . request . session . modified = True
player_data [ ' rank ' ] = self . request . session . get ( ' last_rank ' , 0 )
player_data [ ' rank ' ] = self . request . session . get ( ' last_rank ' , None )
player_data [ ' is_woman ' ] = self . request . session . get ( ' is_woman ' , False )
player_data [ ' is_woman ' ] = self . request . session . get ( ' is_woman ' , False )
def _update_user_license ( self , licence_id ) :
def _update_user_license ( self , licence_id ) :
@ -261,6 +273,7 @@ class TournamentRegistrationService:
self . context [ ' add_player_form ' ] . first_tournament = False
self . context [ ' add_player_form ' ] . first_tournament = False
def _update_player_data_from_csv ( self , player_data , csv_data ) :
def _update_player_data_from_csv ( self , player_data , csv_data ) :
print ( " _update_player_data_from_csv " , player_data , csv_data )
player_data . update ( {
player_data . update ( {
' first_name ' : csv_data [ ' first_name ' ] ,
' first_name ' : csv_data [ ' first_name ' ] ,
' last_name ' : csv_data [ ' last_name ' ] ,
' last_name ' : csv_data [ ' last_name ' ] ,
@ -278,6 +291,7 @@ class TournamentRegistrationService:
} )
} )
def _handle_first_tournament_case ( self , data ) :
def _handle_first_tournament_case ( self , data ) :
print ( " _handle_first_tournament_case " , data )
if data :
if data :
self . request . session [ ' last_rank ' ] = data [ ' rank ' ]
self . request . session [ ' last_rank ' ] = data [ ' rank ' ]
self . request . session [ ' is_woman ' ] = data [ ' is_woman ' ]
self . request . session [ ' is_woman ' ] = data [ ' is_woman ' ]
@ -307,6 +321,6 @@ class TournamentRegistrationService:
def _license_already_registered ( self , stripped_license ) :
def _license_already_registered ( self , stripped_license ) :
return PlayerRegistration . objects . filter (
return PlayerRegistration . objects . filter (
team_registration__tournament = self . tournament ,
team_registration__tournament = self . tournament ,
licence_id__startswith = stripped_license ,
licence_id__icontains = stripped_license ,
team_registration__walk_out = False
team_registration__walk_out = False
) . exists ( )
) . exists ( )