def getStaffOrders(self, order_id, filters={}): try: order = Order.objects.get(id = order_id) except Order.DoesNotExist: return JsonMessage(status=400, result_msg="L'ordine richiesto non è presente nel sistema !") return JsonMessage(body=Order.serialize(order))
def getClientOrders(self, user_info, order_id): try: order = Order.objects.get(id = order_id, client = user_info) except Order.DoesNotExist: return JsonMessage(status=400,result_msg="L'ordine richiesto non è presente nel sistema o non appartiene all'utente!") return JsonMessage(body=Order.serialize(order))
def getClientOrders(self,user_info): orders = Order.objects.filter(client=user_info) data = [] for order in orders: data.append(Order.serialize(order)) return JsonMessage(body=data)
def getStaffOrders(self,filters={}): orders = Order.objects.all() data = [] for order in orders: data.append(Order.serialize(order)) return JsonMessage(body=data)
def order_user_form(data, request, uuid, guest_email=None): if guest_email: guest_user = GuestUser().get_user(email=guest_email) order = Order() request.session['email'] = guest_user[0]['email'] menus = Order.get_all_by_guest(guest_user_id=guest_user[0]['id']) order.register_order(guest=guest_user[0]['id'], data=data, uuid=uuid, list_menu=menus) return {'first_name': guest_user[0]['first_name']} else: guest = GuestUser().create_guest_user(data=data) order = Order() request.session['email'] = guest[0]['email'] menus = order.get_all_by_guest(guest_user_id=guest[0]['id']) order.register_order(guest=guest[0]['id'], data=data, uuid=uuid, list_menu=menus) return {'first_name': guest[0]['first_name']}
def post(self,request): if(not self.authenticated(request)): return JsonMessage(status=400,result_msg="login required") body = json.loads(request.body) user = UserInformation.objects.get(user__username = request.user) order = Order() order.date = datetime.datetime.now() order.client = user order.withdrawal = datetime.datetime.strptime(body.get("withdrawal"), '%d-%m-%Y %H:%M') order.address = body.get("address") order.save() for pizz in body.get("pizza"): pizza = Pizza() pizza.name = pizz.get("name") pizza.totalSlices = pizz.get("totalSlices") pizza.save() for ingredient in pizz.get("ingredients"): if not Ingredient.exists(ingredient[0]): return JsonMessage(status=400,result_msg="Uno degli ingredienti non è registrato nel sistema !") if not Slice.exists(ingredient[1]): return JsonMessage(status=400,result_msg="Numero di slice non supportato !") ing = Ingredient.objects.get(name = ingredient[0]) sli = Slice.objects.get(number = ingredient[1]) ing_sli, created = PizzaIngredients.objects.get_or_create(ingredient = ing, pslice = sli) if created : ing_sli.save() pizza.pizzaIngredients.add(ing_sli) order.pizza.add(pizza) order.save() return JsonMessage(status=200,result_msg="Congratulazioni, il tuo ordine è stato registrato con successo.", body=[order.id])
def orders(request): if request.method == 'POST': address = json.loads(request.body)['address'] email = request.user.email product = [Product.objects.get(id=int(item)) for item in request.session.get("cart", None) if item is not None] order = Order() order.buyer = request.user order.address = address order.save() total_amount = 0 for products in product: OrderDetail.objects.create(order=order,quantity=request.session["cart"][str(products.id)]["qty"], price=products.price, product_id=products.id, ) total_amount += products.price * request.session["cart"][str(products.id)]["qty"] html_message = render_to_string('Orders/order_confirm_template.html',) plain_message = strip_tags(html_message) send_mail("Order Conformation", plain_message, "*****@*****.**", [email], html_message=html_message, fail_silently=False) return JsonResponse({'success': True}) if request.method == 'GET': context = {'products': get_cart_items(request)} return render(request, 'Orders/orders.html', context=context)
def orders(request): if request.method == 'POST': address = json.loads(request.body)['address'] data = request.session['cart'] for key, value in data.items(): product_id = int(value['pk']) qty = int(value['qty']) ord = Order( buyer=request.user, product=Product.objects.get(pk=product_id), quantity=qty, shipping_address=address, ) ord.save() del request.session['cart'] request.session.modified = True return JsonResponse({'success': True}) if request.method == 'GET': context = {'products': get_cart_items(request)} return render(request, 'Orders/orders.html', context=context)
def shop_list_view(request): cart = Shopping_Cart(request) products = cart.create_products_list() customer = None if request.user.is_authenticated: customer = get_object_or_404(Profile, user=request.user) if request.method == "POST": #panier = literal_eval(request.POST["panier"]) print(request.POST) try: id = request.POST["Delete"] product = Product.objects.get(id=int(id)) cart.remove_product(product, products) request.session.save() except KeyError as e: pass if request.POST["panier"] != "order": panier = cart.deserialize_json(request.POST["panier"]) random_address = Address.objects.create(country="BE", city="some city", street="a street", postal_code=1000) order = Order(paid=False, address=random_address, customer=customer, shoplist=panier) order.save() cart.clear_shopping(products) order_creation.send(sender=Order, user=customer, order=order) print(request.session["shopping_cart"], request.user, customer.user) total_prices = cart.get_total_price() return render(request, "shops/shoplist.html", {"products": products, "total_cost": total_prices})
def admin_home(request): orders = Order().get_orders_by_admin_user(admin_id=request.user.id) context = {'title': 'Orders List', 'orders': orders} return render(request, 'admin-home/index.html', context=context)