'Returns true if the user (anonymous user ok) has
a cart with items in it.  (Which means it should be displayed.
If a item_type is passed in, then we check to see if the cart has at least one of
those types of OrderItems'

@classmethod
def user_cart_has_items(cls, user, item_types=None):

    if (not user.is_authenticated()):
        return False
    cart = cls.get_cart_for_user(user)
    if (not item_types):
        return cart.has_items()
    else:
        for item_type in item_types:
            if cart.has_items(item_type):
                return True
    return False
