parent
185aa29f3d
commit
e019cea984
@ -0,0 +1,28 @@ |
||||
# Generated by Django 5.1 on 2025-04-10 19:13 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0121_tournament_stripe_account_id'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='enable_online_payments', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='user_role', |
||||
field=models.IntegerField(blank=True, choices=[(0, 'Juge-Arbitre'), (1, 'Club Owner'), (2, 'Player')], null=True), |
||||
), |
||||
migrations.AddField( |
||||
model_name='tournament', |
||||
name='enable_time_to_confirm', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
] |
||||
@ -0,0 +1,28 @@ |
||||
# Generated by Django 5.1 on 2025-04-11 05:03 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0122_customuser_enable_online_payments_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AddField( |
||||
model_name='tournament', |
||||
name='is_staff_tournament', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AddField( |
||||
model_name='tournament', |
||||
name='is_template', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='customuser', |
||||
name='is_staff', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
] |
||||
@ -0,0 +1,18 @@ |
||||
# Generated by Django 5.1 on 2025-04-11 05:13 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0123_tournament_is_staff_tournament_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='playerregistration', |
||||
name='registration_status', |
||||
field=models.IntegerField(choices=[(0, 'Waiting'), (1, 'Pending'), (2, 'Confirmed'), (3, 'Canceled')], default=0), |
||||
), |
||||
] |
||||
@ -0,0 +1,43 @@ |
||||
# Generated by Django 5.1 on 2025-04-11 07:17 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0124_alter_playerregistration_registration_status'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='disable_ranking_federal_ruling', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='hide_umpire_mail', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='hide_umpire_phone', |
||||
field=models.BooleanField(default=True), |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='umpire_custom_contact', |
||||
field=models.CharField(blank=True, max_length=200, null=True), |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='umpire_custom_mail', |
||||
field=models.EmailField(blank=True, max_length=254, null=True), |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='umpire_custom_phone', |
||||
field=models.CharField(blank=True, max_length=15, null=True), |
||||
), |
||||
] |
||||
@ -0,0 +1,27 @@ |
||||
# Generated by Django 5.1 on 2025-04-11 08:25 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0125_customuser_disable_ranking_federal_ruling_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RemoveField( |
||||
model_name='customuser', |
||||
name='enable_online_payments', |
||||
), |
||||
migrations.AddField( |
||||
model_name='customuser', |
||||
name='registration_payment_mode', |
||||
field=models.IntegerField(choices=[(0, 'No Payment'), (1, 'Direct Payment'), (2, 'No Service Fee')], default=0), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='customuser', |
||||
name='is_staff', |
||||
field=models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status'), |
||||
), |
||||
] |
||||
@ -0,0 +1,18 @@ |
||||
# Generated by Django 5.1 on 2025-04-11 08:26 |
||||
|
||||
from django.db import migrations |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0126_remove_customuser_enable_online_payments_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RenameField( |
||||
model_name='tournament', |
||||
old_name='is_staff_tournament', |
||||
new_name='is_corporate_tournament', |
||||
), |
||||
] |
||||
@ -1,81 +0,0 @@ |
||||
from .models import TeamRegistration, PlayerRegistration |
||||
from .models.player_enums import PlayerSexType, PlayerDataSource |
||||
from .models.enums import FederalCategory |
||||
from tournaments.utils.licence_validator import LicenseValidator |
||||
|
||||
class TournamentRegistrationRepository: |
||||
@staticmethod |
||||
def create_team_registration(tournament, registration_date): |
||||
team_registration = TeamRegistration.objects.create( |
||||
tournament=tournament, |
||||
registration_date=registration_date |
||||
) |
||||
return team_registration |
||||
|
||||
@staticmethod |
||||
def create_player_registrations(request, team_registration, players_data, team_form_data): |
||||
stripped_license = None |
||||
if request.user.is_authenticated and request.user.licence_id: |
||||
stripped_license = LicenseValidator(request.user.licence_id).stripped_license |
||||
|
||||
for player_data in players_data: |
||||
is_captain = False |
||||
player_licence_id = player_data['licence_id'] |
||||
if player_licence_id and stripped_license: |
||||
if stripped_license.lower() in player_licence_id.lower(): |
||||
is_captain = True |
||||
|
||||
sex, rank, computed_rank = TournamentRegistrationRepository._compute_rank_and_sex( |
||||
team_registration.tournament, |
||||
player_data |
||||
) |
||||
|
||||
print("create_player_registrations", player_data.get('last_name'), sex, rank, computed_rank) |
||||
data_source = None |
||||
if player_data.get('found_in_french_federation', False) == True: |
||||
data_source = PlayerDataSource.FRENCH_FEDERATION |
||||
|
||||
player_registration = PlayerRegistration.objects.create( |
||||
team_registration=team_registration, |
||||
captain=is_captain, |
||||
source=data_source, |
||||
registered_online=True, |
||||
first_name=player_data.get('first_name'), |
||||
last_name=player_data.get('last_name'), |
||||
points=player_data.get('points'), |
||||
assimilation=player_data.get('assimilation'), |
||||
tournament_played=player_data.get('tournament_count'), |
||||
ligue_name=player_data.get('ligue_name'), |
||||
club_name=player_data.get('club_name'), |
||||
birthdate=player_data.get('birth_year'), |
||||
sex=sex, |
||||
rank=rank, |
||||
computed_rank=computed_rank, |
||||
licence_id=player_data['licence_id'], |
||||
email=player_data.get('email'), |
||||
phone_number=player_data.get('mobile_number'), |
||||
) |
||||
|
||||
player_registration.save() |
||||
|
||||
team_registration.set_weight() |
||||
team_registration.save() |
||||
|
||||
@staticmethod |
||||
def _compute_rank_and_sex(tournament, player_data): |
||||
is_woman = player_data.get('is_woman', False) |
||||
rank = player_data.get('rank', None) |
||||
if rank is None: |
||||
computed_rank = 100000 |
||||
else: |
||||
computed_rank = rank |
||||
|
||||
sex = PlayerSexType.MALE |
||||
if is_woman: |
||||
sex = PlayerSexType.FEMALE |
||||
if tournament.federal_category == FederalCategory.MEN: |
||||
computed_rank = str(int(computed_rank) + |
||||
FederalCategory.female_in_male_assimilation_addition(int(rank))) |
||||
|
||||
print("_compute_rank_and_sex", sex, rank, computed_rank) |
||||
return sex, rank, computed_rank |
||||
Loading…
Reference in new issue