예제 #1
0
    def post(self, request, *args, **kwargs):
        serializer = ReportSyncSettingsSerializer(data=request.data)
        if serializer.is_valid():
            obj = serializer.save(user=self.request.user)
            sheet_id = obj.id
            sync_sheet.delay(sheet_id)
            return Response(
                status=status.HTTP_200_OK,
                data={
                    'detail': 'This report is being synced with google sheets.'
                })

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
예제 #2
0
    def update(self, request, *args, **kwargs):
        instance = self.get_object()
        serializer = self.get_serializer(instance, data=request.data)

        serializer.is_valid(raise_exception=True)
        self.perform_update(serializer)
        data = serializer.data
        if not data.get('spreadsheet_id') and data.get('schedule_type') != 0:
            sync_sheet.delay(instance.id)
        data.update({
            'schedule_type':
            SCHEDULED_TYPE[int(serializer.data.get('schedule_type'))][1]
        })
        return Response(data, status=status.HTTP_200_OK)
예제 #3
0
 def post(self, request, *args, **kwargs):
     sheet_id = self.kwargs.get('pk', None)
     sync_sheet.delay(sheet_id)
     return Response(
         status=status.HTTP_200_OK,
         data={'detail': 'This report is being synced with google sheets.'})