41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from django.contrib.auth.models import User
|
|
from django.shortcuts import get_object_or_404
|
|
from rest_framework.views import APIView
|
|
|
|
from api.serializers.event import EventSerializer
|
|
from common.build_response import build_response
|
|
from web.models import Event, EventComment
|
|
|
|
|
|
class AvailabilityView(APIView):
|
|
def post(self, request, event_id):
|
|
try:
|
|
event = get_object_or_404(Event, pk=event_id)
|
|
except Exception:
|
|
return build_response(404, message='Unable to find related event!')
|
|
|
|
data = request.POST
|
|
|
|
try:
|
|
user = User.objects.filter(email=data.get('created_by')).first()
|
|
except Exception:
|
|
return build_response(500, message="Could not find user!")
|
|
|
|
try:
|
|
new_comment = EventComment(
|
|
event=event,
|
|
content=data.get('content'),
|
|
submitted_by=user
|
|
)
|
|
|
|
new_comment.save()
|
|
except Exception:
|
|
return build_response(500, message='Unable to create new comment!')
|
|
|
|
try:
|
|
event_serializer = EventSerializer(event)
|
|
except Exception:
|
|
return build_response(422)
|
|
|
|
return build_response(data=event_serializer.data)
|