def post_bounty(request): if request.method == 'POST' and request.user.is_authenticated: serializer = BountySerializer(data=request.data) cb_user = ChowBountyUser.objects.get(user=request.user) if serializer.is_valid(): bounty = serializer.save(cb_user=cb_user) for bountyitem in request.data['bountyitem_set']: item_serializer = BountyItemSerializer(data = bountyitem) if item_serializer.is_valid(): item = item_serializer.save(bounty=bounty) return HttpResponse(bounty.id) else: return HttpResponse(serializer.errors) else: return HttpResponse("No dice")
def rest_bounties_list(request): if request.method == 'GET': cb_user = ChowBountyUser.objects.get(user = request.user) claims = BountyClaim.objects.filter(cb_user = cb_user) # bounties = Bounty.objects.filter(cb_user = cb_user) bounties = Bounty.objects.exclude(bountyclaim__in = claims) serializer = BountySerializer(bounties, many=True) return JSONResponse(serializer.data)
def rest_claimed_bounties(request): if request.method == 'GET': cb_user = ChowBountyUser.objects.get(user = request.user) claims = BountyClaim.objects.filter(cb_user = cb_user, is_approved = True) bounties = Bounty.objects.filter(bountyclaim__in = claims) # bounties = Bounty.objects.filter(cb_user = cb_user) # bounties = Bounty.objects.all() serializer = BountySerializer(bounties, many=True) return JSONResponse(serializer.data)
def update_bounty(request): if request.method == 'POST' and request.user.is_authenticated: try: bounty = Bounty.objects.get(pk=request.data['id']) except Bounty.DoesNotExist: return HttpResponse(status=404) serializer = BountySerializer(bounty, data=request.data) cb_user = ChowBountyUser.objects.get(user=request.user) if serializer.is_valid(): serializer.save() BountyItem.objects.filter(bounty = bounty).delete() for bountyitem in request.data['bountyitem_set']: item_serializer = BountyItemSerializer(data = bountyitem) if item_serializer.is_valid(): item = item_serializer.save(bounty=bounty) return HttpResponse(bounty.id) else: return HttpResponse(serializer.errors) else: return HttpResponse("No dice")
def rest_my_bounties(request): if request.method == 'GET': cb_user = ChowBountyUser.objects.get(user = request.user) bounties = Bounty.objects.filter(cb_user = cb_user) serializer = BountySerializer(bounties, many=True) return JSONResponse(serializer.data)