mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-17 20:45:44 +00:00
New Form and View to create a new BuildItem object
- Allocates stock to a build
This commit is contained in:
@ -7,7 +7,7 @@ from __future__ import unicode_literals
|
||||
|
||||
from InvenTree.forms import HelperForm
|
||||
|
||||
from .models import Build
|
||||
from .models import Build, BuildItem
|
||||
|
||||
|
||||
class EditBuildForm(HelperForm):
|
||||
@ -26,3 +26,15 @@ class EditBuildForm(HelperForm):
|
||||
'status',
|
||||
# 'completion_date',
|
||||
]
|
||||
|
||||
|
||||
class EditBuildItemForm(HelperForm):
|
||||
""" Form for adding a new BuildItem to a Build """
|
||||
|
||||
class Meta:
|
||||
model = BuildItem
|
||||
fields = [
|
||||
'build',
|
||||
'stock_item',
|
||||
'quantity',
|
||||
]
|
||||
|
@ -28,6 +28,7 @@
|
||||
{
|
||||
build: {{ build.pk }},
|
||||
part: {{ build.part.pk }},
|
||||
new_item_url: "{% url 'build-item-create' %}",
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -6,6 +6,10 @@ from django.conf.urls import url, include
|
||||
|
||||
from . import views
|
||||
|
||||
build_item_urls = [
|
||||
url('^new/', views.BuildItemCreate.as_view(), name='build-item-create'),
|
||||
]
|
||||
|
||||
build_detail_urls = [
|
||||
url(r'^edit/?', views.BuildUpdate.as_view(), name='build-edit'),
|
||||
url(r'^allocate/?', views.BuildAllocate.as_view(), name='build-allocate'),
|
||||
@ -15,7 +19,9 @@ build_detail_urls = [
|
||||
]
|
||||
|
||||
build_urls = [
|
||||
url(r'new/?', views.BuildCreate.as_view(), name='build-create'),
|
||||
url(r'item/', include(build_item_urls)),
|
||||
|
||||
url(r'new/', views.BuildCreate.as_view(), name='build-create'),
|
||||
|
||||
url(r'^(?P<pk>\d+)/', include(build_detail_urls)),
|
||||
|
||||
|
@ -10,8 +10,8 @@ from django.shortcuts import get_object_or_404
|
||||
from django.views.generic import DetailView, ListView
|
||||
|
||||
from part.models import Part
|
||||
from .models import Build
|
||||
from .forms import EditBuildForm
|
||||
from .models import Build, BuildItem
|
||||
from .forms import EditBuildForm, EditBuildItemForm
|
||||
|
||||
from InvenTree.views import AjaxView, AjaxUpdateView, AjaxCreateView
|
||||
|
||||
@ -127,3 +127,30 @@ class BuildUpdate(AjaxUpdateView):
|
||||
return {
|
||||
'info': 'Edited build',
|
||||
}
|
||||
|
||||
|
||||
class BuildItemCreate(AjaxCreateView):
|
||||
""" View for allocating a new part to a build """
|
||||
|
||||
model = BuildItem
|
||||
form_class = EditBuildItemForm
|
||||
ajax_template_name = 'modal_form.html'
|
||||
ajax_form_title = 'Allocate new Part'
|
||||
|
||||
def get_initial(self):
|
||||
""" Provide initial data for BomItem. Look for the folllowing in the GET data:
|
||||
|
||||
- build: pk of the Build object
|
||||
"""
|
||||
|
||||
initials = super(AjaxCreateView, self).get_initial().copy()
|
||||
|
||||
build_id = self.get_param('build')
|
||||
|
||||
if build_id:
|
||||
try:
|
||||
initials['build'] = Build.objects.get(pk=build_id)
|
||||
except Build.DoesNotExist:
|
||||
pass
|
||||
|
||||
return initials
|
Reference in New Issue
Block a user