class FoodDonationSerializers(serpy.Serializer): id = serpy.Field() id_stripe = serpy.Field() food = FoodRunSerializers() user = accounts_serializers.UserSerializers() amount = serpy.Field()
class FoodRunSerializers(serpy.Serializer): id = serpy.Field() user = accounts_serializers.UserSerializers() name = serpy.Field() description = serpy.Field() image = serpy.MethodField('get_image') total = serpy.Field() rest = serpy.Field() invitation_message = serpy.Field() total_volunteers = serpy.Field() rest_volunteers = serpy.Field() status = serpy.Field() created_at = serpy.Field() execution_date = serpy.Field() def get_image(self, obj): """ With this method obtain phone number of the user :param obj: object User :type obj: Model User :return: if phone number is None return None :return: phone number """ if obj.image: return obj.image.url return None
class PortfolioSerializers(serpy.Serializer): """ This class convert user data into json """ id = serpy.Field() homeless = accounts_serializers.HomelessProfileSerializers() userRegisterer = accounts_serializers.UserSerializers() image = serpy.MethodField() details = serpy.Field() def get_image(self, obj): print('********************************************') print(obj) print('********************************************') """ With this method obtain phone number of the user :param obj: object User :type obj: Model User :return: if phone number is None return None :return: phone number """ if obj.image: return obj.image.url return None
class FoodVolunteerSerializers(serpy.Serializer): id = serpy.Field() user = accounts_serializers.UserSerializers() photo = serpy.MethodField('get_image') food = FoodRunSerializers() def get_image(self, obj): if obj.user.profile: if obj.user.profile.photo: return obj.user.profile.photo.url return None
def post(self, request): try: user = accounts_services.register_user(request.data, user=request.user) except ValueError as e: return Response({'detail': str(e)}, status=status.HTTP_400_BAD_REQUEST) except PermissionDenied as e: return Response({'detail': str(e)}, status=status.HTTP_401_UNAUTHORIZED) except Exception as e: return Response({"detail": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) serializer = accounts_serializers.UserSerializers(user, many=False).data serializer['detail'] = str(_("You have register a user correctly")) return Response(serializer, status=status.HTTP_201_CREATED)
def post(self, request): try: user = accounts_services.login(request.data) except ValueError as e: return Response({"detail": str(e)}, status=status.HTTP_400_BAD_REQUEST) except PermissionDenied as e: return Response({"detail": str(e)}, status=status.HTTP_401_UNAUTHORIZED) except Exception as e: return Response({"detail": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) token, created = Token.objects.get_or_create(user=user) serializer = accounts_serializers.UserSerializers(user, many=False).data serializer['username'] = user.username serializer['token'] = token.key serializer['last_login'] = user.last_login return Response(serializer, status=status.HTTP_200_OK)
class FeedSerializers(serpy.Serializer): id = serpy.Field() userRegisterer = accounts_serializers.UserSerializers() image = serpy.MethodField('get_image') description = serpy.Field() created_at = serpy.Field() def get_image(self, obj): """ With this method obtain phone number of the user :param obj: object User :type obj: Model User :return: if phone number is None return None :return: phone number """ if obj.image: return obj.image.url return None
class CommentsSerializers(serpy.Serializer): user = accounts_serializers.UserSerializers() id = serpy.Field() comment = serpy.Field() created_at = serpy.Field()
class DonationSerializers(serpy.Serializer): idStripe = serpy.Field() user = accounts_serializers.UserSerializers() #cause = CauseSerializers() amount = serpy.Field()