def add_to_compras(user,carta):
	user_list = compras.all().filter('user =', user).fetch(limit=1)
	
	carta_str = transform_card_into_string(carta)
	
	#user does not exist
	if len(user_list) == 0:
		cartas = []
		cartas.append(carta_str)
		
		compra_nova = compras(user = user,
						cartas = cartas)
		compra_nova.put()
		
	#user exists
	else:
		user = user_list[0]
	
		user_current_cards = user.cartas
	
		user_current_cards.append(carta_str)
		
		#update data
		user.last_buy = datetime.datetime.now()
	
		user.put()
def admin_view_user_cart(request):

	try:
		user = request.POST['user']
	except:
		user = None
	
	if user == None:
		return HttpResponse(user_cart_list_to_html(None))
		
	compra = compras.all().filter('user =',user).get()
	
	if compra == None:
		return HttpResponse(user_cart_list_to_html(None))

	return HttpResponse(user_cart_list_to_html(compra.cartas,compra.last_buy))
def return_list_of_cards_from_compras(user):
	user_list = compras.all().filter('user =', user).fetch(limit=1)
	
	if len(user_list) == 0:
		return None
	
	toReturn = []
	
	user = user_list[0]
	
	cartas = user.cartas
	
	for carta in cartas:
		toReturn.append(transform_string_into_card(carta))
	
	if toReturn == []:
		return None
		
	return toReturn
def return_and_delete_list_of_cards_by_user(user):
	user = compras.all().filter('user =', user).get()
	
	if user == None:
		return None
	
	toReturn = []
	
	cartas = user.cartas
	
	for carta in cartas:
		toReturn.append(carta)
	
	if toReturn == []:
		return None
	
	user.cartas = []
	user.put()
	
	return toReturn	
def delete_card_from_compras(user, nome, edicao, raridade):
	
	user = compras.all().filter('user =', user).get()
	
	new_list = None
	
	
	if user != None:
	
		raw_card_list = user.cartas
		card_list = []
	
		new_list = []
		
		
		for raw_card in raw_card_list:
			card_list.append(transform_string_into_card(raw_card))
	
		
		
		found = False
		for card in card_list:
			if card.nome == nome and card.edicao == edicao and card.raridade == raridade and not found:
				found = True
				pass
			else:
				new_list.append(transform_card_into_string(card))
	
	
	user.cartas = new_list
	
	#update data
	user.last_buy = datetime.datetime.now()
	
	user.put()
		
	return found
Exemple #6
0
def sell_all(request , admin_user=None):
	
	user = None
	
	if admin_user != None:
		#get user
		#ADMIN ONLY
		user = Page_Users.all().filter("email =", admin_user).get()
		
		logging.info("ADMIN CALLING")
		logging.info(user.email)
	else:
		#get user
		user = Page_Users.all().filter("email =", request.user.email).get()
	
	
	
	#compras
	carrinho = None
	if admin_user != None:
		carrinho = compras.all().filter("user ="******"user ="******"Magic 2012","2012 Core Set (M12)")
		
		#END
		
		
		logging.info(raridade)
		card_query = cartas_mtg.search(nome + " " + edicao + " " + raridade)
		
		card = card_query[0]
		
		toAdd = 15
		#adicionar saldo
		if raridade == "Rare":
			toAdd = constants.VALUE_OF_RARE_CARD/2
		elif raridade == "Mytic":
			toAdd = constants.VALUE_OF_RARE_CARD/2
		elif raridade == "Uncommon":
			toAdd = constants.VALUE_OF_UNCOMMON_CARD/2
		elif raridade == "Common":
			toAdd = constants.VALUE_OF_COMMON_CARD/2
		valor = valor + toAdd
		
		#adicionar a +1 ao stock da carta
		card_database_utils.increment_card_stock(card)
		
	#actualizar carrinho
	carrinho.cartas = []
	carrinho.put()
	
	#actualizar user
	saldo_antigo = user.saldo
	novo_saldo = saldo_antigo + valor
	user.saldo = novo_saldo
	user.put()