Pack boxes returns invalid product list

Invalid products is defined by private assign_products method
Assign products seperates products into valid and invalid products(with
error messages)