mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add stock item fields for each item passed to the form
This commit is contained in:
parent
0e3f74ef31
commit
d321947026
@ -61,10 +61,15 @@ class MoveStockItemForm(forms.ModelForm):
|
|||||||
confirm = forms.BooleanField(required=False, initial=False, label='Confirm Stock Movement', help_text='Confirm movement of stock items')
|
confirm = forms.BooleanField(required=False, initial=False, label='Confirm Stock Movement', help_text='Confirm movement of stock items')
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
stock_items = kwargs.pop('stock_items', [])
|
||||||
|
|
||||||
super(MoveStockItemForm, self).__init__(*args, **kwargs)
|
super(MoveStockItemForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
self.fields['location'].choices = self.get_location_choices()
|
self.fields['location'].choices = self.get_location_choices()
|
||||||
|
|
||||||
|
for item in stock_items:
|
||||||
|
self.fields['stock_item_{id}'.format(id=item.id)] = forms.IntegerField(required=True, initial=item.quantity, help_text='Quantity for ' + str(item))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = StockItem
|
model = StockItem
|
||||||
|
|
||||||
|
@ -131,6 +131,7 @@ class StockItemMoveMultiple(AjaxView, FormMixin):
|
|||||||
ajax_template_name = 'stock/stock_move.html'
|
ajax_template_name = 'stock/stock_move.html'
|
||||||
ajax_form_title = 'Move Stock'
|
ajax_form_title = 'Move Stock'
|
||||||
form_class = MoveStockItemForm
|
form_class = MoveStockItemForm
|
||||||
|
items = []
|
||||||
|
|
||||||
def get_items(self, item_list):
|
def get_items(self, item_list):
|
||||||
""" Return list of stock items. """
|
""" Return list of stock items. """
|
||||||
@ -145,20 +146,27 @@ class StockItemMoveMultiple(AjaxView, FormMixin):
|
|||||||
|
|
||||||
return items
|
return items
|
||||||
|
|
||||||
|
def get_form_kwargs(self):
|
||||||
|
|
||||||
|
args = super().get_form_kwargs()
|
||||||
|
|
||||||
|
args['stock_items'] = self.get_items(self.items)
|
||||||
|
|
||||||
|
return args
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
|
||||||
item_list = request.GET.getlist('stock[]')
|
# Save list of items!
|
||||||
|
self.items = request.GET.getlist('stock[]')
|
||||||
|
|
||||||
items = self.get_items(item_list)
|
return self.renderJsonResponse(request, self.get_form())
|
||||||
|
|
||||||
print(items)
|
|
||||||
|
|
||||||
return self.renderJsonResponse(request, self.form_class())
|
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
|
|
||||||
form = self.get_form()
|
form = self.get_form()
|
||||||
|
|
||||||
|
print(request.POST)
|
||||||
|
|
||||||
valid = form.is_valid()
|
valid = form.is_valid()
|
||||||
|
|
||||||
print("Valid:", valid)
|
print("Valid:", valid)
|
||||||
|
Loading…
Reference in New Issue
Block a user