From 782091e4bbe81bb4cef81b3e9e201a17b62b2d19 Mon Sep 17 00:00:00 2001 From: Daniel Callero <81188779+danicallero@users.noreply.github.com> Date: Sat, 7 Feb 2026 13:24:54 +0100 Subject: [PATCH 1/2] feat: Add rol field to VerPersonaSerializer and PersonaReducidaSerializer --- api/serializers.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/api/serializers.py b/api/serializers.py index a533dca..8c8c4c4 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -11,7 +11,18 @@ ) -class VerPersonaSerializer(serializers.ModelSerializer): +class RolPersonaMixin: + rol = serializers.SerializerMethodField() + + def get_rol(self, obj: Persona) -> str: + if hasattr(obj, "mentor"): + return "Mentor" + if hasattr(obj, "participante"): + return "Hacker" + return "Hacker" + + +class VerPersonaSerializer(RolPersonaMixin, serializers.ModelSerializer): restricciones_alimentarias = serializers.PrimaryKeyRelatedField( many=True, read_only=True ) @@ -22,6 +33,7 @@ class Meta: "correo", "nombre", "dni", + "rol", "restricciones_alimentarias", "detalle_restricciones_alimentarias", "compartir_cv", @@ -47,10 +59,12 @@ class Meta: fields = ["correo", "acreditacion"] -class PersonaReducidaSerializer(serializers.ModelSerializer): +class PersonaReducidaSerializer(RolPersonaMixin, serializers.ModelSerializer): + rol = serializers.SerializerMethodField() + class Meta: model = Persona - fields = ["correo", "nombre", "acreditacion"] + fields = ["correo", "nombre", "acreditacion", "rol"] class TipoPaseSerializer(serializers.ModelSerializer): From dcd63d6ee839a8b402e6add05fffc6ffb3ac7328 Mon Sep 17 00:00:00 2001 From: Daniel Callero Date: Sat, 7 Feb 2026 13:40:53 +0100 Subject: [PATCH 2/2] feat: Define rol field in VerPersonaSerializer --- api/serializers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/api/serializers.py b/api/serializers.py index 8c8c4c4..a7a1cfc 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -26,6 +26,7 @@ class VerPersonaSerializer(RolPersonaMixin, serializers.ModelSerializer): restricciones_alimentarias = serializers.PrimaryKeyRelatedField( many=True, read_only=True ) + rol = serializers.SerializerMethodField() class Meta: model = Persona