def delete(self, request, *args, **kwargs): activity = self.get_activity(kwargs['uuid'], request.user) can_edit_activity(activity, request.user, raise_exception=True) tag_uuid = request.data.get('uuid', None) if tag_uuid: try: uuid.UUID(tag_uuid) except: return Response( status=status.HTTP_400_BAD_REQUEST, data={'detail': '{} is not a valid UUID'.format(tag_uuid)}) tag = get_object_or_404(Tag, uuid=tag_uuid) else: tag_title = request.data.get('title', None) if tag_title is None: return Response(status=status.HTTP_400_BAD_REQUEST, data={'detail': 'title and uuid undefined'}) tag = get_object_or_404(Tag, title=tag_title) activity.tags.remove(tag) return Response()
def delete(self, request, *args, **kwargs): activity = self.get_activity(kwargs['uuid'], request.user) can_edit_activity(activity, request.user, raise_exception=True) activity.is_deleted = True activity.save(update_fields=['is_deleted']) return Response(status=status.HTTP_200_OK)
def delete(self, request, *args, **kwargs): activity = self.get_activity(uuid=kwargs['uuid'], user=request.user) can_edit_activity(activity, request.user, raise_exception=True) user_request = get_object_or_404(Request, uuid=kwargs['request_uuid'], activity=activity, is_deleted=False) user_request.status = RequestStatus.DENIED user_request.save(update_fields=['status']) serializer = self.serializer_class(user_request) return Response(data=serializer.data)
def post(self, request, *args, **kwargs): activity = self.get_activity(kwargs['uuid'], request.user) can_edit_activity(activity, request.user, raise_exception=True) if activity.FORMAT == ActivityFormat.INDIVIDUAL: serializer = self.individual_serializer_class(activity, data=request.data) else: serializer = self.group_serializer_class(activity, data=request.data) serializer.is_valid(raise_exception=True) serializer.save() return Response(status=status.HTTP_200_OK, data=serializer.data)
def post(self, request, *args, **kwargs): uuid = kwargs['uuid'] activity = self.get_activity(kwargs['uuid'], request.user) can_edit_activity(activity, request.user, raise_exception=True) serializer = self.serializer_class(data=request.data) serializer.is_valid(raise_exception=True) tag = serializer.save() if activity.tags.filter(uuid=tag.uuid).exists(): return Response(status=status.HTTP_400_BAD_REQUEST, data={'detail': 'Tag already added'}) activity.tags.add(tag) return Response(status=status.HTTP_200_OK, data=serializer.data)
def post(self, request, *args, **kwargs): activity = self.get_activity(uuid=kwargs['uuid'], user=request.user) can_edit_activity(activity, request.user, raise_exception=True) user_request = get_object_or_404(Request, uuid=kwargs['request_uuid'], activity=activity, is_deleted=False) if hasattr( activity, 'max_attendees' ) and activity.max_attendees >= activity.number_of_attendees: return Response(status=status.HTTP_400_BAD_REQUEST) elif activity.number_of_attendees != 0: return Response(status=status.HTTP_400_BAD_REQUEST) user_request.status = RequestStatus.APPROVED user_request.save(update_fields=['status']) serializer = self.serializer_class(user_request) return Response(data=serializer.data)