mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Auto-fill serial numbers for the SerializeStock form
This commit is contained in:
parent
10762fc1cf
commit
0ccac09962
@ -9,6 +9,9 @@ from django import forms
|
||||
from django.forms.utils import ErrorDict
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from crispy_forms.layout import Field, Layout
|
||||
from crispy_forms.bootstrap import PrependedText
|
||||
|
||||
from mptt.fields import TreeNodeChoiceField
|
||||
|
||||
from InvenTree.helpers import GetExportFormats
|
||||
@ -95,11 +98,29 @@ class SerializeStockForm(HelperForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
# Extract the stock item
|
||||
stock_item = kwargs.pop('item')
|
||||
item = kwargs.pop('item')
|
||||
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
# TODO - Pre-fill the serial numbers!
|
||||
# Pre-calculate what the serial numbers should be!
|
||||
sn = item.part.get_next_serial_number()
|
||||
|
||||
if item.quantity >= 2:
|
||||
sn = "{n}-{m}".format(n=sn, m=int(sn+item.quantity-1))
|
||||
else:
|
||||
sn = str(sn)
|
||||
|
||||
# TODO - Refactor this? Should not have to specify Field('field') for each field...
|
||||
self.helper.layout = Layout(
|
||||
Field('quantity'),
|
||||
Field(PrependedText(
|
||||
'serial_numbers',
|
||||
'#',
|
||||
placeholder=sn
|
||||
)),
|
||||
Field('destination'),
|
||||
Field('note'),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = StockItem
|
||||
|
@ -774,7 +774,16 @@ class StockItemSerialize(AjaxUpdateView):
|
||||
|
||||
item = self.get_object()
|
||||
|
||||
# Pre-calculate what the serial numbers should be!
|
||||
sn = item.part.get_next_serial_number()
|
||||
|
||||
if item.quantity >= 2:
|
||||
sn = "{n}-{m}".format(n=sn, m=int(sn+item.quantity-1))
|
||||
else:
|
||||
sn = str(sn)
|
||||
|
||||
initials['quantity'] = item.quantity
|
||||
initials['serial_numbers'] = sn
|
||||
initials['destination'] = item.location.pk
|
||||
|
||||
return initials
|
||||
|
Loading…
Reference in New Issue
Block a user