Beispiel #1
0
def process_checkout(request):
	request.session['order_step'] = None

	try:
		if request.session['current_fundraiser']:
			request.session['finalized_order'] = request.session['current_fundraiser']
			del request.session['current_fundraiser']
	except:
		pass

	try:
		finalized_order = Fundraiser.objects.get(id=request.session['finalized_order'])
		order_type      = str(finalized_order.get_payment_type())
	except:
		finalized_order = None
		order_type = None

	session_finalized_fundraiser = SessionVariable(request).session_finalized_fundraiser()
	context = {
		'finalized_order' : finalized_order,
		'order_type' : order_type, 
		'form' : SimpleSignUpForm
	}
	# if session_finalized_fundraiser.profile.email:
	if session_finalized_fundraiser.profile.email and not session_finalized_fundraiser.receipt_email_sent:
		
		data = {
			'user' : session_finalized_fundraiser.profile.contact_person(),
			'organization' : session_finalized_fundraiser.profile.organization,
			'address' : session_finalized_fundraiser.shipment().address.street,
			'city' : session_finalized_fundraiser.shipment().address.city,
			'state' : session_finalized_fundraiser.shipment().address.state,
			'zip_code' : session_finalized_fundraiser.shipment().address.zip_code,
			'total' : session_finalized_fundraiser.net_total_in_dollars(),
			'title' : session_finalized_fundraiser.title,
			'selections' : session_finalized_fundraiser.selections_str(),
			'shipping' : session_finalized_fundraiser.free_shipping(),
			'phone' : session_finalized_fundraiser.profile.phone_number
		}

		template_name  = EMAIL_TEMPLATE_DIR + 'email_fundraiser_receipt_text_based.txt'
		text_email     = loader.render_to_string(template_name,data)
		email = session_finalized_fundraiser.profile.email
		type = session_finalized_fundraiser.type 
		
		send_fundraiser_receipt_email.delay(
			str(finalized_order.organization())+' Fundraiser', 
			text_email,
			'Jose Madrid Salsa fundraising <*****@*****.**>',
			[email],
			type.id
			)
	
		session_finalized_fundraiser.receipt_email_sent = True
		session_finalized_fundraiser.save()
	template = 'fundraiser/checkout-invoice.html'
	return render(request,template,context)