Example #1
0
def test_offer(request):

	data = {}
	
	#u = request.user
	u = User.objects.get(email="*****@*****.**")

	if u.shoppleyuser.is_customer():
		return HttpResponseRedirect( reverse("offer.views.offer_home") )

	if request.method == "POST":
		form = StartOfferForm(request.POST)
		if form.is_valid():
			offer = form.save(commit=False)	
			offer.merchant = u.shoppleyuser.merchant
			offer.time_stamp = datetime.now()
			if form.cleaned_data["now"]:
				offer.starting_time = datetime.now()+timedelta(minutes=5)
			offer.save()
			# send out the offer
			num_sent = offer.distribute()			
			data["result"] = "1"
			data["offer_id"] = offer.id
			data["num_sent"] = num_sent
			return JSONHttpResponse(data)	
		else:
			data["result"] = "-1"
	else:
		data["result"] = "-2"
		form = StartOfferForm()

	data["form"] = str(form)

	return JSONHttpResponse(data)
Example #2
0
def start_offer(request):

	data = {}
	
	u = request.user

	if u.shoppleyuser.is_customer():
		return HttpResponseRedirect( reverse("offer.views.offer_home") )

	if request.method == "POST":
		form = StartOfferForm(request.POST)
		if form.is_valid():
			offer = form.save(commit=False)	
			offer.merchant = u.shoppleyuser.merchant
			offer.time_stamp = datetime.now()

			if form.cleaned_data["now"]:
				offer.starting_time = datetime.now()+timedelta(minutes=5)

			offer.title = self.cleaned_data.get("title")
			offer.description = self.cleaned_data.get("description")
			if len(offer.title) == 0:
				offer.title = description[:64] 

			if form.cleaned_data.get("offer_radio") == 0:
				offer.percentage = self.cleaned_data.get("percentage")	
				offer.dollar_off = None
			elif form.cleaned_data.get("offer_radio") == 1:
				offer.dollar_off = self.cleaned_data.get("dollar_off")	
				offer.percentage = None

			offer.save()
			# send out the offer
			num_sent = offer.distribute()			
			data["result"] = "1"
			data["offer"] = offer
			data["num_sent"] = num_sent
			# past and current offers
			# TODO: would be more efficient if there was a way to filter active and past offers separately instead of doing it on template
			data["offers"] = Offer.objects.filter(merchant=u.shoppleyuser.merchant).order_by("-time_stamp")
			data["form"] = StartOfferForm()
			
			return render_to_response("offer/start_offer.html", data,
						context_instance=RequestContext(request))
		else:
			data["result"] = "-1"
	else:
		data["offers"] = Offer.objects.filter(merchant=u.shoppleyuser.merchant).order_by("-time_stamp")
		form = StartOfferForm(initial={'offer_radio':0})

	data["form"] = form 
	return render_to_response("offer/start_offer.html", data,
						context_instance=RequestContext(request))