Exemple #1
0
def edit_po(request, pk, item_id=None):
    if pk is not None:
        po = get_object_or_404(PurchaseOrder, pk=pk)
    else:
        po = PurchaseOrder(created_by=request.user)

    PurchaseOrderForm = modelform_factory(PurchaseOrder, exclude=[])
    form = PurchaseOrderForm(instance=po)

    ItemFormset = inlineformset_factory(
        PurchaseOrder,
        PurchaseOrderItem,
        extra=0,
        form=PurchaseOrderItemEditForm,
        exclude=[]
    )

    formset = ItemFormset(instance=po)

    if request.method == "POST":

        form = PurchaseOrderForm(request.POST, instance=po)

        if form.is_valid():

            po = form.save()
            formset = ItemFormset(request.POST, instance=po)

            if formset.is_valid():

                formset.save()
                msg = _("Purchase Order %d saved" % po.pk)

                if "confirm" in request.POST.keys():
                    po.submit(request.user)
                    msg = _("Purchase Order %d submitted") % po.pk

                messages.success(request, msg)
                return redirect(list_pos)

    request.session['current_po'] = po.pk

    data = {'order': po, 'form': form}
    data['formset'] = formset
    data['title'] = _('Purchase Order #%d' % po.pk)

    return render(request, "purchases/edit_po.html", data)
Exemple #2
0
def edit_po(request, pk, item_id=None):
    if pk is not None:
        po = get_object_or_404(PurchaseOrder, pk=pk)
    else:
        po = PurchaseOrder(created_by=request.user)

    PurchaseOrderForm = modelform_factory(PurchaseOrder, exclude=[])
    form = PurchaseOrderForm(instance=po)

    ItemFormset = inlineformset_factory(PurchaseOrder,
                                        PurchaseOrderItem,
                                        extra=0,
                                        form=PurchaseOrderItemEditForm,
                                        exclude=[])

    formset = ItemFormset(instance=po)

    if request.method == "POST":

        form = PurchaseOrderForm(request.POST, instance=po)

        if form.is_valid():

            po = form.save()
            formset = ItemFormset(request.POST, instance=po)

            if formset.is_valid():

                formset.save()
                msg = _("Purchase Order %d saved" % po.pk)

                if "confirm" in request.POST.keys():
                    po.submit(request.user)
                    msg = _("Purchase Order %d submitted") % po.pk

                messages.success(request, msg)
                return redirect(list_pos)

    request.session['current_po'] = po.pk

    data = {'order': po, 'form': form}
    data['formset'] = formset
    data['title'] = _('Purchase Order #%d' % po.pk)

    return render(request, "purchases/edit_po.html", data)