diff --git a/api/serializers.py b/api/serializers.py index 5f56331..d0be405 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -14,7 +14,7 @@ class StudentSerializer(serializers.ModelSerializer): """Serializer for Student model.""" class Meta: model = Student - fields = ['id', 'email', 'name'] + fields = ['id', 'email', 'name', 'photo'] class CatererSerializer(serializers.ModelSerializer): diff --git a/api/views.py b/api/views.py index d7abe84..eced1a2 100644 --- a/api/views.py +++ b/api/views.py @@ -14,6 +14,8 @@ QRVerifySerializer, MealSerializer, UserSerializer, QRVerifyPostSerializer ) from .utils.rebate_checker import is_student_on_rebate +from allauth.socialaccount.models import SocialAccount +from django.contrib.auth.models import User class LogoutView(APIView): """ @@ -172,6 +174,8 @@ def post(self, request): try: card = MessCard.objects.get(id=card_id) card_return_data = QRVerifySerializer(card).data + if not card_return_data.get('student').get('photo'): + return Response({"success": False, "detail": "Student photo not available.", "mess_card": card_return_data}, status=status.HTTP_400_BAD_REQUEST) date = timezone.localtime().date() time = timezone.localtime().time() meal, _ = Meal.objects.get_or_create(mess_card=card, date=date)