X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/c65314d0db1d45ec00001b207e633072cb17c156..1c9e2865ce8c6ab51b2fa3e43d3661089e7b7eb8:/src/catalogue/api/views.py?ds=sidebyside diff --git a/src/catalogue/api/views.py b/src/catalogue/api/views.py index b45ad4656..0f95f0ace 100644 --- a/src/catalogue/api/views.py +++ b/src/catalogue/api/views.py @@ -320,7 +320,7 @@ class TagView(RetrieveAPIView): slug=self.kwargs['slug'] ) except Http404: - if self.method == 'PUT': + if self.request.method == 'POST': return Tag( category=self.kwargs['category'], slug=self.kwargs['slug'] @@ -330,10 +330,21 @@ class TagView(RetrieveAPIView): def post(self, request, **kwargs): data = json.loads(request.POST.get('data')) - desc = data['description_pl'] + fields = { + "description_pl": "description_pl", + "plural": "plural", + "is_epoch_specific": "genre_epoch_specific", + "collective_noun": "collective_noun", + "adjective_feminine_singular": "adjective_feminine_singular", + "adjective_nonmasculine_plural": "adjective_nonmasculine_plural", + } obj = self.get_object() - obj.description_pl = desc - obj.save(update_fields=['description_pl'], quick=True) + for data_field, model_field in fields.items(): + setattr(obj, model_field, data.get(data_field, getattr(obj, model_field))) + if obj.pk: + obj.save(update_fields=fields.values(), quick=True) + else: + obj.save() return Response({})