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)
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)
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' )
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)
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')
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)
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