row can be None when updating image viewer

image_viewer.set_sellable will be called every time the selection on the
ObjectList changes. If the selection becomes None (e.g. the search was
refreshed), we should pass None to set_sellable so it will reset the image.

Change-Id: I1bbcc9cd0accd3ba039e0e2af5ebaba0ae4c54a0
Only enable print labels when we have the required info

If we don't have code, barcode, price or description, don't enable print labels
button as it will fail to print the report.

Change-Id: Id1377bb500a8c6ac1aee80cdfac7d72ad37f32b1