Example #1
0
def update_order(request, pk_order):
    """
    A order update page for the admin to change the status
    and download/upload the artwork for the customer.
    """
    order = Order.objects.get(id=pk_order)
    form = OrderForm(instance=order)
    tax = order.get_total() * Decimal(21 / 100)
    total = order.get_total() + tax

    if order.id_code:
        if request.method == 'POST':
            form = OrderForm(request.POST, request.FILES, instance=order)
            if form.is_valid():
                form.save()
                messages.info(request, 'Order updated successfully')
                return redirect('accounts:adminpage')
        else:
            context = {
                'order': order,
                'tax': tax,
                'total': total,
                'form': form
            }
            return render(request, 'accounts/update_order.html', context)
    else:
        messages.error(request, 'Order still in progress')
        return redirect('accounts:adminpage')
Example #2
0
def create_order(request):
    billing_profile = BillingProfile.objects.filter(user=request.user).first()
    cart = Cart.objects.filter(user=request.user, active=True).first()

    if request.method == 'POST':
        if not request.user.is_authenticated or Order.objects.filter(
                billing_profile=billing_profile, active=True).first() is None or cart is None:
            return HttpResponseBadRequest('Error occurred while placing the order!')

        model_instance = Order.objects.get_active_order(
            billing_profile=billing_profile, cart=cart)
        form = OrderForm(request.POST, instance=model_instance)
        if form.is_valid():
            model_instance.shipping_address = form.cleaned_data.get('shipping_address')
            model_instance.payment_method = form.cleaned_data.get('payment_method')
            # change order status to placed
            model_instance.status = 'placed'
            # make order and cart inactive for placing next order
            model_instance.active = False
            model_instance.save()
            form.save()
            context = {
                'order_id': model_instance.order_id,
            }
            return render(request, "carts/order_success.html", context)
    return redirect('home')
Example #3
0
def HomeView(request, pk, *args, **kwargs):
    """
    Shows the user their order has been placed and gives them the option of
    continuing with payment. Once payment is complete this same view will show
    them all the details concerned with their order.
    
    request -- holds the logged in user
    pk -- the id number of the scheduled course being ordered
    *args -- used for extensibility (if order should support GET args)
    **kwargs -- used for extensibility (if order should support POST args)
    """
    scheduled_course = CourseSchedule.objects.get(id=pk)
    if request.method == 'POST': # If the form has been submitted...
        form = OrderForm(request.POST, user=request.user, scheduled_course=scheduled_course) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            form.save()
            order = Order.objects.filter(user=request.user).order_by('-date')[0]
            return HttpResponseRedirect(unicode(order.id)) # Redirect after POST
    else:
        form = OrderForm(request.POST, user=request.user, scheduled_course=scheduled_course) # An unbound form
    return render(request, 'orders/home.html', {
        'form': form,
        'scheduled_course': scheduled_course,
    })
Example #4
0
def cvety_list(request):
    cvetys = Cvety.objects.all()
    form = OrderForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("?sended=True")
    return render(request, "cvety/cvety_list.html", {'cvetys': cvetys, 'form': form, "sended": request.GET.get("sended", False)})
Example #5
0
def update(request, id):
    order = Order.objects.get(id=id)
    form = OrderForm(request.POST, instance=order)
    if form.is_valid():
        form.save()
        messages.success(request, "Order modified successfully")
        return redirect("/list")
    return render(request, 'edit.html', {'order': order})
Example #6
0
def handle_order_form(request):
    if request.method == 'POST':
        form = OrderForm(request.POST)
        if form.is_valid():
            form.save()
            return
    else:
        form = OrderForm()
    return form
Example #7
0
    def post(self, request, *args, **kwargs):
        form = OrderForm(request.POST)
        if not form.is_valid():
            errors = {key: invalid_msg.format(value[0]) for key, value in form.errors.items()}
            return render(request, self.template_name, {'error': errors, 'form': form})
        # 保存
        form.save(request.user.id)

        return redirect('order:index')
