From fccdf32ece435331069d4652eb3befa6d12dcdde Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 5 Dec 2024 12:20:57 +0100 Subject: [PATCH] Update services to handle the agents system --- api/urls.py | 2 +- api/views.py | 12 ------------ tournaments/admin.py | 2 +- .../migrations/0104_customuser_referees.py | 19 +++++++++++++++++++ .../0105_rename_referees_customuser_agents.py | 18 ++++++++++++++++++ tournaments/models/custom_user.py | 1 + 6 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 tournaments/migrations/0104_customuser_referees.py create mode 100644 tournaments/migrations/0105_rename_referees_customuser_agents.py diff --git a/api/urls.py b/api/urls.py index d94a04e..ed56847 100644 --- a/api/urls.py +++ b/api/urls.py @@ -7,7 +7,7 @@ from sync.views import SynchronizationApi, UserDataAccessApi, DataAccessViewSet router = routers.DefaultRouter() router.register(r'users', views.UserViewSet) -router.register(r'users-search', views.ShortUserViewSet) +router.register(r'user-names', views.ShortUserViewSet) router.register(r'clubs', views.ClubViewSet) router.register(r'tournaments', views.TournamentViewSet) router.register(r'events', views.EventViewSet) diff --git a/api/views.py b/api/views.py index d7c7c8d..989d755 100644 --- a/api/views.py +++ b/api/views.py @@ -105,18 +105,6 @@ class ShortUserViewSet(viewsets.ModelViewSet): serializer_class = ShortUserSerializer permission_classes = [] # Users are public whereas the other requests are only for logged users - def get_queryset(self): - queryset = CustomUser.objects.all() - search_term = self.request.query_params.get('search', None) - - if search_term: - queryset = queryset.filter( - Q(first_name__icontains=search_term) | - Q(last_name__icontains=search_term) - ) - - return queryset - class ClubViewSet(viewsets.ModelViewSet): queryset = Club.objects.all() serializer_class = ClubSerializer diff --git a/tournaments/admin.py b/tournaments/admin.py index 1fa4e29..a47650c 100644 --- a/tournaments/admin.py +++ b/tournaments/admin.py @@ -22,7 +22,7 @@ class CustomUserAdmin(UserAdmin): 'summons_message_body', 'summons_message_signature', 'summons_available_payment_methods', 'summons_display_format', 'summons_display_entry_fee', 'summons_use_full_custom_message', 'match_formats_default_duration', 'bracket_match_format_preference', 'group_stage_match_format_preference', - 'loser_bracket_match_format_preference', 'device_id' + 'loser_bracket_match_format_preference', 'device_id', 'agents' ]}), ] add_fieldsets = [ diff --git a/tournaments/migrations/0104_customuser_referees.py b/tournaments/migrations/0104_customuser_referees.py new file mode 100644 index 0000000..5e6ed5e --- /dev/null +++ b/tournaments/migrations/0104_customuser_referees.py @@ -0,0 +1,19 @@ +# Generated by Django 5.1 on 2024-12-04 15:40 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tournaments', '0103_remove_modellog_users_delete_dataaccess_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='customuser', + name='referees', + field=models.ManyToManyField(blank=True, related_name='owners', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/tournaments/migrations/0105_rename_referees_customuser_agents.py b/tournaments/migrations/0105_rename_referees_customuser_agents.py new file mode 100644 index 0000000..e467826 --- /dev/null +++ b/tournaments/migrations/0105_rename_referees_customuser_agents.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1 on 2024-12-05 11:14 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('tournaments', '0104_customuser_referees'), + ] + + operations = [ + migrations.RenameField( + model_name='customuser', + old_name='referees', + new_name='agents', + ), + ] diff --git a/tournaments/models/custom_user.py b/tournaments/models/custom_user.py index e52e79f..383b058 100644 --- a/tournaments/models/custom_user.py +++ b/tournaments/models/custom_user.py @@ -33,6 +33,7 @@ class CustomUser(AbstractUser): loser_bracket_match_format_preference = models.IntegerField(default=enums.FederalMatchCategory.NINE_GAMES, choices=enums.FederalMatchCategory.choices, null=True, blank=True) device_id = models.CharField(max_length=50, null=True, blank=True) + agents = models.ManyToManyField('CustomUser', blank=True, related_name='owners') ### ### ### ### ### ### ### ### ### ### ### WARNING ### ### ### ### ### ### ### ### ### ### ### WARNING : Any added field MUST be inserted in the method below: fields_for_update() ###