X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/c65314d0db1d45ec00001b207e633072cb17c156..51099aa7aa297f5f38fe052c5caa49b22170e7ac:/src/catalogue/api/views.py

diff --git a/src/catalogue/api/views.py b/src/catalogue/api/views.py
index b45ad4656..a4653d12f 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,22 @@ class TagView(RetrieveAPIView):
 
     def post(self, request, **kwargs):
         data = json.loads(request.POST.get('data'))
-        desc = data['description_pl']
+        fields = {
+            "name_pl": "name_pl",
+            "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({})