Example #8
0
def add_order(request):
    """Allow to add a new order"""
    form_filter = FilterForm()
    form = OrderForm()
    if request.method == 'POST':
        form = OrderForm(request.POST)
        form.save()
        contains = {'orders': Order.objects.all(), 'form_filter': form_filter}
        return render(request, 'orders/list_orders.html', contains)

    return render(request, 'orders/add_order.html', {'form': form})
Example #9
0
    def post(self, request, *args, **kwargs):
        order_id = request.POST.get('id')
        order = get_object_or_404(Order, id=order_id)
        form = OrderForm(request.POST, instance=order)
        if not form.is_valid():
            errors = {key: invalid_msg.format(value[0]) for key, value in form.errors.items()}
            return render(request, self.template_name, {'error': errors, 'form': form})
        # 保存
        form.save(request.user.id)

        return redirect('order:index')
Example #10
0
def cvety_ditail(request, cvety_id):
    cvety = get_object_or_404(Cvety, id=cvety_id)
    form = OrderForm(request.POST or None, initial={"cvety": cvety })
    if request.method == "POST":
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("{}?sended=True".format(reverse("cvety", kwargs={"cvety_id": cvety_id})))
    return  render(request, "cvety/cvety_ditail.html", {
        "cvety": cvety,
        "form": form,
        "sended": request.GET.get("sended", False)
        })
Example #11
0
def create(request):
    if request.method == "POST":
        form = OrderForm(request.POST)
        if form.is_valid():
            try:
                form.save()
                messages.success(request, "Order created successfully")
                return redirect('/list')
            except:
                pass
    else:
        form = OrderForm()
    return render(request, 'new.html', {'form': form})
Example #12
0
def order_create(request, template_name='orders/create.html'):

    form = OrderForm(request.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('orders:create_success'))

    context = {
        'form': form,
    }

    return TemplateResponse(request, template_name, context)
Example #13
0
def house_detail(request, house_id):
    house = get_object_or_404(House, id=house_id)
    form = OrderForm(request.POST or None, initial={'house': house})

    if request.method == 'POST':
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('{}?sended=True'.format(reverse('house', kwargs={'house_id': house.id})))

    return render(request, 'houses/house_detail.html', {
        'house': house,
        'form': form,
        'sended': request.GET.get('sended', False)
    })
Example #14
0
def house_detail(request, house_id):
    house = get_object_or_404(House, id=house_id)
    form = OrderForm(request.POST or None, initial={"house": house})

    if request.method == "POST":
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("{}?sended=True".format(
                reverse("house", kwargs={"house_id": house.id})))

    return render(request, "houses/house_detail.html", {
        "house": house,
        "form": form,
        "sended": request.GET.get("sended", False)
    })
Example #15
0
def order_custom(request):
    config = OrderConfig.objects.get(id=1)
    options = CustomCakeOrderConfigOption.objects.filter(
        available=True).order_by('sort')
    if request.method == 'POST':
        custom_cake_order_form = CustomCakeOrderForm(data=request.POST,
                                                     options=options)
        order_form = OrderForm(request.POST)
        if custom_cake_order_form.is_valid() and order_form.is_valid():
            product = Product.objects.get(slug='custom-cake')
            new_order = order_form.save()
            OrderItem(price=product.price,
                      quantity=1,
                      product=product,
                      order_id=new_order.id).save()
            new_order.send_admin_custom_cake_confirm_emails(
                custom_cake_order_form.cleaned_data)
            new_order.send_client_custom_cake_confirm_emails(
                custom_cake_order_form.cleaned_data)
            return render(request,
                          template_name='orders/order/custom-done.html',
                          context={'config': config})
    else:
        custom_cake_order_form = CustomCakeOrderForm(options)
        # cake_form = CustomCakeForm()
        order_form = OrderForm()
    return render(
        request,
        'orders/order/custom.html',
        {
            'config': config,
            # 'cake_form': cake_form,
            'order_form': order_form,
            'ok': custom_cake_order_form
        })
