Exemple #1
0
def create_order(request, id):
    offer = Offer.objects.get(id=id)

    if request.method == "POST":
        form = CreateOrderForm(request.POST)

        if form.is_valid():
            order_number = request.POST['order_number']
            order = Order()
            order.order_number = order_number
            order.copy_from(offer)

            #Archive the offer
            offer.archived = True
            offer.save()

            return redirect('app.orders.views.order.view', order.id)

    else:
        form = CreateOrderForm()

    return render(request, "offers/create_order.html", {'title': offer.title,
                                                        'next_order_number': Order.calculate_next_order_number(),
                                                        'offer': offer,
                                                        'form': form, })
Exemple #2
0
def create_order(request, id):
    offer = Offer.objects.get(id=id)

    if request.method == "POST":
        form = CreateOrderForm(request.POST)

        if form.is_valid():
            order_number = request.POST['order_number']
            order = Order()
            order.order_number = order_number
            order.copy_from(offer)

            #Archive the offer
            offer.archived = True
            offer.save()

            return redirect('app.orders.views.order.view', order.id)

    else:
        form = CreateOrderForm()

    return render(
        request, "offers/create_order.html", {
            'title': offer.title,
            'next_order_number': Order.calculate_next_order_number(),
            'offer': offer,
            'form': form,
        })
Exemple #3
0
def form(request, id=None):
    products = []

    if id:
        instance = get_object_or_404(Order, id=id)
        products.extend(instance.product_lines.all())
        order_number = instance.order_number
    else:
        instance = Order()
        order_number = Order.calculate_next_order_number()

    if request.method == "POST":
        form = OrderForm(request.POST, instance=instance)
        products = []

        i = 0
        for p in request.POST.getlist('product_number'):
            p = ProductLine()
            p.description = request.POST.getlist('product_description')[i]
            p.price = request.POST.getlist('product_unit_cost')[i]
            p.count = request.POST.getlist('product_qty')[i]
            p.tax = request.POST.getlist('product_tax')[i]

            try:
                p.product = Product.objects.get(
                    id=int(request.POST.getlist('product_number')[i]))
            except Exception, e:
                p.product = None

            products.append(p)

            i += 1

        if form.is_valid():
            o = form.save(commit=False)
            o.save(no_allemployee_group_permissions=True)
            o.update_products(products)

            request.message_success(_("Successfully saved order"))

            return redirect(view, o.id)
Exemple #4
0
def form(request, id=None):
    products = []

    if id:
        instance = get_object_or_404(Order, id=id)
        products.extend(instance.product_lines.all())
        order_number = instance.order_number
    else:
        instance = Order()
        order_number = Order.calculate_next_order_number()

    if request.method == "POST":
        form = OrderForm(request.POST, instance=instance)
        products = []

        i = 0
        for p in request.POST.getlist('product_number'):
            p = ProductLine()
            p.description = request.POST.getlist('product_description')[i]
            p.price = request.POST.getlist('product_unit_cost')[i]
            p.count = request.POST.getlist('product_qty')[i]
            p.tax = request.POST.getlist('product_tax')[i]

            try:
                p.product = Product.objects.get(id=int(request.POST.getlist('product_number')[i]))
            except Exception, e:
                p.product = None

            products.append(p)

            i += 1

        if form.is_valid():
            o = form.save(commit=False)
            o.save(no_allemployee_group_permissions=True)
            o.update_products(products)

            request.message_success(_("Successfully saved order"))

            return redirect(view, o.id)