Skip to content

Commit

Permalink
[#2648] Add SelfOrganisedSubmission to API v2
Browse files Browse the repository at this point in the history
  • Loading branch information
pbanaszkiewicz committed Jun 3, 2024
1 parent 0a6985d commit 3b34665
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 0 deletions.
47 changes: 47 additions & 0 deletions amy/api/v2/serializers.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from rest_framework import serializers

from emails.models import MAX_LENGTH, ScheduledEmail
from extrequests.models import SelfOrganisedSubmission
from recruitment.models import InstructorRecruitmentSignup
from workshops.models import (
Award,
Expand Down Expand Up @@ -308,3 +309,49 @@ class Meta:
"event_required",
"involvement_required",
)


class SelfOrganisedSubmissionSerializer(serializers.ModelSerializer):
event = serializers.SlugRelatedField(read_only=True, slug_field="slug")
additional_contact = serializers.CharField()
country = serializers.CharField()
workshop_types = serializers.SlugRelatedField(
many=True, read_only=True, slug_field="name"
)

class Meta:
model = SelfOrganisedSubmission
fields = (
"pk",
"assigned_to",
"state",
"created_at",
"last_updated_at",
"data_privacy_agreement",
"code_of_conduct_agreement",
"host_responsibilities",
"event",
"personal",
"family",
"email",
"institution",
"institution_other_name",
"institution_other_URL",
"institution_department",
"member_code",
"online_inperson",
"workshop_listed",
"public_event",
"public_event_other",
"additional_contact",
"start",
"end",
"workshop_url",
"workshop_format",
"workshop_format_other",
"workshop_types",
"workshop_types_other",
"workshop_types_other_explain",
"country",
"language",
)
1 change: 1 addition & 0 deletions amy/api/v2/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
router.register("scheduledemail", views.ScheduledEmailViewSet)
router.register("trainingprogress", views.TrainingProgressViewSet)
router.register("trainingrequirement", views.TrainingRequirementViewSet)
router.register("selforganisedsubmission", views.SelfOrganisedSubmissionViewSet)


urlpatterns = [
Expand Down
17 changes: 17 additions & 0 deletions amy/api/v2/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@
PersonSerializer,
ScheduledEmailLogDetailsSerializer,
ScheduledEmailSerializer,
SelfOrganisedSubmissionSerializer,
TrainingProgressSerializer,
TrainingRequirementSerializer,
)
from emails.controller import EmailController
from emails.models import ScheduledEmail, ScheduledEmailStatus
from extrequests.models import SelfOrganisedSubmission
from recruitment.models import InstructorRecruitmentSignup
from workshops.models import (
Award,
Expand Down Expand Up @@ -251,3 +253,18 @@ class TrainingRequirementViewSet(viewsets.ReadOnlyModelViewSet):
queryset = TrainingRequirement.objects.order_by("pk").all()
serializer_class = TrainingRequirementSerializer
pagination_class = StandardResultsSetPagination


class SelfOrganisedSubmissionViewSet(viewsets.ReadOnlyModelViewSet):
authentication_classes = (
TokenAuthentication,
SessionAuthentication,
)
permission_classes = (
IsAuthenticated,
ApiAccessPermission,
)

queryset = SelfOrganisedSubmission.objects.order_by("pk").all()
serializer_class = SelfOrganisedSubmissionSerializer
pagination_class = StandardResultsSetPagination

0 comments on commit 3b34665

Please sign in to comment.