def complete_checktout_random(request, portes_pagos=False): 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" if portes_pagos == False and not change_saldo_user_checkout_by_metodo( user, metodo): return "Saldo insuficiente para o modo de envio selecionado" last = Historico.all().order('-date').get() if last == None: codigo = 1 else: codigo = last.codigo + 1 cartas = compras_historico_utils.return_and_delete_list_of_cards_by_user( user) if cartas == None: return "Tem de ter cartas no seu carrinho para completar uma compra" user_info = get_user_info(user) historico = Historico(user=user, codigo=codigo, cartas=cartas, morada=user_info.morada, codigopostal=user_info.codigopostal, telefone=user_info.telefone, pais=user_info.pais, metodo=metodo) historico.put() return "Success"
def add_history(self): history = Historico() history.tipo_busca = self.search_type history.termo_busca = self.search_term current_app.db.session.add(history) current_app.db.session.commit()
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"