2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-16 12:05:53 +00:00

Ability to 'issue' a purchase order

This commit is contained in:
Oliver Walters
2019-06-10 22:14:23 +10:00
parent 9efdd836f4
commit ec669dd670
5 changed files with 61 additions and 3 deletions

View File

@ -15,6 +15,7 @@ from company.models import SupplierPart
from . import forms as order_forms
from InvenTree.views import AjaxCreateView, AjaxUpdateView
from InvenTree.helpers import str2bool
from InvenTree.status_codes import OrderStatus
@ -100,6 +101,30 @@ class PurchaseOrderIssue(AjaxUpdateView):
ajax_template_name = "order/order_issue.html"
form_class = order_forms.IssuePurchaseOrderForm
def post(self, request, *args, **kwargs):
""" Mark the purchase order as 'PLACED' """
order = self.get_object()
form = self.get_form()
confirm = str2bool(request.POST.get('confirm', False))
valid = False
if not confirm:
form.errors['confirm'] = [_('Confirm order placement')]
else:
valid = True
data = {
'form_valid': valid,
}
if valid:
order.issue_order()
return self.renderJsonResponse(request, form, data)
class POLineItemCreate(AjaxCreateView):
""" AJAX view for creating a new PurchaseOrderLineItem object