'Returns the location where the product has to be put, if any compliant putaway strategy is found. Otherwise returns None.'

def get_putaway_strategy(self, product):

    current_location = self
    putaway_location = self.env['stock.location']
    while (current_location and (not putaway_location)):
        if current_location.putaway_strategy_id:
            putaway_location = current_location.putaway_strategy_id.putaway_apply(product)
        current_location = current_location.location_id
    return putaway_location