Example #16
0
def change(request, order_id=''):
    """
    Display a single order
    """
    if order_id is not '':
        order = get_object_or_404(Order, pk=order_id)
    else:
        order = None

    if request.method == 'POST':
        if order is None:
            order_form = OrderForm(request.POST)
        else:
            order_form = OrderForm(request.POST, instance=order)
        if order_form.is_valid():
            order = order_form.save()
            print(order)
            return HttpResponseRedirect('/orders/list/')
    else:
        if order is None:
            order_form = OrderForm()
        else:
            order_form = OrderForm(instance=order)

    context = {
        'title': 'Change order',
        'order_id': order_id,
        'order_form': order_form,
    }
    return render(request, 'orders/change.html', context)
Example #17
0
def order_detail(request, order_id):
    order = Order.objects.get(id=order_id)

    if request.method == "POST":
        form = OrderForm(request.POST, instance=order)
        if form.is_valid():
            order = form.save()
            order.save()  # just to calculate & store the price

            msg = 'Your order for {} pounds of blueberries for ${} has been received. You can ' \
                  'pick them up after 9am on {} at Morning Shade Farm.'.format(
                    order.quantity, order.total_cost, order.pickup_date,
                )
            if order.quantity >= 200:
                msg += " If you have additional requests, please call the farm."

            messages.success(request, msg)
            return HttpResponseRedirect(request.META['HTTP_REFERER'])
        else:
            msg = mark_safe("The form has errors: {}".format(form.errors))
            messages.add_message(request,
                                 messages.constants.ERROR,
                                 msg,
                                 extra_tags='danger')
    else:
        form = OrderForm(instance=order, submit_button_name="Update Order")

    return render(request, 'orders/order_detail.html', {
        'pagetitle': "Order {}".format(order.id),
        'form': form,
    })
