diff --git a/InvenTree/order/forms.py b/InvenTree/order/forms.py index 6f0bc43c46..a5a3ddc0f1 100644 --- a/InvenTree/order/forms.py +++ b/InvenTree/order/forms.py @@ -65,17 +65,6 @@ class CancelSalesOrderForm(HelperForm): ] -class ShipSalesOrderForm(HelperForm): - - confirm = forms.BooleanField(required=True, label=_('Confirm'), help_text=_('Ship order')) - - class Meta: - model = SalesOrder - fields = [ - 'confirm', - ] - - class AllocateSerialsToSalesOrderForm(forms.Form): """ Form for assigning stock to a sales order, diff --git a/InvenTree/order/templates/order/sales_order_ship.html b/InvenTree/order/templates/order/sales_order_ship.html deleted file mode 100644 index 763d3fca57..0000000000 --- a/InvenTree/order/templates/order/sales_order_ship.html +++ /dev/null @@ -1,30 +0,0 @@ -{% extends "modal_form.html" %} - -{% load i18n %} - -{% block pre_form_content %} - -{% if not order.is_fully_allocated %} -
-

{% trans "Warning" %}

- {% trans "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." %} -
- {% trans "Ensure that the order allocation is correct before shipping the order." %} -
-{% endif %} - -{% if order.is_over_allocated %} -
- {% trans "Some line items in this order have been over-allocated" %} -
- {% trans "Ensure that this is correct before shipping the order." %} -
-{% endif %} - -
- {% trans "Sales Order" %} {{ order.reference }} - {{ order.customer.name }} -
- {% trans "Shipping this order means that the order will no longer be editable." %} -
- -{% endblock %} \ No newline at end of file diff --git a/InvenTree/order/urls.py b/InvenTree/order/urls.py index afc689cc23..8cf472e0ae 100644 --- a/InvenTree/order/urls.py +++ b/InvenTree/order/urls.py @@ -35,7 +35,6 @@ purchase_order_urls = [ sales_order_detail_urls = [ url(r'^cancel/', views.SalesOrderCancel.as_view(), name='so-cancel'), - url(r'^ship/', views.SalesOrderShip.as_view(), name='so-ship'), url(r'^export/', views.SalesOrderExport.as_view(), name='so-export'), url(r'^.*$', views.SalesOrderDetail.as_view(), name='so-detail'), diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index 8aea60f694..2c3e125dc0 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -213,48 +213,6 @@ class PurchaseOrderComplete(AjaxUpdateView): } -class SalesOrderShip(AjaxUpdateView): - """ View for 'shipping' a SalesOrder """ - form_class = order_forms.ShipSalesOrderForm - model = SalesOrder - context_object_name = 'order' - ajax_template_name = 'order/sales_order_ship.html' - ajax_form_title = _('Ship Order') - - def post(self, request, *args, **kwargs): - - self.request = request - - order = self.get_object() - self.object = order - - form = self.get_form() - - confirm = str2bool(request.POST.get('confirm', False)) - - valid = False - - if not confirm: - form.add_error('confirm', _('Confirm order shipment')) - else: - valid = True - - if valid: - if not order.ship_order(request.user): - form.add_error(None, _('Could not ship order')) - valid = False - - data = { - 'form_valid': valid, - } - - context = self.get_context_data() - - context['order'] = order - - return self.renderJsonResponse(request, form, data, context) - - class PurchaseOrderUpload(FileManagementFormView): ''' PurchaseOrder: Upload file, match to fields and parts (using multi-Step form) ''' @@ -834,6 +792,9 @@ class OrderParts(AjaxView): order.add_line_item(supplier_part, quantity, purchase_price=purchase_price) + +#### TODO: This class MUST be converted to the API forms! +#### TODO: We MUST select the shipment class SalesOrderAssignSerials(AjaxView, FormMixin): """ View for assigning stock items to a sales order,