Example #1
0
def make_bid(request, item_slug):
	item = SaleItem.objects.get(slug=item_slug)
	context_dict = {'item': item}
	try:
		highestbid = UserBid.objects.filter(sale_item=item).order_by('-offer_price')[0]
		context_dict['highestbid'] = highestbid
		min_offer = highestbid.offer_price + 1
		context_dict['min_offer'] = min_offer
	except:
		pass

	try:
		userbid = UserBid.objects.get(user=request.user,sale_item=item)

	except UserBid.DoesNotExist:
		userbid = UserBid(user=request.user,sale_item=item)


	if request.method == 'POST':
		form = UserBidForm(request.POST, instance=userbid)
		if form.is_valid():
			form.save()
			notify.send(request.user, recipient=item.owner.user, verb=u' made an offer on your item: ', target=item)

			for ubid in item.userbid_set.all():

				if ubid.user == request.user:
					continue

				notify.send(request.user, recipient=ubid.user, verb=u' bid on an item that you bid on', target=item)

			return redirect('shop:item', item.slug)

		else:
			print form.errors
			context_dict['form'] = form

	else:
		form = UserBidForm()
		context_dict['form'] = form
		return render(request, 'shop/makebid.html', context_dict)