コード例 #1
0
ファイル: views.py プロジェクト: rimvydaszilinskas/gymder
    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()
コード例 #2
0
ファイル: views.py プロジェクト: rimvydaszilinskas/gymder
    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)
コード例 #3
0
ファイル: views.py プロジェクト: rimvydaszilinskas/gymder
    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)
コード例 #4
0
ファイル: views.py プロジェクト: rimvydaszilinskas/gymder
    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)
コード例 #5
0
ファイル: views.py プロジェクト: rimvydaszilinskas/gymder
    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)
コード例 #6
0
ファイル: views.py プロジェクト: rimvydaszilinskas/gymder
    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)