feat: Add post method to create rescue orgs
This commit is contained in:
parent
81cc5cd53d
commit
aefeffd63a
@ -14,6 +14,11 @@ class AnimalCreateSerializer(serializers.ModelSerializer):
|
|||||||
model = Animal
|
model = Animal
|
||||||
fields = ["name", "date_of_birth", "description", "species", "sex", "adoption_notice"]
|
fields = ["name", "date_of_birth", "description", "species", "sex", "adoption_notice"]
|
||||||
|
|
||||||
|
class RescueOrgSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = RescueOrganization
|
||||||
|
fields = ["name", "location_string", "instagram", "facebook", "fediverse_profile", "email", "phone_number",
|
||||||
|
"website", "description", "external_object_identifier", "external_source_identifier"]
|
||||||
|
|
||||||
class AnimalGetSerializer(serializers.ModelSerializer):
|
class AnimalGetSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -11,7 +11,7 @@ from .serializers import (
|
|||||||
RescueOrganizationSerializer,
|
RescueOrganizationSerializer,
|
||||||
AdoptionNoticeSerializer,
|
AdoptionNoticeSerializer,
|
||||||
ImageCreateSerializer,
|
ImageCreateSerializer,
|
||||||
SpeciesSerializer,
|
SpeciesSerializer, RescueOrgSerializer,
|
||||||
)
|
)
|
||||||
from fellchensammlung.models import Animal, RescueOrganization, AdoptionNotice, Species, Image
|
from fellchensammlung.models import Animal, RescueOrganization, AdoptionNotice, Species, Image
|
||||||
|
|
||||||
@ -122,6 +122,19 @@ class RescueOrganizationApiView(APIView):
|
|||||||
serializer = RescueOrganizationSerializer(organizations, many=True, context={"request": request})
|
serializer = RescueOrganizationSerializer(organizations, many=True, context={"request": request})
|
||||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
@transaction.atomic
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
Create or update a rescue organization.
|
||||||
|
"""
|
||||||
|
serializer = RescueOrgSerializer(data=request.data, context={"request": request})
|
||||||
|
if serializer.is_valid():
|
||||||
|
rescue_org = serializer.save(owner=request.user)
|
||||||
|
return Response(
|
||||||
|
{"message": "Rescue organization created/updated successfully successfully!", "id": rescue_org.id},
|
||||||
|
status=status.HTTP_201_CREATED,
|
||||||
|
)
|
||||||
|
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
class AddImageApiView(APIView):
|
class AddImageApiView(APIView):
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user