diff --git a/scipost_django/journals/api/serializers/publication.py b/scipost_django/journals/api/serializers/publication.py index 158f72da9c8e3adea45276a1fd15a16f174995c5..b14c841682ca64ba9cffa140e94e4770c869100e 100644 --- a/scipost_django/journals/api/serializers/publication.py +++ b/scipost_django/journals/api/serializers/publication.py @@ -11,6 +11,9 @@ from ...models import Publication class PublicationPublicSerializer(DynamicFieldsModelSerializer): url = serializers.URLField(source="get_absolute_url") doi = serializers.URLField(source="doi_string") + in_issue = serializers.StringRelatedField() + in_volume = serializers.CharField(source="get_volume") + paper_nr = serializers.CharField(source="get_paper_nr") accepted_submission = serializers.SerializerMethodField() acad_field = serializers.StringRelatedField() specialties = serializers.StringRelatedField(many=True) @@ -26,6 +29,10 @@ class PublicationPublicSerializer(DynamicFieldsModelSerializer): "abstract", "doi_label", "doi", + "citation", + "in_issue", + "in_volume", + "paper_nr", "submission_date", "acceptance_date", "publication_date", diff --git a/scipost_django/journals/models/publication.py b/scipost_django/journals/models/publication.py index 935ce4d06d3e713f14fa0c6d86b318946342fad9..3e225d2b5cbc7b2db40e06097533cf24f230028b 100644 --- a/scipost_django/journals/models/publication.py +++ b/scipost_django/journals/models/publication.py @@ -423,6 +423,11 @@ class Publication(models.Model): def journal_issn(self): return self.get_journal().issn + def get_volume(self): + if self.in_issue and self.in_issue.in_volume: + return self.in_issue.in_volume + return None + def get_paper_nr(self): if self.in_journal: return self.paper_nr diff --git a/scipost_django/submissions/api/filtersets/submission.py b/scipost_django/submissions/api/filtersets/submission.py index e3410595c9996afe75af79b7bb798ab8331611dd..5da2589dceb98e27c7738c945d2d52bba742a1d6 100644 --- a/scipost_django/submissions/api/filtersets/submission.py +++ b/scipost_django/submissions/api/filtersets/submission.py @@ -34,6 +34,10 @@ class SubmissionPublicAPIFilterSet(df_filters.FilterSet): "topics__name": [ "icontains", ], + "thread_hash": [ + "istartswith", + "exact", + ], }