diff --git a/src/backend/core/api/serializers.py b/src/backend/core/api/serializers.py index ba96328..3fbdd27 100644 --- a/src/backend/core/api/serializers.py +++ b/src/backend/core/api/serializers.py @@ -29,7 +29,6 @@ class ContactSerializer(serializers.ModelSerializer): class UserSerializer(serializers.ModelSerializer): """Serialize users.""" - data = serializers.SerializerMethodField(read_only=True) timezone = TimeZoneSerializerField(use_pytz=False, required=True) class Meta: @@ -37,17 +36,12 @@ class UserSerializer(serializers.ModelSerializer): fields = [ "id", "email", - "data", "language", "timezone", "is_device", "is_staff", ] - read_only_fields = ["id", "email", "data", "is_device", "is_staff"] - - def get_data(self, user) -> dict: - """Return contact data for the user.""" - return user.profile_contact.data if user.profile_contact else {} + read_only_fields = ["id", "email", "is_device", "is_staff"] class TeamAccessSerializer(serializers.ModelSerializer): diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index a3f1a44..f17fb86 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -186,7 +186,7 @@ class UserViewSet( """ permission_classes = [permissions.IsSelf] - queryset = models.User.objects.all().select_related("profile_contact") + queryset = models.User.objects.all() serializer_class = serializers.UserSerializer throttle_classes = [BurstRateThrottle, SustainedRateThrottle] pagination_class = Pagination diff --git a/src/backend/core/migrations/0001_initial.py b/src/backend/core/migrations/0001_initial.py index 3966fa1..76c4726 100644 --- a/src/backend/core/migrations/0001_initial.py +++ b/src/backend/core/migrations/0001_initial.py @@ -1,6 +1,6 @@ -# Generated by Django 5.0.1 on 2024-02-06 15:08 +# Generated by Django 5.0.1 on 2024-02-21 12:34 -import core.models +import django.contrib.auth.models import django.core.validators import django.db.models.deletion import timezone_field.fields @@ -59,9 +59,6 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'users', 'db_table': 'people_user', }, - managers=[ - ('objects', core.models.UserManager()), - ], ), migrations.CreateModel( name='Contact', diff --git a/src/backend/core/models.py b/src/backend/core/models.py index 47a6aff..4a5e6e8 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -149,16 +149,6 @@ class Contact(BaseModel): raise exceptions.ValidationError({"data": [error_message]}) from e -class UserManager(auth_models.UserManager): - """ - Override user manager to get the related contact in the same query by default (Contact model) - """ - - def get_queryset(self): - """Always select the related contact when doing a query on users.""" - return super().get_queryset().select_related("profile_contact") - - class User(AbstractBaseUser, BaseModel, auth_models.PermissionsMixin): """User model to work with OIDC only authentication.""" @@ -202,7 +192,7 @@ class User(AbstractBaseUser, BaseModel, auth_models.PermissionsMixin): ), ) - objects = UserManager() + objects = auth_models.UserManager() USERNAME_FIELD = "email" REQUIRED_FIELDS = [] diff --git a/src/backend/core/tests/test_api_users.py b/src/backend/core/tests/test_api_users.py index 8adad4b..9474b54 100644 --- a/src/backend/core/tests/test_api_users.py +++ b/src/backend/core/tests/test_api_users.py @@ -311,7 +311,6 @@ def test_api_users_retrieve_me_authenticated(): "timezone": str(user.timezone), "is_device": False, "is_staff": False, - "data": user.profile_contact.data, }