Esempio n. 1
0
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"
Esempio n. 2
0
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")
Esempio n. 7
0
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"
Esempio n. 8
0
 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)
Esempio n. 11
0
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"