add city & province name to user serializer

This commit is contained in:
2025-06-15 12:19:21 +03:30
parent 6dcebf03f5
commit 9968447a80
2 changed files with 24 additions and 5 deletions

View File

@@ -94,6 +94,11 @@ class UserSerializer(serializers.ModelSerializer):
'otp_status',
'is_herd_owner',
]
extra_kwargs = {
'password': {
'required': False
}
}
def to_representation(self, instance):
""" Custom output """
@@ -105,10 +110,8 @@ class UserSerializer(serializers.ModelSerializer):
).data
if instance.city:
representation['city_id'] = instance.city.id
representation['city_name'] = instance.city.name
if instance.province:
representation['province_id'] = instance.province.id
representation['province_name'] = instance.province.name
return representation

View File

@@ -25,12 +25,30 @@ def delete(queryset, pk):
class QuotaDistributionViewSet(viewsets.ModelViewSet):
""" quota distribution apis """
queryset = product_models.QuotaDistribution.objects.all()
serializer_class = distribution_serializers.QuotaDistributionSerializer
@transaction.atomic
def create(self, request, *args, **kwargs):
pass
""" create distribution for organizations users """
# get distributed assigner user
try:
assigner_user = product_models.UserRelations.objects.filter(
user=request.user
).first()
except APIException as e:
raise APIException("unauthorized", code=status.HTTP_401_UNAUTHORIZED)
request.data.update({'assigner_organization': assigner_user.id})
serializer = self.serializer_class(data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)
@action(
methods=['put'],
@@ -62,5 +80,3 @@ class QuotaDistributionViewSet(viewsets.ModelViewSet):
return Response(status=status.HTTP_200_OK)
except APIException as e:
return Response(e, status=status.HTTP_204_NO_CONTENT)