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 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 search_orders_admin(request): keywords = request.POST['keywords'] order_type = request.POST['order_type'] orders = Historico.search(keywords, estado=order_type) return HttpResponse(orders_to_table_admin(orders))
def get_cards_from_order(user,codigo): history = Historico.all().filter('user ='******'codigo =',codigo).get() if history == None: return history cards_raw = history.cartas toReturn = [] for card_raw in cards_raw: toReturn.append(transform_string_into_card(card_raw)) return toReturn
def get_specific_order(request,codigo): try: codigo = int(codigo) except: return HttpResponse("Encomenda inválida") order = Historico.all().filter('codigo =',codigo).get() if order == None: return HttpResponse("Encomenda inválida") cards = [] for card_raw in order.cartas: cards.append(transform_string_into_card(card_raw)) return HttpResponse(card_list_to_html(cards))
def change_order_state(request): try: codigo = int(request.POST['order']) except: return HttpResponse("Encomenda Inválida") new_state = request.POST['new_state'] order = Historico.all().filter('codigo =',codigo).get() if order == None: return HttpResponse("Encomenda Inválida") order.estado = new_state order.put() return HttpResponse("Efectuado com sucesso")
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 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 get_last_order_by_user(user): return Historico.all().filter('user ='******'-date').get()
def from_user_get_historico(user): return Historico.all().filter('user =', user).fetch(1000)
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"