stock location is never used, creates additional stock items

Change-Id: I467c0bd8f8ea8c023f850b392f28b3147cb64290
pass the product to add as a variable

Change-Id: I683de61057a82e77a5ba07478bb3a367d263f197
only run part validation if order contains an assembly

Change-Id: I6c547e7e3cefe27a171dcf3eb35b75b593839939
add order validation

validates that there is enough stock to supply all variants
fixes an issue where you could order an assembly and a part, and it
would allow you to purchase more than was in stock.

Change-Id: I75d085d5a844cffa333c9622b3dd006790abe7b0