🔥(backend) remove users systematic return of profile_contact

Custom UserManaged returned profile_contact field when returning users.
While this may be useful later, we'd currently rather have it return users.
This commit is contained in:
Marie PUPO JEAMMET
2024-02-19 16:16:39 +01:00
committed by Marie
parent 5113eb013b
commit 63e059a4e6
5 changed files with 5 additions and 25 deletions

View File

@@ -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):

View File

@@ -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

View File

@@ -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',

View File

@@ -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 = []

View File

@@ -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,
}