Exemplo n.º 1
0
def update_user_info(request):
    if request.method == 'POST':
        body_unicode = request.body.decode('utf-8')
        body = json.loads(body_unicode)
        user = get_user(request)
        if user == False:
            return JsonResponse({
                'error':
                'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
            })
        if 'first_name' in body:
            user.userprofile.saved_shipping.first_name = body['first_name']
        if 'last_name' in body:
            user.userprofile.saved_shipping.last_name = body['last_name']
        if 'country' in body:
            user.userprofile.saved_shipping.country = body['country']
        if 'address' in body:
            user.userprofile.saved_shipping.adress = body['address']
        if 'city' in body:
            user.userprofile.saved_shipping.city = body['city']
        if 'zip_code' in body:
            user.userprofile.saved_shipping.zip = body['zip_code']
        if 'localidade' in body:
            user.userprofile.saved_shipping.localidade = body['localidade']
        if 'cell_number' in body:
            user.userprofile.saved_shipping.phone_number = body['cell_number']
        if 'email' in body:
            user.userprofile.saved_shipping.email = body['email']
        user.userprofile.saved_shipping.save()
        return JsonResponse({'error': ''})
Exemplo n.º 2
0
def product_is_fav(request, id):
    user = get_user(request)
    if user == False:
        return JsonResponse({
            'error':
            'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
        })
    for product in user.userprofile.favourite_products.all():
        if (product.id == id):
            return JsonResponse({'isFavourite': True})
    return JsonResponse({'isFavourite': False})
Exemplo n.º 3
0
def get_previous_orders(request):
    if request.method == 'GET':
        user = get_user(request)
        if user == False:
            return JsonResponse({
                'error':
                'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
            })
        orders = user.userprofile.previous_orders.order_by('-date_ordered')
        serializer = OderSerializer(orders, many=True)
        return JsonResponse(serializer.data, safe=False)
Exemplo n.º 4
0
def get_user_details(request):
    user = get_user(request)
    if user == False:
        return JsonResponse({
            'error':
            'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
        })
    queryset = None
    try:
        queryset = user.userprofile.saved_shipping
    except:
        return JsonResponse({
            'error':
            'Erro ao encontrar as suas informações, por favor recarregue a página'
        })
    serializer = ShippingDetailsSerializer(queryset, many=False)
    return JsonResponse(serializer.data, safe=False)
Exemplo n.º 5
0
def get_favourites(request):
    user = get_user(request)
    if user == False:
        return JsonResponse({
            'error':
            'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
        })
    queryset = None
    try:
        queryset = user.userprofile.favourite_products.all()
    except:
        return JsonResponse({
            'error':
            'Erro ao procurar os seus produtos preferidos, por favor recarregue a página'
        })
    serializer = ProductSerializer(queryset, many=True)
    return JsonResponse(serializer.data, safe=False)
Exemplo n.º 6
0
def create_product(request):
    if request.method == 'POST':
        user = get_user(request)
        if user == False:
            return JsonResponse({
                'error':
                'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
            })
        if user.is_superuser:
            body_unicode = request.body.decode('utf-8')
            body = json.loads(body_unicode)

            data = None
            try:
                data = body['image']
                format, imgstr = data.split(';base64,')
                ext = format.split('/')[-1]

                data = ContentFile(base64.b64decode(imgstr),
                                   name='temp.' + ext)
            except:
                return JsonResponse({
                    'error':
                    'Erro ao carregar a imagem. Carregou no botão "crop"?'
                })

            try:
                product = Product(
                    name=body['name'],
                    description=body['description'],
                    price=body['price'],
                    image=data,
                    product_type=ProductType.objects.get(name=body['type']),
                    available_quantity=body['quantity'],
                )
                product.save()
            except:
                return JsonResponse({
                    'error':
                    'Erro ao criar o produto, por favor verifique que todas as informações estão corretas'
                })
            return JsonResponse({'error': ''})
        else:
            return JsonResponse(
                {'error': 'Tem de ser admin para criar um produto'})
Exemplo n.º 7
0
def remove_multiple_from_favourites(request):
    if request.method == 'POST':
        body_unicode = request.body.decode('utf-8')
        body = json.loads(body_unicode)
        user = get_user(request)
        if user == False:
            return JsonResponse({
                'error':
                'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
            })
        for product in body:
            try:
                user.userprofile.favourite_products.remove(
                    Product.objects.get(id=product['id']))
            except:
                return JsonResponse(
                    {'error': 'Problema ao encontrar o produto selecionado'})
        return JsonResponse({'error': ''})
Exemplo n.º 8
0
def add_to_favourites(request):
    if request.method == 'POST':
        body_unicode = request.body.decode('utf-8')
        body = json.loads(body_unicode)
        user = get_user(request)
        if user == False:
            return JsonResponse({
                'error':
                'A sua conta não é reconhecida ou a sua sessão terminou, por favor faça login novamente'
            })
        try:
            user.userprofile.favourite_products.add(
                Product.objects.get(id=body['id']))
        except:
            return JsonResponse(
                {'error': 'Problema ao encontrar o produto selecionado'})
        return JsonResponse({
            'error':
            'Problema ao adicionar o produto aos favoritos, por favor tente mais tarde'
        })