From 9741f0311ab1a38e4316f1151ebc509edf2d38df Mon Sep 17 00:00:00 2001 From: winkidney Date: Thu, 21 Feb 2019 15:12:37 +0800 Subject: [PATCH] Feature: Update Pin via drf-api --- core/drf_api.py | 4 +++- pinry/static/js/helpers.js | 2 +- pinry/static/js/pin-form.js | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/drf_api.py b/core/drf_api.py index b5b58c7..e316113 100644 --- a/core/drf_api.py +++ b/core/drf_api.py @@ -97,6 +97,7 @@ class PinSerializer(serializers.HyperlinkedModelSerializer): tags = TagSerializer( many=True, source="tag_list", + required=False, ) image = ImageSerializer(required=False, read_only=True) image_by_id = serializers.PrimaryKeyRelatedField( @@ -122,5 +123,6 @@ class PinSerializer(serializers.HyperlinkedModelSerializer): tags = validated_data.pop('tag_list') if tags: instance.tags.set(*tags) - validated_data.pop('image_id') + # change for image-id is not allowed + validated_data.pop('image_by_id', None) return super(PinSerializer, self).update(instance, validated_data) diff --git a/pinry/static/js/helpers.js b/pinry/static/js/helpers.js index 88d8ac8..c9c1b0c 100644 --- a/pinry/static/js/helpers.js +++ b/pinry/static/js/helpers.js @@ -68,7 +68,7 @@ function getPinData(pinId) { function deletePinData(pinId) { - var apiUrl = '/api/v1/pin/'+pinId+'/?format=json'; + var apiUrl = API_BASE + 'pins/' +pinId + '/?format=json'; return $.ajax(apiUrl, { type: 'DELETE' }); diff --git a/pinry/static/js/pin-form.js b/pinry/static/js/pin-form.js index a414e12..1f43958 100644 --- a/pinry/static/js/pin-form.js +++ b/pinry/static/js/pin-form.js @@ -137,13 +137,13 @@ $(window).load(function() { $(this).off('click'); $(this).addClass('disabled'); if (editedPin) { - var apiUrl = '/api/v1/pin/'+editedPin.id+'/?format=json'; + var apiUrl = API_BASE + 'pins/' + editedPin.id + '/?format=json'; var data = { description: $('#pin-form-description').val(), tags: cleanTags($('#pin-form-tags').val()) } var promise = $.ajax({ - type: "put", + type: "patch", url: apiUrl, contentType: 'application/json', data: JSON.stringify(data)