Esempio n. 1
0
def create_accessories():
    tables_path = '/home/klementomeri/Workspace/ITALGOLD/italgold' \
                  '/csv_files/accessories.csv'
    with open(tables_path, 'r') as f:
        tables = csv.DictReader(f, fieldnames=['codes', 'prices', 'image'])
        next(tables)

        category = ProductCategory.objects.get(name='Accessory')
        products = []

        for table in tables:
            codes = [code.strip() for code in table['codes'].split(',')]
            prices = [
                float(price.strip()) for price in table['prices'].split(',')
            ]

            products.append(
                Product(
                    **{
                        'image': f'products/{table["image"]}',
                        'price': None,
                        'category': category,
                        'properties': {
                            'codes': codes,
                            'prices': prices,
                            'width': None,
                            'length': None,
                            'height': None
                        }
                    }))

        Product.objects.bulk_create(products)
Esempio n. 2
0
def create_boxes():
    tables_path = '/home/klementomeri/Pictures/KRAL_KUTU/KAPAKLI KUTULAR/boxes.csv'
    with open(tables_path, 'r') as f:
        tables = csv.DictReader(f, fieldnames=['code', 'image'])
        next(tables)

        category = ProductCategory.objects.get(name='Box')
        products = []

        for table in tables:
            products.append(
                Product(
                    **{
                        'image': f'products/{table["image"]}',
                        'price': None,
                        'category': category,
                        'properties': {
                            'code': table['code'],
                            'width': None,
                            'length': None,
                            'height': None
                        }
                    }))

        Product.objects.bulk_create(products)
Esempio n. 3
0
def get_product_from_dict(product_dict: dict) -> Product:
    return Product(
        properties={
            'code': product_dict['code'].upper(),
            'width': product_dict['width'],
            'length': product_dict['length'],
            'height': product_dict['height'],
            },
        price=product_dict['price'],
        category_id=product_dict['category'],
        image=f'products/{product_dict["image"]}.jpg'
        )
Esempio n. 4
0
def index(request):
    r = {}
    cart = request.session.get('cart')
    if not cart:
        request.session['cart'] = {}
    if request.method == "POST":
        product = request.POST.get('product')
        remove = request.POST.get('remove')
        cart = request.session.get('cart')
        if cart:
            quantity = cart.get(product)
            if quantity:
                if remove:
                    if quantity <= 1:
                        cart.pop(product)
                    else:
                        cart[product] = quantity - 1
                else:
                    cart[product] = quantity + 1

            else:
                cart[product] = 1
        else:
            cart = {}
            cart[product] = 1

        request.session['cart'] = cart
        #print('cart' , request.session['cart'])
        return redirect('index')
    rid = request.GET.get('restaurant')
    #print(rid)
    #print(request.session.get('username'))
    if rid:
        r['products'] = Product.get_all_products_by_id(rid)
        r['restaurants'] = Restaurant.get_all_restaurants()
        return render(request, 'index.html', r)
    else:
        r['products'] = Product.get_all_products()
        r['restaurants'] = Restaurant.get_all_restaurants()
        return render(request, 'index.html', r)
Esempio n. 5
0
def checkout(request):
    if request.method == "POST":
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        cart = request.session.get('cart')
        products = Product.get_all_products_by_ids(list(cart.keys()))
        cust = request.session.get('account')
        print(cust)
        for product in products:
            print(cart.get(str(product.id)))
            order = Myorder(customer=Account(id=cust),
                            product=product,
                            price=product.price,
                            address=address,
                            phone=phone,
                            quantity=cart.get(str(product.id)))
            order.placeOrder()
            request.session['cart'] = {}

    return redirect('cart')
Esempio n. 6
0
def create_tables():
    folder_dir = os.path.join(settings.BASE_DIR, 'KRAL_KUTU/TABLALAR')
    image_paths = os.listdir(folder_dir)
    category = ProductCategory.objects.get(name='Tabaka')

    tables = []
    for image_name in image_paths:
        code = image_name.split('.')[0].replace(' ', '')
        tables.append(
            Product(
                **{
                    'image': f'products/{image_name}',
                    'price': 25,
                    'category': category,
                    'properties': {
                        'code': code,
                        'width': 25,
                        'height': 3.7,
                        'length': 25,
                    }
                }))

    Product.objects.bulk_create(tables)
Esempio n. 7
0
def cart(request):
    ids = list(request.session.get('cart').keys())
    products = Product.get_all_products_by_ids(ids)
    u = request.session.get('account')
    print('im', u)
    return render(request, 'cart.html', {'products': products})
    def getProductItem(self, item, orderId, pets):
        response = None
        
        if item['type'] == "product":
            product = Product.objects.get( pk=item['id'] )
            orderProduct = OrderProduct( 
                                pType = item['type'],
                                product_id = item['id'],
                                order_id = orderId, 
                                pet_id = item['pet'],
                                unit_price = product.price,
                                quantity = item['quantity']
                            )
            totalPrice = product.price*item['quantity']  
            tmpProductPrices = None

            # Recurring Purchases 
            # 
            if 'is_recurring' in item and item['is_recurring'] == True:
                product.is_recurring = item['is_recurring']
                orderProduct.order_every = item['orderEvery'] if 'orderEvery' in item else ''                 
                orderProduct.date = item['scheduleDate']
                tmpProductPrices = self.getRecurringProdPrice(item, product)[0]
                orderProduct.unit_price = tmpProductPrices.price
                totalPrice = orderProduct.unit_price * item['quantity'] 
            else:
                product.is_recurring = False
                totalPrice = orderProduct.unit_price * item['quantity'] 

                      

            response = {
                         'item': orderProduct,
                         'source': product,
                         'pet': next((x for x in pets if x.id == item['pet']), None),
                         'totalPrice': totalPrice,
                         'productPrice': tmpProductPrices if tmpProductPrices is not None else None
            }   
        else:
            service = Service.objects.get( pk=item['id'] )
            
            orderProduct = OrderProduct( 
                                    pType = item['type'],
                                    service_id = item['id'],
                                    order_id = orderId, 
                                    pet_id = item['pet'],
                                    unit_price = service.price,
                                    quantity = item['quantity'],
                                    timeOption = item['timeOption'],
                                    date = item['scheduleDate'],
                                    time = item['time'] if 'time' in item else '',
                                    notes = item['notes'] if 'notes' in item else '',
                                )
            totalPrice = service.price*item['quantity']   

            # Recurring Purchases                    
            if service.is_recurring: 
                orderProduct.order_every = item['orderEvery'] if 'orderEvery' in item else ''               
                orderProduct.scheduleDate = item['scheduleDate']
                
            
            response = {
                         'item': orderProduct,
                         'source': service,
                         'pet': next((x for x in pets if x.id == item['pet']), None),
                         'totalPrice': totalPrice
            }   

        return response