Skip to content

Commit

Permalink
Merge pull request #3654 from webkom/remove-unused-detailed-user-seri…
Browse files Browse the repository at this point in the history
…alizer

Remove unused DetailedUserSerializer
  • Loading branch information
eikhr authored Oct 11, 2024
2 parents c73f72d + 7acd0a4 commit 5ae47bc
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 52 deletions.
4 changes: 2 additions & 2 deletions lego/apps/jwt/handlers.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from rest_framework_jwt.settings import api_settings

from lego.apps.stats.utils import track
from lego.apps.users.serializers.users import MeSerializer
from lego.apps.users.serializers.users import CurrentUserSerializer

jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
Expand All @@ -13,7 +13,7 @@ def response_handler(token, user=None, request=None, issued_at=None):
which includes the serialized representation of the User.
"""
track(user, "authenticate")
return {"token": token, "user": MeSerializer(user).data}
return {"token": token, "user": CurrentUserSerializer(user).data}


def get_jwt_token(user):
Expand Down
43 changes: 1 addition & 42 deletions lego/apps/users/serializers/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,47 +15,6 @@
from lego.utils.fields import PrimaryKeyRelatedFieldNoPKOpt


class DetailedUserSerializer(serializers.ModelSerializer):
abakus_groups = PublicAbakusGroupSerializer(many=True)
past_memberships = PastMembershipSerializer(many=True)
penalties = serializers.SerializerMethodField("get_valid_penalties")
profile_picture = ImageField(required=False, options={"height": 200, "width": 200})
profile_picture_placeholder = ImageField(
source="profile_picture",
required=False,
options={"height": 20, "width": 20, "filters": ["blur(20)"]},
)

def get_valid_penalties(self, user):
qs = Penalty.objects.valid().filter(user=user)
serializer = PenaltySerializer(instance=qs, many=True)
return serializer.data

class Meta:
model = User
fields = (
"id",
"username",
"first_name",
"last_name",
"full_name",
"gender",
"email",
"email_address",
"email_lists_enabled",
"profile_picture",
"profile_picture_placeholder",
"allergies",
"is_active",
"penalties",
"abakus_groups",
"past_memberships",
"permissions_per_group",
"github_username",
"linkedin_id",
)


class PublicUserSerializer(serializers.ModelSerializer):
profile_picture = ImageField(required=False, options={"height": 200, "width": 200})
profile_picture_placeholder = ImageField(
Expand Down Expand Up @@ -205,7 +164,7 @@ def get_is_student(self, user):
return user.is_verified_student()


class MeSerializer(serializers.ModelSerializer):
class CurrentUserSerializer(serializers.ModelSerializer):
"""
Serializer for the /me, retrieve and update endpoint with EDIT permissions.
Also used by our JWT handler and returned to the user when a user obtains a JWT token.
Expand Down
4 changes: 2 additions & 2 deletions lego/apps/users/views/password_reset.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
PasswordResetPerformSerializer,
PasswordResetRequestSerializer,
)
from lego.apps.users.serializers.users import DetailedUserSerializer
from lego.apps.users.serializers.users import CurrentUserSerializer
from lego.utils.tasks import send_email

log = get_logger()
Expand Down Expand Up @@ -67,4 +67,4 @@ def create(self, request, *args, **kwargs):

user.set_password(password)
user.save()
return Response(DetailedUserSerializer(user).data, status=status.HTTP_200_OK)
return Response(CurrentUserSerializer(user).data, status=status.HTTP_200_OK)
12 changes: 6 additions & 6 deletions lego/apps/users/views/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from lego.apps.users.serializers.registration import RegistrationConfirmationSerializer
from lego.apps.users.serializers.users import (
ChangeGradeSerializer,
MeSerializer,
CurrentUserSerializer,
Oauth2UserDataSerializer,
PublicUserSerializer,
PublicUserWithGroupsSerializer,
Expand All @@ -39,7 +39,7 @@ def get_queryset(self):

def get_serializer_class(self):
"""
Users should receive the DetailedUserSerializer if they tries to get themselves or have the
Users should receive the CurrentUserSerializer if they try to get themselves or have the
EDIT permission.
"""
if self.action in ["retrieve", "update", "partial_update"]:
Expand All @@ -52,7 +52,7 @@ def get_serializer_class(self):
self.request.user.has_perm(EDIT, instance)
or self.request.user == instance
):
return MeSerializer
return CurrentUserSerializer

return PublicUserWithGroupsSerializer

Expand Down Expand Up @@ -89,7 +89,7 @@ def oauth2_userdata(self, request):
detail=False,
methods=["GET"],
permission_classes=[IsAuthenticated],
serializer_class=MeSerializer,
serializer_class=CurrentUserSerializer,
)
def me(self, request):
"""
Expand Down Expand Up @@ -173,7 +173,7 @@ def change_grade(self, request, *args, **kwargs):
if newGrade is not None:
newGrade.add_user(user)

return Response(MeSerializer(user).data)
return Response(CurrentUserSerializer(user).data)

def destroy(self, request, *args, **kwargs):
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
Expand All @@ -196,4 +196,4 @@ def update_photo_consent(self, request, *args, **kwargs):

serializer.save()

return Response(MeSerializer(user).data)
return Response(CurrentUserSerializer(user).data)

0 comments on commit 5ae47bc

Please sign in to comment.