示例#1
0
 def form_valid(self, form):
     super().form_valid(form)
     obj = form.instance
     if form.cleaned_data['subscribe']:
         sub = Subscription(
             user=self.request.user,
             object_id=obj.pk,
             content_type=ContentType.objects.get_for_model(obj))
         sub.save()
     return super(NotifiableViewMixin, self).form_valid(form)
示例#2
0
 def post(self, request):
     errors, created = Subscription.sync_user_subscriptions(self.request.user, request.data)
     if len(errors):
         return Response({
             'status': 400,
             'data': 'Could not create one or more subscription(s), aborting'
         })
     return Response({ 'data': 'Success' })
示例#3
0
 def post(self, request):
     errors = Subscription.del_user_subscriptions(self.request.user, request.data)
     if len(errors):
         return Response({
             'status': 400,
             'data': 'Could not remove subscription, aborting'
         })
     return Response({'data': 'Success'})
示例#4
0
 def post(self, request):
     # do not delete previous ones, add only 1 subscription
     errors, created = Subscription.sync_user_subscriptions(self.request.user, request.data, False)
     if len(errors):
         return Response({
             'status': 400,
             'data': 'Could not add subscription, aborting'
         })
     return Response({'data': 'Success'})
示例#5
0
文件: views.py 项目: Jcrowley/go-api
    def handle_post(self, request, *args, **kwargs):
        user = self.get_authenticated_user(request)
        if not user:
            return unauthorized()

        body = json.loads(request.body.decode('utf-8'))
        errors, created = Subscription.sync_user_subscriptions(user, body)
        if len(errors):
            return JsonResponse(
                {
                    'statusCode': 400,
                    'error_message':
                    'Could not create one or more subscription(s), aborting',
                    'errors': errors
                },
                status=400)
        else:
            return JsonResponse({'statusCode': 200, 'created': len(created)})
示例#6
0
def subscriptions(request):
    response = HttpResponse(content_type="text/csv")
    response["Content-Disposition"] = "attachment; filename=%s.csv" % "subscriptions"
    writer = csv.writer(response)
    Subscription.create_report(writer)
    return response