Skip to content

Commit 4437a9c

Browse files
Add student_id and photo fields to StudentSerializer (#128)
* Add student_id and photo fields to StudentSerializer * Remove student_id field from StudentSerializer * Fetch student photo from Google account if not present in QRVerifyUpdateView * Fetch student photo from Google account using email in QRVerifyUpdateView * Return error response if student photo is not available in QRVerifyUpdateView
1 parent 9a05fd2 commit 4437a9c

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

api/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class StudentSerializer(serializers.ModelSerializer):
1414
"""Serializer for Student model."""
1515
class Meta:
1616
model = Student
17-
fields = ['id', 'email', 'name']
17+
fields = ['id', 'email', 'name', 'photo']
1818

1919

2020
class CatererSerializer(serializers.ModelSerializer):

api/views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
QRVerifySerializer, MealSerializer, UserSerializer, QRVerifyPostSerializer
1515
)
1616
from .utils.rebate_checker import is_student_on_rebate
17+
from allauth.socialaccount.models import SocialAccount
18+
from django.contrib.auth.models import User
1719

1820
class LogoutView(APIView):
1921
"""
@@ -172,6 +174,8 @@ def post(self, request):
172174
try:
173175
card = MessCard.objects.get(id=card_id)
174176
card_return_data = QRVerifySerializer(card).data
177+
if not card_return_data.get('student').get('photo'):
178+
return Response({"success": False, "detail": "Student photo not available.", "mess_card": card_return_data}, status=status.HTTP_400_BAD_REQUEST)
175179
date = timezone.localtime().date()
176180
time = timezone.localtime().time()
177181
meal, _ = Meal.objects.get_or_create(mess_card=card, date=date)

0 commit comments

Comments
 (0)