class WorkBasketSerializer(serializers.ModelSerializer): approver_id = serializers.IntegerField(required=False, allow_null=True) approver = UserSerializer(read_only=True) author = UserSerializer(read_only=True) envelope_id = serializers.SerializerMethodField(read_only=True) transactions = TransactionSerializer(read_only=True, many=True) def get_envelope_id(self, object: models.WorkBasket): return object.pk class Meta: model = models.WorkBasket fields = [ "id", "title", "reason", "author", "approver_id", "approver", "status", "transactions", "envelope_id", "created_at", "updated_at", ]
def get(self, request): user = request.user data = UserSerializer(user).data if 'api/ambassador' in request.path: data[ 'revenue'] = user.revenue # RESTITUISCO la revenue SOLO se è un ambassador o loggato come tale return Response(data)
def put(self, request, pk=None): user = request.user data = request.data if data['password'] != data['password_confirm']: raise exceptions.APIException('Passwords do not match!') user.set_password(data['password']) user.save() return Response(UserSerializer(user).data)
def post(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) if not serializer.is_valid(raise_exception=True): return Response({'message': 'Request Body Error.'}, status = status.HTTP_409_CONFLICT) serializer.is_valid(raise_exception=True) user = serializer.save(request) return Response({ 'user': UserSerializer(user, context = self.get_serializer_context()).data }, status = status.HTTP_201_CREATED)
def post(self, request, *args, **kwargs): try: user_data = json.loads(request.body) user = authenticate(username=user_data['username'], password=user_data['password']) request.user = user login(request, request.user) return Response(UserSerializer(request.user).data) except: return HttpResponseBadRequest(json.dumps({'error': 'bad request'}), content_type="application/json")
def post(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) if not serializer.is_valid(raise_exception=True): return Response({'message': 'Request Body Error.'}, status = status.HTTP_409_CONFLICT) serializer.is_valid(raise_exception=True) user = serializer.validated_data if user['username'] == 'None': return Response({'message': 'fail'}, status=status.HTTP_401_UNAUTHORIZED) return Response({ 'user': UserSerializer(user, context=self.get_serializer_context()).data, 'token': user['token'] })
def post(self, request): data = request.data if data['password'] != data['password_confirm']: raise exceptions.APIException('Passwords do not match!') data[ 'is_ambassador'] = 'api/ambassador' in request.path # se chiamo url ambassador sono amabssador serializer = UserSerializer(data=data) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data)
class RefrigeratorSerializer(serializers.ModelSerializer): owner = UserSerializer(many=False, read_only=True) item_set = ItemSerializer(many=True, read_only=True, required=False) basic_item_set = BasicItemSerializer(many=True, read_only=True, required=False) memo_set = MemoSerializer(many=True, read_only=True, required=False) class Meta: model = models.Refrigerator fields = ('pk', 'owner', 'item_num', 'item_set', 'basic_item_num', 'basic_item_set', 'memo_num', 'memo_set', 'cool_refrige_item_num', 'freeze_refrige_item_num', 'room_temp_item_num', 'created_at', 'updated_at') # new_pw = request.data['new_password'] # new_pw_confirm = request.data['new_password_confirm'] # if new_pw == new_pw_confirm: # user.set_password(new_pw) # user.save() # auth.login(request, user) # Response({ # 'success': 'true', # 'msg': '비밀번호가 변경되었습니다.' # }, status=status.HTTP_200_OK)
def get(self, _): ambassadors = User.objects.filter(is_ambassador=True) serializer = UserSerializer( ambassadors, many=True) # many perché potrebbe restituire più di un oggetto return Response(serializer.data)
def get_account(request): current_user = request.user return Response(UserSerializer(current_user).data)
class CarsListSerializer(serializers.ModelSerializer): user = UserSerializer() class Meta: model = Car fields = ('id', 'vin', 'car_type', 'user')
class PostsListSerializer(serializers.ModelSerializer): user = UserSerializer() class Meta: model = Blog fields = ('id', 'user')
def get(self, _): ambassadors = User.objects.filter(is_ambassador=True) serializer = UserSerializer(ambassadors, many=True) return Response(serializer.data)
def put(self, request, pk=None): user = request.user serializer = UserSerializer(user, data=request.data, partial=True) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data)
def get_author(self, obj): from common.serializers import UserSerializer user = self.get_author(obj) return UserSerializer(user, many=False, read_only=True).data