def create_order(request): """ function that takes a POST request and adds a product instance to the current customer's shopping cart """ print('create_order!!!!') post_data = request.POST.copy() cart_items = cart.get_cart_items(request) order = Order() username = request.session['username'] custom_user = Customer.objects.get( user = User.objects.get( username = request.session['username'])) order.user = custom_user order.email = post_data.get('email',1) order.phone = post_data.get('phone',1) order.ip_address = request.META.get('REMOTE_ADDR') order.save() for cart_item in cart_items: product = OrderItem() product.order = order product.product = cart_item.product product.quantity = cart_item.quantity product.save() cart.empty_cart(request) print_order(order.id) return order
def create_order(request ,transaction_id): order = Order() checkout_form = CheckoutForm(request.POST , instance=order) order = checkout_form.save(commit=False) order.transaction_id = transaction_id order.user = None if request.user.is_authenticated(): order.user = request.user order.status = Order.SUBMITTED order.save() # if the order saved succeeded if order.pk: cart_items =cart.get_cart_items(request) for ci in cart_items: # create order item for each cart item oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price() # now using @property oi.product = ci.product oi.save() # all set empty cart cart.deduct_quantity(request) # save the profile for future orders if request.user.is_authenticated(): from accounts import profile profile.set(request) # return the new order object return order
def changeOrderItemStatus(request): data = request.POST pk = data['pk']; instock = int(data['instock']); orderitem = OrderItem.objects.get(pk = pk); order = orderitem.order orderitem.status = 'I' if instock < orderitem.quantity: new_order_item = OrderItem() new_order_item.quantity = orderitem.quantity - instock new_order_item.category = orderitem.category new_order_item.description = orderitem.description new_order_item.status = 'P' new_order_item.order = orderitem.order new_order_item.save() inform_purchase_agent(subject='سفارش نیازمند خرید است',message=render_to_string('mail/buy_orderitem.html',{'orderitem' : new_order_item})) if instock == 0: orderitem.delete() else: orderitem.quantity = instock orderitem.save() inner_q = Good.objects.filter(category=orderitem.category,user=None)[:instock] Good.objects.filter(pk__in = inner_q).update(user=order.user) inform_user(user=order.user, message=render_to_string('mail/orderitem_available.html', {'orderitem': orderitem}), subject='سفارش شما در انبار موجود است') #check and change the status of the order if OrderItem.objects.filter(order= order,status='N').count() == 0: return HttpResponse('order_changed') return HttpResponse("success")
def create_order(request, transaction_id): order = Order() checkout_form = CheckoutForm(request.POST, instance = order) order = checkout_form.save(commit = False) order.transaction_id = transaction_id order.ip_address = request.META.get('REMOTE_ADDR') if request.user.is_authenticated(): order.user = request.user order.status = Order.SUBMITTED order.save() # if the order save succeeded if order.pk: cart_items = shoppingcart.get_cart_items(request) for ci in cart_items: # create order item for each cart item oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price oi.product = ci.product oi.save() # all set, empty card shoppingcart.empty_cart(request) # save profile info for future orders if request.user.is_authenticated(): from accounts import profile profile.set(request) # return the new order object return order
def create_order(request,transaction_id): order = Order() checkout_form = CheckoutForm(request.POST, instance=order) order = checkout_form.save(commit=False) order.transaction_id = transaction_id order.ip_address = request.META.get('REMOTE_ADDR') order.status = Order.SUBMITTED order.user = None if request.user.is_authenticated(): order.user = request.user order.save() # if the order save succeeded if order.pk: cart_items = cart.get_cart_items(request) for ci in cart_items: # create order item for each cart item oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price() # now using @property oi.product = ci.product oi.save() # all set, empty cart cart.empty_cart(request) # save profile info for future orders if request.user.is_authenticated(): from accounts import profile profile.set(request) # return the new order object return order
def create_order(request,transaction_id): order = Order() checkout_form = CheckoutForm(request.POST, instance=order) order = checkout_form.save(commit=False) order.transaction_id = transaction_id order.ip_address = request.META.get('REMOTE_ADDR') order.user = None if request.user.is_authenticated(): order.user = request.user order.status = Order.SUBMITTED order.save() if order.pk: cart_items = cart.get_cart_items(request) for ci in cart_items: oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price oi.product = ci.product oi.save() cart.empty_cart(request) if request.user.is_authenticated(): from accounts import profile profile.set(request) return order
def create_order(request, order_total, transaction_id): order = Order() checkout_form = CheckoutForm(request.POST, instance=order) order = checkout_form.save(commit=False) order.transaction_id = transaction_id order.ip_address = request.META.get('REMOTE_ADDR') order.status = Order.SUBMITTED order.user = None # order.order_total = order_total order_total.purchased = True if request.user.is_authenticated(): order.user = request.user from accounts import profile user_profile = profile.get_profile(request) # verificar si campos requeridos estan vacios, si lo estan crear un user_profile para este usuario desde # aqui, asi no tendria q escribirlo en el form UserProfileForm if not user_profile.email or not user_profile.shipping_name or user_profile.shipping_city == 0: profile.set_profile(request) order.save() order_total.order = order order_total.save() # if the order save succeeded if order.pk: # verificar si el usuario tuvo la promo4, para eliminarla try: promo4_id = request.session['promo4_id'] del request.session['promo4_id'] promo4 = Promo4.objects.get(id=promo4_id) promo4.active = False promo4.save() except KeyError: pass try: # eliminar el codigo de promoion para el usuario promo_id = request.session['promo3_id'] del request.session['promo3_id'] Promo3.objects.get(id=promo_id).delete() except KeyError: pass cart_items = cart.get_cart_items(request) for ci in cart_items: # create order item for each cart item oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price() # now using @property oi.product = ci.product # disminuir del almacen la cant disponible para este prod ci.product.quantity -= ci.quantity ci.product.save() oi.save() # all set, empty cart cart.empty_cart(request) # utils.send_email("Leoshop", "Gracias por preferirnos", user_profile.email) # return the new order object return order
def add_order(request): #TODO: do a create order if request.method == 'POST': if 'payment_type' in request.POST: if request.POST['payment_type'] == 'card': summ = request.POST['total'] template = loader.get_template("add_order.html") context = RequestContext(request, {'summary': summ}) return HttpResponse(template.render(context)) elif 'order' in request.POST: baskets = Basket.objects.filter( basket_id=request.session.session_key) order = Orders() if request.user.is_authenticated(): order.owner = request.user order.order_id = baskets[0].order_number order.total_cost = float(request.POST['total']) order.address = request.POST['address'] order.comments = request.POST['comments'] order.billing_card = request.POST['billing_card'] order.billing_number = request.POST['billing_number'] order.billing_name = request.POST['billing_name'] order.billing_date_mm = request.POST['billing_date_mm'] order.billing_date_yy = request.POST['billing_date_yy'] order.billing_cvv = request.POST['billing_cvv'] order.save() for basket in baskets: orderitems = OrderItem() orderitems.order_id_id = order.order_id orderitems.order_sess = basket.basket_id orderitems.goods = basket.item orderitems.quantity = basket.quantity orderitems.total_price_per_goods = basket.sum_total orderitems.partnumber = basket.partnumber order.orderitem_set.add(orderitems) orderitems.save() order.save() template = loader.get_template("order_success.html") context = RequestContext(request, {'order_id': order.pk}) return HttpResponse(template.render(context))
def add_order(request): #TODO: do a create order if request.method == 'POST': if 'payment_type' in request.POST: if request.POST['payment_type'] == 'card': summ = request.POST['total'] template = loader.get_template("add_order.html") context = RequestContext(request, {'summary': summ}) return HttpResponse(template.render(context)) elif 'order' in request.POST: baskets = Basket.objects.filter(basket_id=request.session.session_key) order = Orders() if request.user.is_authenticated(): order.owner = request.user order.order_id = baskets[0].order_number order.total_cost = float(request.POST['total']) order.address = request.POST['address'] order.comments = request.POST['comments'] order.billing_card = request.POST['billing_card'] order.billing_number = request.POST['billing_number'] order.billing_name = request.POST['billing_name'] order.billing_date_mm = request.POST['billing_date_mm'] order.billing_date_yy = request.POST['billing_date_yy'] order.billing_cvv = request.POST['billing_cvv'] order.save() for basket in baskets: orderitems = OrderItem() orderitems.order_id_id = order.order_id orderitems.order_sess = basket.basket_id orderitems.goods = basket.item orderitems.quantity = basket.quantity orderitems.total_price_per_goods = basket.sum_total orderitems.partnumber = basket.partnumber order.orderitem_set.add(orderitems) orderitems.save() order.save() template = loader.get_template("order_success.html") context = RequestContext(request, {'order_id': order.pk}) return HttpResponse(template.render(context))
def create_order(request, postdata): order = Order() # order.user = None # if request.user.is_authenticated(): # order.user = request.user # данные с формы data = { u"Имя": postdata["first-name"], u"Фамилия": postdata["last-name"], u"Email": postdata["email"], u"Телефон": postdata["phone"], u"Время звонка": postdata["call-time"], u"Область": postdata["region"], u"Город": postdata["city"], u"Улица": postdata["street"], u"Дом": postdata["building"], u"Квартира": postdata["flat"], u"Способ доставки": postdata["ship-method"], u"Номер склада (адрес офиса)": postdata["warehouse"], u"Комментарий к заказу": postdata["comment"], u"Дополнительная информация": postdata["additional_info"], } # добавление данных в модель заказа order.first_name = data[u"Имя"] order.last_name = data[u"Фамилия"] order.email = data[u"Email"] order.phone = data[u"Телефон"] order.call_time = data[u"Время звонка"] order.region = data[u"Область"] order.city = data[u"Город"] order.street = data[u"Улица"] order.building = data[u"Дом"] order.flat = data[u"Квартира"] order.ship_method = data[u"Способ доставки"] order.office = data[u"Номер склада (адрес офиса)"] order.additional_info = data[u"Дополнительная информация"] order.comment = data[u"Комментарий к заказу"] order.ip_address = request.META.get("REMOTE_ADDR") order = Order(**data) order.status = order.SUBMITTED order.save() # отправка почты менеджеру send_mail_manager(data, order) # отправка почты заказчкику if data[u"Email"] != "": send_mail_customer(data, order) # if the order save succeeded if order.pk: cart_items = cart.get_cart_items(request) for ci in cart_items: # create order item for each cart item oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price # now using @property oi.product = ci.product oi.save() # all set, empty cart cart.empty_cart(request)