mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-15 19:45:46 +00:00
Add ability to edit and delete a purchase order line item
This commit is contained in:
@ -49,3 +49,4 @@ class EditPurchaseOrderLineItemForm(HelperForm):
|
|||||||
'reference',
|
'reference',
|
||||||
'notes',
|
'notes',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
5
InvenTree/order/templates/order/po_lineitem_delete.html
Normal file
5
InvenTree/order/templates/order/po_lineitem_delete.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{% extends "modal_delete_form.html" %}
|
||||||
|
|
||||||
|
{% block pre_form_content %}
|
||||||
|
Are you sure you wish to delete this line item?
|
||||||
|
{% endblock %}
|
@ -110,10 +110,10 @@ InvenTree | {{ order }}
|
|||||||
<td>
|
<td>
|
||||||
<div class='btn-group'>
|
<div class='btn-group'>
|
||||||
<button class='btn btn-default btn-edit' id='edit-line-item-{{ line.id }} title='Edit line item' onclick='editPurchaseOrderLineItem()'>
|
<button class='btn btn-default btn-edit' id='edit-line-item-{{ line.id }} title='Edit line item' onclick='editPurchaseOrderLineItem()'>
|
||||||
<span line='{{ line.id }}' class='glyphicon glyphicon-small glyphicon-edit'></span>
|
<span url="{% url 'po-line-item-edit' line.id %}" line='{{ line.id }}' class='glyphicon glyphicon-small glyphicon-edit'></span>
|
||||||
</button>
|
</button>
|
||||||
<button class='btn btn-default btn-remove' id='remove-line-item-{{ line.id }' title='Remove line item' type='button' onclick='removePurchaseOrderLineItem()'>
|
<button class='btn btn-default btn-remove' id='remove-line-item-{{ line.id }' title='Remove line item' type='button' onclick='removePurchaseOrderLineItem()'>
|
||||||
<span line='{{ line.id }}' class='glyphicon glyphicon-small glyphicon-remove'></span>
|
<span url="{% url 'po-line-item-delete' line.id %}" line='{{ line.id }}' class='glyphicon glyphicon-small glyphicon-remove'></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -17,9 +17,17 @@ purchase_order_detail_urls = [
|
|||||||
url(r'^.*$', views.PurchaseOrderDetail.as_view(), name='purchase-order-detail'),
|
url(r'^.*$', views.PurchaseOrderDetail.as_view(), name='purchase-order-detail'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
po_line_item_detail_urls = [
|
||||||
|
|
||||||
|
url(r'^edit/', views.POLineItemEdit.as_view(), name='po-line-item-edit'),
|
||||||
|
url(r'^delete/', views.POLineItemDelete.as_view(), name='po-line-item-delete'),
|
||||||
|
]
|
||||||
|
|
||||||
po_line_urls = [
|
po_line_urls = [
|
||||||
|
|
||||||
url(r'^new/', views.POLineItemCreate.as_view(), name='po-line-item-create'),
|
url(r'^new/', views.POLineItemCreate.as_view(), name='po-line-item-create'),
|
||||||
|
|
||||||
|
url(r'^(?P<pk>\d+)/', include(po_line_item_detail_urls)),
|
||||||
]
|
]
|
||||||
|
|
||||||
purchase_order_urls = [
|
purchase_order_urls = [
|
||||||
|
@ -19,7 +19,7 @@ from part.models import Part
|
|||||||
|
|
||||||
from . import forms as order_forms
|
from . import forms as order_forms
|
||||||
|
|
||||||
from InvenTree.views import AjaxView, AjaxCreateView, AjaxUpdateView
|
from InvenTree.views import AjaxView, AjaxCreateView, AjaxUpdateView, AjaxDeleteView
|
||||||
from InvenTree.helpers import str2bool
|
from InvenTree.helpers import str2bool
|
||||||
|
|
||||||
from InvenTree.status_codes import OrderStatus
|
from InvenTree.status_codes import OrderStatus
|
||||||
@ -539,8 +539,32 @@ class POLineItemCreate(AjaxCreateView):
|
|||||||
|
|
||||||
|
|
||||||
class POLineItemEdit(AjaxUpdateView):
|
class POLineItemEdit(AjaxUpdateView):
|
||||||
|
""" View for editing a PurchaseOrderLineItem object in a modal form.
|
||||||
|
"""
|
||||||
|
|
||||||
model = PurchaseOrderLineItem
|
model = PurchaseOrderLineItem
|
||||||
form_class = order_forms.EditPurchaseOrderLineItemForm
|
form_class = order_forms.EditPurchaseOrderLineItemForm
|
||||||
ajax_template_name = 'modal_form.html'
|
ajax_template_name = 'modal_form.html'
|
||||||
ajax_form_action = 'Edit Line Item'
|
ajax_form_title = 'Edit Line Item'
|
||||||
|
|
||||||
|
def get_form(self):
|
||||||
|
form = super().get_form()
|
||||||
|
|
||||||
|
# Prevent user from editing order once line item is assigned
|
||||||
|
form.fields.pop('order')
|
||||||
|
|
||||||
|
return form
|
||||||
|
|
||||||
|
|
||||||
|
class POLineItemDelete(AjaxDeleteView):
|
||||||
|
""" View for deleting a PurchaseOrderLineItem object in a modal form
|
||||||
|
"""
|
||||||
|
|
||||||
|
model = PurchaseOrderLineItem
|
||||||
|
ajax_form_title = 'Delete Line Item'
|
||||||
|
ajax_template_name = 'order/po_lineitem_delete.html'
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
return {
|
||||||
|
'danger': 'Deleted line item',
|
||||||
|
}
|
@ -66,4 +66,36 @@ function newPurchaseOrderFromOrderWizard(e) {
|
|||||||
$('#modal-form').find(dropdown).append(option).trigger('change');
|
$('#modal-form').find(dropdown).append(option).trigger('change');
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function editPurchaseOrderLineItem(e) {
|
||||||
|
|
||||||
|
/* Edit a purchase order line item in a modal form.
|
||||||
|
*/
|
||||||
|
|
||||||
|
e = e || window.event;
|
||||||
|
|
||||||
|
var src = e.target || e.srcElement;
|
||||||
|
|
||||||
|
var url = $(src).attr('url');
|
||||||
|
|
||||||
|
launchModalForm(url, {
|
||||||
|
reload: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function removePurchaseOrderLineItem(e) {
|
||||||
|
|
||||||
|
/* Delete a purchase order line item in a modal form
|
||||||
|
*/
|
||||||
|
|
||||||
|
e = e || window.event;
|
||||||
|
|
||||||
|
var src = e.target || e.srcElement;
|
||||||
|
|
||||||
|
var url = $(src).attr('url');
|
||||||
|
|
||||||
|
launchModalForm(url, {
|
||||||
|
reload: true,
|
||||||
|
});
|
||||||
}
|
}
|
Reference in New Issue
Block a user