diff --git a/backend/app/views.py b/backend/app/views.py index 7a4c4776..f751b8a5 100644 --- a/backend/app/views.py +++ b/backend/app/views.py @@ -27,6 +27,7 @@ from django.shortcuts import render from .models import ( Document, + PronounSeries, Gender, Corpus ) @@ -182,6 +183,23 @@ def all_genders(request): serializer = GenderSerializer(gender_objs, many=True) return Response(serializer.data) +@api_view(['POST']) +def add_gender(request): + """ + API endpoint for adding a gender instance + """ + attributes = request.data + pronoun_ids_list = attributes['pronoun_series_ids'] + + fields = { + 'label': attributes['label'] + } + new_gender_obj = Gender.objects.create(**fields) + for pronoun_id in pronoun_ids_list: + new_gender_obj.pronoun_series.add(pronoun_id) + + serializer = GenderSerializer(new_gender_obj) + return Response(serializer.data) @api_view(['POST']) def add_corpus(request): diff --git a/backend/config/urls.py b/backend/config/urls.py index 014a46de..8f8aaa78 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -30,6 +30,7 @@ path('api/add_document', views.add_document), path('api/document/', views.get_document), path('api/all_genders', views.all_genders), + path('api/add_gender', views.add_gender), path('api/all_corpora', views.all_corpora), path('api/add_corpus', views.add_corpus), path('api/update_corpus_docs', views.update_corpus_docs), diff --git a/frontend/components/Corpora.js b/frontend/components/Corpora.js index 405581df..673b6a56 100644 --- a/frontend/components/Corpora.js +++ b/frontend/components/Corpora.js @@ -60,7 +60,7 @@ const Corpora = () => { setCorporaData(corporaData => [...corporaData, data]); setNewCorpusData({ "title": "", - "description": "" + "description": "", }); setAddingCorpus(false); });