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)
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)
def create_po(request, product_id=None, order_id=None): po = PurchaseOrder(created_by=request.user) location = request.user.get_location() po.location = location po.save() if order_id is not None: po.sales_order_id = order_id for i in ServiceOrderItem.objects.filter(order_id=order_id): po.add_product(i, amount=1, user=request.user) if product_id is not None: product = Product.objects.get(pk=product_id) po.add_product(product, amount=1, user=request.user) messages.success(request, _("Purchase Order %d created" % po.pk)) return redirect(edit_po, po.pk)
def create_po(request, product_id=None, order_id=None): """ Creates a new Purchase Order """ po = PurchaseOrder(created_by=request.user) po.location = request.user.get_location() po.save() if order_id is not None: po.sales_order = get_object_or_404(Order, pk=order_id) po.save() for i in ServiceOrderItem.objects.filter(order_id=order_id): po.add_product(i, amount=1, user=request.user) if product_id is not None: product = get_object_or_404(Product, pk=product_id) po.add_product(product, amount=1, user=request.user) messages.success(request, _("Purchase Order %d created" % po.pk)) return redirect(edit_po, po.pk)