handle automatic waiting list email

online_registration
Raz 11 months ago
parent 97d9133f40
commit 2623961e1f
  1. 4
      tournaments/services/email_service.py
  2. 5
      tournaments/services/tournament_registration.py
  3. 7
      tournaments/signals.py

@ -4,8 +4,7 @@ from django.urls import reverse
class TournamentEmailService:
@staticmethod
def send_registration_confirmation(request, tournament, team_registration):
waiting_list_position = tournament.get_waiting_list_position()
def send_registration_confirmation(request, tournament, team_registration, waiting_list_position):
tournament_details_str = tournament.build_tournament_details_str()
name_str = tournament.build_name_details_str()
@ -122,6 +121,7 @@ class TournamentEmailService:
body=email_body,
to=[captain.email]
)
email.send()
if other_player.email is not None:

@ -64,6 +64,8 @@ class TournamentRegistrationService:
if not self.context['team_form'].is_valid():
return
waiting_list_position = self.tournament.get_waiting_list_position()
team_registration = self.repository.create_team_registration(
self.tournament,
timezone.now().replace(microsecond=0)
@ -79,7 +81,8 @@ class TournamentRegistrationService:
self.email_service.send_registration_confirmation(
self.request,
self.tournament,
team_registration
team_registration,
waiting_list_position
)
self.clear_session_data()

@ -62,6 +62,7 @@ def send_discord_message(webhook_url, content):
def unregister_team(sender, instance, **kwargs):
team_registration = instance
tournament=instance.tournament
first_waiting_list_team = tournament.first_waiting_list_team()
print("Unregistering team from tournament")
unregistered_team = UnregisteredTeam.objects.create(
tournament=tournament,
@ -82,8 +83,6 @@ def unregister_team(sender, instance, **kwargs):
licence_id=player.licence_id,
)
first_waiting_list_team = tournament.first_waiting_list_team()
if first_waiting_list_team:
waiting_captain = None
waiting_other_player = None
@ -93,14 +92,14 @@ def unregister_team(sender, instance, **kwargs):
else:
waiting_other_player = player
if waiting_captain and waiting_captain.source is PlayerDataSource.ONLINE_REGISTRATION and waiting_captain.email:
if waiting_captain is not None and waiting_captain.source == PlayerDataSource.ONLINE_REGISTRATION and waiting_captain.email is not None:
TournamentEmailService.send_out_of_waiting_list_confirmation(
waiting_captain,
tournament,
waiting_other_player
)
if captain and captain.source is PlayerDataSource.ONLINE_REGISTRATION and captain.email:
if captain is not None and captain.source == PlayerDataSource.ONLINE_REGISTRATION and captain.email is not None:
TournamentEmailService.send_unregistration_confirmation(
captain,
tournament,

Loading…
Cancel
Save