diff --git a/journals/views.py b/journals/views.py index ed68542becec5eceabaefb05069539a35aa72b85..d4075cb6d59de3d4ec9b71489a33815a11952294 100644 --- a/journals/views.py +++ b/journals/views.py @@ -776,12 +776,16 @@ def metadata_DOAJ_deposit(request, doi_label): def publication_add_topic(request, doi_label): """ Add a predefined Topic to an existing Publication object. + This also adds the Topic to all Submissions of this Publication. """ publication = get_object_or_404(Publication, doi_label=doi_label) select_topic_form = SelectTopicForm(request.POST or None) if select_topic_form.is_valid(): publication.topics.add(select_topic_form.cleaned_data['topic']) publication.save() + for sub in publication.accepted_submission.thread: + sub.topics.add(select_topic_form.cleaned_data['topic']) + sub.save() messages.success(request, 'Successfully linked Topic to this publication') return redirect(reverse('scipost:publication_detail', kwargs={'doi_label': publication.doi_label}))