Example #1
0
def save(request):
	# recupera informacoes do POST
	nome = request.POST["nome"]
	email = request.POST["email"]
	cliente = Cliente()

	# testa se ja existe cliente cadastrado com o email fornecido
	try:
		tcliente = Cliente.objects.get(email=email)
		cliente = tcliente
	except:
		# caso contrario cria um novo e salva
		cliente = Cliente()
		cliente.nome = nome
		cliente.email = email
		cliente.save()

	# cria uma nova expressao e salva associada ao cliente acima
	valor = request.POST["expressao"]
	try:
		expressoes = cliente.expressao_set.all()
	
		# se nao expressoes cadastradas
		if expressoes:
			# testa se o cliente ainda nao cadastrou a string
			for expr in expressoes:
				if expr.valor == valor:
					raise Exception

		# cria uma expressao caso contrario
		expressao = Expressao()
		expressao.valor = valor
		expressao.cliente = cliente
		expressao.save()
		result = "Expressao \"%s\" cadastrada com sucesso" % valor

	except:
		result = "Expressao \"%s\" ja cadastrada" % valor
	
	# redireciona para pagina de sucesso
	return render_to_response('clientes/success.html', {'cliente': cliente.email, 'result': result})