def put(self, request, pk=None): """ Update """ client_ip, is_routable = get_client_ip(self.request) associate = get_object_or_404(Associate, pk=pk) self.check_object_permissions(request, associate) # Validate permissions. write_serializer = AssociateContactUpdateSerializer( associate, data=request.data, context={ 'associate': associate, 'last_modified_by': request.user, 'last_modified_from': client_ip, 'last_modified_from_is_public': is_routable, 'franchise': request.tenant }) write_serializer.is_valid(raise_exception=True) associate = write_serializer.save() read_serializer = AssociateRetrieveUpdateDestroySerializer( associate, many=False, context={ 'last_modified_by': request.user, 'last_modified_from': client_ip, 'last_modified_from_is_public': is_routable, 'franchise': request.tenant }) return Response(read_serializer.data, status=status.HTTP_200_OK)
def get(self, request, pk=None): """ Retrieve """ associate = get_object_or_404(Associate, pk=pk) self.check_object_permissions(request, associate) # Validate permissions. serializer = AssociateRetrieveUpdateDestroySerializer(associate, many=False) return Response(data=serializer.data, status=status.HTTP_200_OK)
def post(self, request, format=None): client_ip, is_routable = get_client_ip(self.request) write_serializer = AssociateUpgradeOperationSerializer( data=request.data, context={ 'created_by': request.user, 'created_from': client_ip, 'created_from_is_public': is_routable, 'franchise': request.tenant }) write_serializer.is_valid(raise_exception=True) associate = write_serializer.save() read_serializer = AssociateRetrieveUpdateDestroySerializer( associate, many=False, context={ 'last_modified_by': request.user, 'last_modified_from': client_ip, 'last_modified_from_is_public': is_routable, 'franchise': request.tenant }) return Response(read_serializer.data, status=status.HTTP_200_OK)