def checkout(request): user = page_users_utils.get_user_info(request.user.email) #random card list card_list_random = compras_historico_utils.return_list_of_cards_from_compras(request.user.email) #store card list card_list_store = compras_historico_utils.return_list_of_cards_from_request(request) #get total price for store cart total_price = compras_historico_utils.get_total_price_cart(card_list_store) #total price convertion total_price_conversion = card_database_utils.real_price_by_credits(total_price,user.pais) if user.pais == "Portugal": info = {'portugal':user.pais, 'saldo': str(page_users_utils.get_saldo_from_email(request.user.email)), 'total_price':total_price,'total_price_conversion':total_price_conversion, 'moeda': constants.MOEDA_DA_PAGINA,'cartas_random': card_list_random, 'cartas_store': card_list_store, 'pais': user.pais,'morada': user.morada, 'telefone':user.telefone, 'cod_post':user.codigopostal, 'nome':user.nome, 'internacional': constants.CORREIO_INTERNACIONAL, 'azul': constants.CORREIO_AZUL, 'registado': constants.CORREIO_REGISTADO} if user.pais == "Brasil": info = {'brasil':user.pais, 'saldo': str(page_users_utils.get_saldo_from_email(request.user.email)), 'total_price':total_price, 'total_price_conversion':total_price_conversion, 'moeda': constants.MOEDA_DA_PAGINA, 'cartas_random': card_list_random, 'cartas_store': card_list_store, 'pais': user.pais, 'morada': user.morada, 'telefone':user.telefone, 'cod_post':user.codigopostal, 'nome':user.nome, 'internacional': constants.CORREIO_INTERNACIONAL, 'internacional_rastreio': constants.CORREIO_INTERNACIONAL_COM_RASTREIO} return direct_to_template(request, 'checkout.html',info)
def view_cards(request): #random card list card_list = compras_historico_utils.return_list_of_cards_from_compras(request.user.email) #store card list card_list_store = compras_historico_utils.return_list_of_cards_from_request(request) #User country pais = page_users_utils.get_pais_from_request(request) #get total price for store cart total_price = compras_historico_utils.get_total_price_cart(card_list_store) #total price convertion total_price_conversion = card_database_utils.real_price_by_credits(total_price,pais) if pais == "Portugal": valor_moeda = constants.VALOR_MOEDA_DO_SITE_PORTUGAL if pais == "Brasil": valor_moeda = constants.VALOR_MOEDA_DO_SITE_BRASIL if card_list == None and card_list_store == None: return direct_to_template(request, 'view_cartas.html', {'valor_do_site':valor_moeda, 'moeda': constants.MOEDA_DA_PAGINA, 'saldo': str(page_users_utils.get_saldo_from_email(request.user.email)),'no_cards': "Nao tem cartas no seu carrinho"} ) return direct_to_template(request, 'view_cartas.html', {'valor_do_site':valor_moeda, 'moeda': constants.MOEDA_DA_PAGINA, 'saldo': str(page_users_utils.get_saldo_from_email(request.user.email)), 'cartas_random': card_list, 'cartas_store': card_list_store, 'total_price':total_price, 'total_price_conversion':total_price_conversion})
def complete_checktout_store(request): user = request.user.email metodo = None codigo = None allowed_metodo = ['Internacional','Internacional Rastreio','Azul','Registado'] try: metodo = request.POST['option'] except: return "Tem de selecionar um modo de envio" #porque o correio internacional com rastreio vem com "_" mas no model nao suporta essa string metodo = metodo.replace("_"," ") if metodo not in allowed_metodo: return "Modo de envio incorrecto" last = Historico.all().order('-date').get() if last == None: codigo = 1 else: codigo = last.codigo + 1 ####################################GUITA########################################## #store card list card_list_store = compras_historico_utils.return_list_of_cards_from_request(request) total_price = compras_historico_utils.get_total_price_cart(card_list_store) if metodo == 'Internacional': total_price = total_price + constants.CORREIO_INTERNACIONAL elif metodo == 'Registado': total_price = total_price + constants.CORREIO_REGISTADO elif metodo == 'Internacional Rastreio': total_price = total_price + constants.CORREIO_INTERNACIONAL_COM_RASTREIO elif metodo == 'Azul': total_price = total_price + constants.CORREIO_AZUL update_saldo_from_user(request.user.email,total_price*-1) cartas = compras_historico_utils.return_list_of_cards_from_request(request) if cartas == None: return "Tem de ter cartas no seu carrinho para completar uma compra" real_cartas_order = [] for carta in cartas: toAdd = carta.nome + "###" + carta.raridade + "###" + carta.edicao + " x " + str(carta.quantity) real_cartas_order.append(toAdd) #####################################STOCK - RETIRAR"########################################### card_database_utils.decrement_card_stock_store(carta.nome,carta.edicao,carta.quantity) user_info = get_user_info(user) historico = Historico(user = user, codigo = codigo, cartas = real_cartas_order, morada = user_info.morada, codigopostal = user_info.codigopostal, telefone = user_info.telefone, pais = user_info.pais, metodo = metodo) historico.put() compras_historico_utils.empty_store_cart(request) return "Success"
def complete_checktout_store(request): user = request.user.email metodo = None codigo = None allowed_metodo = [ 'Internacional', 'Internacional Rastreio', 'Azul', 'Registado' ] try: metodo = request.POST['option'] except: return "Tem de selecionar um modo de envio" #porque o correio internacional com rastreio vem com "_" mas no model nao suporta essa string metodo = metodo.replace("_", " ") if metodo not in allowed_metodo: return "Modo de envio incorrecto" last = Historico.all().order('-date').get() if last == None: codigo = 1 else: codigo = last.codigo + 1 ####################################GUITA########################################## #store card list card_list_store = compras_historico_utils.return_list_of_cards_from_request( request) total_price = compras_historico_utils.get_total_price_cart(card_list_store) if metodo == 'Internacional': total_price = total_price + constants.CORREIO_INTERNACIONAL elif metodo == 'Registado': total_price = total_price + constants.CORREIO_REGISTADO elif metodo == 'Internacional Rastreio': total_price = total_price + constants.CORREIO_INTERNACIONAL_COM_RASTREIO elif metodo == 'Azul': total_price = total_price + constants.CORREIO_AZUL update_saldo_from_user(request.user.email, total_price * -1) cartas = compras_historico_utils.return_list_of_cards_from_request(request) if cartas == None: return "Tem de ter cartas no seu carrinho para completar uma compra" real_cartas_order = [] for carta in cartas: toAdd = carta.nome + "###" + carta.raridade + "###" + carta.edicao + " x " + str( carta.quantity) real_cartas_order.append(toAdd) #####################################STOCK - RETIRAR"########################################### card_database_utils.decrement_card_stock_store(carta.nome, carta.edicao, carta.quantity) user_info = get_user_info(user) historico = Historico(user=user, codigo=codigo, cartas=real_cartas_order, morada=user_info.morada, codigopostal=user_info.codigopostal, telefone=user_info.telefone, pais=user_info.pais, metodo=metodo) historico.put() compras_historico_utils.empty_store_cart(request) return "Success"