Example #18
0
class PrepareOrder(TemplateView):
    form = None
    template_name = "checkout/prepare_order.html"

    def get(self, request, *args, **kwargs):
        self.form = OrderForm()
        return super(PrepareOrder, self).get(self, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(PrepareOrder, self).get_context_data(**kwargs)
        context['form'] = self.form
        context['brands'] = Brand.objects.order_by("name")
        context['categorys'] = Category.objects.order_by("name")
        return context

    def post(self, request, *args, **kwargs):
        self.form = OrderForm(request.POST)
        if self.form.is_valid():
            order = self.form.save()
            for filter_in_cart in request.session['cart']:
                filter = Filter.objects.get(pk=filter_in_cart['filter_id'])
                total_price = "{0:.2f}".format(
                    float(filter_in_cart["filter_price"].replace(",", ".")) *
                    int(filter_in_cart["numb"])
                ).replace(".", ",")
                product_in_order = ProductInOrder.objects.create(order=order, product=filter,
                                                                 numb=filter_in_cart['numb'],
                                                                 price_item=filter_in_cart["filter_price"],
                                                                 total_price=total_price)
            request.session['cart'].clear()
            request.session.modified = True
            return render(request, "checkout/thanks.html", locals())
        else:
            return super(PrepareOrder, self).get(request, *args, **kwargs)
Example #19
0
def place_order(request):
    if request.method == 'GET':
        total_amount = round(
            sum([
                product.price
                for product in Product.objects.filter(cart__user=request.user)
            ]), 2)
        order = Order()
        order.amount = total_amount
        context = {
            'form': OrderForm(instance=order),
        }
        return render(request, 'orders/order_details.html', context)
    else:
        form = OrderForm(request.POST)

        if form.is_valid():
            order = form.save(commit=False)
            order.buyer = request.user
            order.order_date = datetime.datetime.now()
            order.save()

            set_sold_products_unavailable(request.user, order)

            update_raised_money(order.amount)

            empty_user_cart(request.user)

            return redirect('successful donation', order.id)

        context = {
            'form': form,
        }
        return render(request, 'orders/order_details.html', context)
Example #20
0
def charge(request):
	cart = Cart(request)
	if request.method == 'POST':
		form = OrderForm(request.POST)
		order = form.save()
		context = {
			'key': settings.STRIPE_PUBLISHABLE_KEY,
			'order': order,
		}
		for object in cart:
			OrderItem.objects.create(
				order=order,
				item=object['item'],
				price=object['price'],
				quantity=object['quantity']
			)
		cart.clear()
		#charge_amount = request.POST['amount']
		charge = stripe.Charge.create(
			amount=500,						#OrderItem.objects.filter(price__icontains(object['price'])),
			currency='usd', 				# will need to modify for different currency types (low priority)
			description='A New Django Order',
			source=request.POST['stripeToken']
		)
		return render(request, 'order_confirmation.html', context)
	else:
		response = HttpResponse("<center><h2>FATAL ERROR: Not a POST request.</h2></center>")
		return response
Example #21
0
def index(request):
    if request.method == "POST":
        form = OrderForm(request.POST)
        if form.is_valid():
            order = form.save()
            order.save()  # just to calculate & store the price

            msg = 'Your order for {} pounds of blueberries for ${} has been received. You can ' \
                  'pick them up after 9am on {} at Morning Shade Farm.'.format(
                order.quantity, order.total_cost, order.pickup_date,
            )
            if order.quantity >= 200:
                msg += " If you have additional requests, please add comments to your order or call us."

            messages.success(request, msg)
            return redirect('index')
        else:
            msg = mark_safe("The form has errors: {}".format(form.errors))
            messages.add_message(request,
                                 messages.constants.ERROR,
                                 msg,
                                 extra_tags='danger')
    else:
        form = OrderForm()

    prices = Price.objects.all().order_by('min_quantity')
    return render(request, 'orders/index.html', {
        'form': form,
        'prices': prices
    })
Example #22
0
def update_cart(request):
    """Updates the user's shopping cart."""
    order = Order.get_or_create(request)
    order_form = OrderForm(request.REQUEST, prefix='btb', instance=order)
    if order_form.is_valid():
        order = order_form.save()
        return order.get_as_cart()
    return False
Example #23
0
def cart(request, slug):
    order = Order.objects.get(slug=slug)
    if order.status != "pending":
        return redirect(reverse('order_detail', kwargs={'slug': slug}))

    order_items = OrderItem.objects.filter(order=order)
    order_total = 0
    for item in order_items:
        subtotal = item.quantity * item.unity_price
        order_total = order_total + subtotal

    order_items_formset = inlineformset_factory(Order,
                                                OrderItem,
                                                form=OrderItemsForm,
                                                extra=0,
                                                can_delete=True)

    if request.method == "POST":
        form = OrderForm(request.POST, instance=order, prefix='main')
        formset = order_items_formset(request.POST,
                                      instance=order,
                                      prefix='product')

        try:
            if form.is_valid() and formset.is_valid():
                form.save()
                formset.save()
                messages.success(request, "Pedido atualizado")
                return redirect(reverse('cart', kwargs={'slug': slug}))
        except Exception as e:
            messages.warning(request,
                             'Ocorreu um erro ao atualizar: {}'.format(e))

    else:
        form = OrderForm(instance=order, prefix='main')
        formset = order_items_formset(instance=order, prefix='product')

    return render(
        request, 'orders/cart.html', {
            'order': order,
            'order_items': order_items,
            'order_total': order_total,
            'form': form,
            'formset': formset,
        })
Example #24
0
File: views.py Project: eof4tt/sfx
class OrderCreate(TemplateView):
    model = Orders
    template_name = "order_add.html"
    form = None
    formset2files = None
    formset2desc = None
    success_url = "/orders/index/"

    def get(self, request, *args, **kwargs):
        dataform = {'project_name': self.kwargs["contract"]}
        self.form = OrderForm(initial=dataform)
        self.formset2desc = OrderDescriptionFormset()
        self.formset2files = OrderDocsFormset()
        return super(OrderCreate, self).get(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(OrderCreate, self).get_context_data(**kwargs)
        context['form'] = self.form
        context['formset2desc'] = self.formset2desc
        context['formset2files'] = self.formset2files
        return context

    def post(self, request, *args, **kwargs):
        self.form = OrderForm(request.POST, request.FILES)
        if request.method == "POST":
            if self.form.is_valid():
                new_order = self.form.save()
                self.formset2desc = OrderDescriptionFormset(request.POST,
                                                            instance=new_order)
                self.formset2files = OrderDocsFormset(request.POST,
                                                      request.FILES,
                                                      instance=new_order)
                messages.add_message(request, messages.SUCCESS,
                                     "Заказ успешно добавлен. ")
                if self.formset2desc.is_valid():
                    self.formset2desc.save()
                    messages.add_message(request, messages.SUCCESS,
                                         "Описание успешно добавлено. ")
                    if self.formset2files.is_valid():
                        self.formset2files.save()
                        messages.add_message(
                            request, messages.SUCCESS,
                            "Документ(ы) к заказу успешно добавлен(ы). ")
                        return redirect("/orders/index/", *args, **kwargs)
                    else:
                        messages.add_message(
                            request, messages.SUCCESS,
                            "Проверьте корректность добавление нового документа или подтвердите текущие изменения. "
                        )

        self.formset2desc = OrderDescriptionFormset(request.POST)
        self.formset2files = OrderDocsFormset(request.POST, request.FILES)
        messages.add_message(
            request, messages.SUCCESS,
            "ВНИМАНИЕ: Необходимо заполнить все обязательные параметры! ")
        return super(OrderCreate, self).get(request, *args, **kwargs)
Example #25
0
def order_page(request):
    if request.method == "POST":
        form = OrderForm(request.POST)
        if form.is_valid():
            order = form.save(commit=False)

            order.save()
            return redirect("http://localhost:8000/orders_list")
    else:
        form = OrderForm()
    return render(request, "order.html", {'form': form})
Example #26
0
def get_order(request, id):
    """get just one order for display details and modify order"""
    form_filter = FilterForm()
    order = Order.objects.get(id=id)
    if request.method == 'POST':
        form = OrderForm(request.POST, instance=order)
        if form.is_valid():
            form.save()
            contains = {
                'orders': Order.objects.all(),
                'form_filter': form_filter
            }
            return render(request, 'orders/list_orders.html', contains)
    else:
        try:
            form = OrderForm(instance=order)
        except Order.DoesNotExist:
            return HttpResponse(status=404)

    return render(request, 'orders/order.html', {'formOrder': form})
Example #27
0
def artifical_post(request):
    """ функция ведет на обработку формы """

    order_f = OrderForm(request.POST)
    id_status = request.POST['payment_method']
    id_status = int(id_status)
    s = Status.objects.get(id=id_status)
    new_status = order_f.save(commit=False)
    new_status.current_status = s
    new_status.save()
    return redirect('orders_page')
Example #28
0
def product_detail(request, product_id):
    product = get_object_or_404(Product, pk=product_id)
    form = OrderForm(request.POST)
    bot = telebot.TeleBot('465058783:AAEJz6kcmZaVx0QPJrt7YGj-3wNXtBzOiXM')
    chat_id = '-223188240'

    if request.method == "POST":
        if form.is_valid():
            text = 'Заявка на товар' '\n' + 'имя: ' + request.POST.get('name') + '\n' + 'телфон: ' \
                   + request.POST.get('phone') + '\n' + 'товар: ' + product.name
            form.save()
            return HttpResponseRedirect("?sended=true",
                                        bot.send_message(chat_id, text))

    return render(
        request, "stock/product__detail.html", {
            "product": product,
            "form": form,
            "sended": request.GET.get("sended", False)
        })
Example #29
0
 def post(self, request):
     form = OrderForm(request.POST)
     if form.is_valid():
         cust_id = request.POST.get("custID")
         cust_name = request.POST.get("custName")
         dvdid = request.POST.get("dvdID")
         dvdtitle = request.POST.get("dvdTitle")
         movie_price = request.POST.get("dvd_price")
         quantity = request.POST.get("order_quantity")
         tprice = request.POST.get("totalprice")
         form = Order(customer_id=cust_id,
                      customer_name=cust_name,
                      dvd_id=dvdid,
                      dvd_title=dvdtitle,
                      items_ordered=quantity,
                      total_price=tprice)
         form.save()
         return HttpResponse('order Saved')
     else:
         print(form.errors)
         return HttpResponse('not valid')
Example #30
0
def book_order(request, category_slug, slug):
    from orders.models import OrderItem
    form = OrderForm(request.POST or None)
    try:
        category = Category.objects.get(slug=category_slug)
        product = Product.objects.active().filter(slug=slug, category=category)[0]
    except (Category.DoesNotExist, Product.DoesNotExist):
        raise Http404
    if request.method == "POST" and form.is_valid():
        order = form.save()
        order_item = OrderItem.objects.create(order=order, product=product)
        subject = u"[%s] Новый заказ - %s" % (order.id, product.name)
        message = u"""
            Имя: %s
            Телефон: %s
            E-Mail: %s
            Книга: %s, %s - %s грн
        """ % (
            order.full_name,
            order.phone, order.email,
            product.author,
            product.name,
            product.price
        )
        send_mail(subject, message, settings.DEFAULT_FROM,
            settings.ORDER_MANAGERS, fail_silently=False)

        # send email to customer
        subject, _from, _to = CUSTOMER_SUBJECT, settings.DEFAULT_FROM, order.email
        text_content = CUSTOMER_MESSAGE_PLAIN % (
            product.author,
            product.name,
            product.price
        )
        html_content = CUSTOMER_MESSAGE_HTML % (
            product.author,
            product.name,
            product.price
        )
        msg = EmailMultiAlternatives(subject, text_content, _from, [_to])
        msg.attach_alternative(html_content, "text/html")
        msg.send()

        return HttpResponse(json.dumps({'message': ORDER_POPUP_MESSAGE}),
            mimetype="application/json")

    data = {
        'form': form,
        'product': product,
        'category': category
    }
    return render(request, 'book-order.html', data)
Example #31
0
def add_order(request):

    form = OrderForm(request.POST or None)
    orders = Order.objects.all()

    if form.is_valid():
        order = form.save(commit=False)
        order.save()

        messages.success(request, "Order placed")
        return render(request, 'orders/index.html', {'orders': orders})

    return render(request, 'orders/add_order.html', {'form': form})
Example #32
0
File: views.py Project: Nilla6/BB
    def post(self, request):
        if request.method == "POST":
            form = OrderForm(request.POST)
            publishable = settings.STRIPE_PUBLISHABLE_KEY
            if form.is_valid():
                fname = form.cleaned_data['fname']
                lname = form.cleaned_data['lname']
                email = form.cleaned_data['email']
                address = form.cleaned_data['address']
                address2 = form.cleaned_data['address2']
                postal_code = form.cleaned_data['postal_code']
                city = form.cleaned_data['city']
                state = form.cleaned_data['state']
                country = form.cleaned_data['country']
                try:
                    customer = stripe.Charge.create(
                        amount=499,
                        currency="USD",
                        description=email,
                        card=form.cleaned_data['stripe_id'],
                    )
                    form.save()
                    redirect('confirmation/')
                except:
                    print("Card Declined")

        args = {
            'form': form,
            'fname': fname,
            'lname': lname,
            'email': email,
            'address': address,
            'postal_code': postal_code,
            'city': city,
            'state': state,
            'country': country,
            'publishable': publishable
        }
        return render(request, self.template_name, args)
Example #33
0
def new_order(request):
    if request.method == 'POST':
        orderform = OrderForm(request.POST)
        if orderform.is_valid():
            order = orderform.save(commit=False)
            order.created_by = request.user
            order.save()
            return HttpResponseRedirect(order.get_absolute_url())
    else:
        orderform = OrderForm()
    return render_to_response('orders/new_order.html',
                              {'orderform': orderform,},
                              context_instance=RequestContext(request))
Example #34
0
def orders(request):
    # Register a new user.
    if request.method != 'POST':
        # Display blank registration form.
        form = OrderForm()
    else:
        # Process completed form.
        form = OrderForm(data=request.POST)
        if form.is_valid():
            new_user = form.save()
            return redirect('/pizza')
    context = {'form': form}
    return render(request, 'orders/ordering.html', context)
Example #35
0
def order_page(request):
    form = OrderForm(request.POST)
    if form.is_valid():
        order = form.save(commit=False)
        order.id = request.id
        order.author = request.author
        order.number = request.number
        order.order_price = request.order_price
        order.order_comments = request.order_comments
        order.date_and_time_of_order = timezone.now()
        order.order_status = request.order_status
        order.products_list = request.products_list
        order.client = request.client
        order.save()
    return render(request, "order.html", {'form': form})
Example #36
0
def Checkout(request):

    try:
        carts = myCart.objects.get(user=request.user)
        order1 = Order.objects.get(user=request.user)
        orders = Order.objects.filter(user=request.user).first()
        form = OrderForm(request.POST, instance=order1)

        if form.is_valid():

            cart = myCart.objects.get(user=request.user)
            form.instance.cart = cart
            form.save()

        context = {'form': form, 'cart': carts, 'orders': orders}
        template = "order.html"

        return render(request, template, context)

    except Order.DoesNotExist:

        order = Order.objects.create(user=request.user)
        cart = get_object_or_404(myCart, user=request.user)

        order1 = Order.objects.get(user=request.user)
        form = OrderForm(request.POST, instance=order1)

        if form.is_valid():
            form.save()

        context = {'cart': cart, 'form': form}

        template = "order.html"
        return render(request, template, context)

    return render(request, template, context)
Example #37
0
def new_order(request):
    c = get_client_context(request)
    
    c['map_center'] = '55.76, 37.64'
    c['map_zoom'] = '11'
    
    if request.method == 'GET':
        order_form = OrderForm()
    elif request.method == 'POST':
        order_form = OrderForm(request.POST)
        if order_form.is_valid():
            o = order_form.save(commit=False)
            o.set_created(c['client'])
            messages.success(request, u'Ваш заказ успешно добавлен и ожидает оплаты.')
            return HttpResponseRedirect('/cabinet/history')

    c['order_form'] = order_form
    
    return render_to_response('client/new.html', c, context_instance=RequestContext(request))
Example #38
0
def index(req):

	if req.method == 'POST':
		orderform = OrderForm(req.POST)
		if orderform.is_valid():
			try:
				o = orderform.save()
			except IntegrityError as e:
				messages.error(req, e)
				return HttpResponseRedirect(reverse('orders:index'))

			return HttpResponseRedirect(reverse('orders:detail', args=(o.id,)))
	else:
		orderform = OrderForm()

	return render(req,
		'orders/index.html', {
			'title': 'Coffee Ordering',
			'allorders': Order.objects.all(),
			'orderform': orderform
		}
	)
Example #39
0
def index(request):
    if request.method == 'POST':
        form = OrderForm(request.POST)
        if form.is_valid():
            order = form.save()
            item_ids = request.POST.getlist('items[]')
            for item_id in item_ids:
                item = Item.objects.get(pk=item_id)
                ItemOrder.objects.create(item=item, order=order)
            messages.success(request, "Bestelling succesvol doorgegeven!")
            return HttpResponseRedirect(reverse('index'))
    else:
        form = OrderForm()
    categories = Category.objects.all().prefetch_related('items__discounts')
    total = Item.objects.count()
    n = 0
    cols = [[], []]
    for category in categories:
        cols[0 if n < total/2 else 1].append(category)
        n += category.items.count()
    context = {'cols': cols, 'form': form}
    return render(request, 'orders/index.html', context)