2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-09-13 06:01:35 +00:00

Refactor BuildOrderEdit form

This commit is contained in:
Oliver
2021-07-08 23:57:42 +10:00
parent 0599fbaf26
commit 245c04367b
7 changed files with 45 additions and 49 deletions

View File

@@ -75,9 +75,11 @@ class BuildSerializer(InvenTreeModelSerializer):
'pk',
'url',
'title',
'batch',
'creation_date',
'completed',
'completion_date',
'destination',
'part',
'part_detail',
'overdue',
@@ -87,6 +89,7 @@ class BuildSerializer(InvenTreeModelSerializer):
'status',
'status_text',
'target_date',
'take_from',
'notes',
'link',
'issued_by',

View File

@@ -196,10 +196,26 @@ src="{% static 'img/blank_image.png' %}"
});
$("#build-edit").click(function () {
launchModalForm("{% url 'build-edit' build.id %}",
{
reload: true
});
constructForm('{% url "api-build-detail" build.pk %}', {
fields: {
reference: {
prefix: "{% settings_value 'BUILDORDER_REFERENCE_PREFIX' %}",
},
title: {},
part: {},
quantity: {},
batch: {},
target_date: {},
take_from: {},
destination: {},
link: {},
issued_by: {},
responsible: {},
},
title: '{% trans "Edit Build Order" %}',
reload: true,
});
});
$("#build-cancel").click(function() {

View File

@@ -7,7 +7,6 @@ from django.conf.urls import url, include
from . import views
build_detail_urls = [
url(r'^edit/', views.BuildUpdate.as_view(), name='build-edit'),
url(r'^allocate/', views.BuildAllocate.as_view(), name='build-allocate'),
url(r'^cancel/', views.BuildCancel.as_view(), name='build-cancel'),
url(r'^delete/', views.BuildDelete.as_view(), name='build-delete'),

View File

@@ -744,49 +744,6 @@ class BuildCreate(AjaxCreateView):
pass
class BuildUpdate(AjaxUpdateView):
""" View for editing a Build object """
model = Build
form_class = forms.EditBuildForm
context_object_name = 'build'
ajax_form_title = _('Edit Build Order Details')
ajax_template_name = 'modal_form.html'
def get_form(self):
form = super().get_form()
build = self.get_object()
# Fields which are included in the form, but hidden
hidden = [
'parent',
'sales_order',
]
if build.is_complete:
# Fields which cannot be edited once the build has been completed
hidden += [
'part',
'quantity',
'batch',
'take_from',
'destination',
]
for field in hidden:
form.fields[field].widget = HiddenInput()
return form
def get_data(self):
return {
'info': _('Edited build'),
}
class BuildDelete(AjaxDeleteView):
""" View to delete a build """