Zend certified PHP/Magento developer

How to disable virtual products

We have several clients that keep forgetting to add a weight to their simple products and thus creating virtual products.

This creates problems later on in the checkout where there is no option to enter a shipping address nor to select a shipping method.

We keep telling them how to change them to simple products using the bulk editing, and how to add weight in the first place, but it is a recurring thing. Most of our clients have shops where they will never need virtual products anyway.

So my idea is to “disable” virtual products all together (I didn’t find a way to do that yet).

Or maybe write an observer at “product save” that sets weight to an arbitrary value and has_weight to 1, if there isn’t anything set.

How would you approach this?