SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 2e7dd0f0 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

API: submissions:submission

parent be30c832
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,7 @@ from django.urls import include, path
from rest_framework import routers
from journals.viewsets import PublicationViewSet
from submissions.viewsets import SubmissionViewSet
# Next two: old style, to be deprecated:
from conflicts.viewsets import ConflictOfInterestViewSet
......@@ -21,6 +22,7 @@ app_name = 'api'
router = routers.SimpleRouter()
router.register('publications', PublicationViewSet)
router.register('submissions', SubmissionViewSet)
# Next two: old style, to be deprecated:
router.register(r'news', NewsItemViewSet)
......
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from .submission import SubmissionSerializer
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from rest_framework import serializers
from ..models import Submission
class SubmissionSerializer(serializers.ModelSerializer):
url = serializers.URLField(source='get_absolute_url')
class Meta:
model = Submission
fields = [
'title',
'author_list',
'abstract',
'url'
]
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from .submission import SubmissionViewSet
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django_filters import rest_framework as df_filters
from rest_framework import viewsets
from api.viewsets.mixins import FilteringOptionsActionMixin
from ..models import Submission
from ..serializers import SubmissionSerializer
class SubmissionFilterSet(df_filters.FilterSet):
class Meta:
model = Submission
fields = {
'title': ['icontains', 'startswith',],
'author_list': ['icontains',],
'abstract': ['icontains',],
'acad_field__name': ['icontains',],
'specialties__name': ['icontains',],
'topics__name': ['icontains',],
}
class SubmissionViewSet(FilteringOptionsActionMixin,
viewsets.ReadOnlyModelViewSet):
queryset = Submission.objects.public_newest()
serializer_class = SubmissionSerializer
search_fields = ['title', 'authors_list', 'abstract']
filterset_class = SubmissionFilterSet
default_filtering_fields = [
'title__icontains',
'author_list__icontains',
'abstract__icontains'
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment