Exemple #1
0
 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)) 
Exemple #2
0
 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))
Exemple #3
0
    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)
Exemple #4
0
    def getStaffOrders(self,filters={}):

        orders = Order.objects.all()
        
        data = []

        for order in orders:
            data.append(Order.serialize(order))
        
        return JsonMessage(body=data)
Exemple #5
0
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']}
Exemple #6
0
    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])
Exemple #7
0
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)
Exemple #8
0
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)
Exemple #9
0
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})
Exemple #10
0
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)